Azure Policy
Kirjoittakaa ja määrittäkää Azure Policy -määrityksiä, joilla nimeämiskäytännöt, sallitut resurssityypit ja sijaintirajoitukset voidaan pakottaa automaattisesti tilauksen tai resurssiryhmän laajuudessa.
Azure Policy on ilmainen Azure Fundamentals-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Azure Fundamentals-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Azure Fundamentals-kurssilla on yhteensä 4 oppituntia.
Mikä on Azure Policy?
Azure Policy on hallintapalvelu, jonka avulla voitte määrittää, kohdistaa ja hallita sääntöjä eli käytäntömääritelmiä, joilla Azure-resurssien määrityksiä hallitaan tai tarkastetaan. Toisin kuin RBAC, joka hallitsee sitä, kuka voi suorittaa toimintoja, Azure Policy määrittää, millainen resurssin lopullinen määritys saa olla. Sen avulla voitte valvoa organisaation standardeja, kuten nimeämiskäytäntöjä, hyväksyttyjä resurssityyppejä ja vaadittuja suojausmäärityksiä.
Käytäntömääritelmät
Käytäntömääritelmä on JSON-asiakirja, jossa määritetään resurssiin sovellettava ehto ja ehdon täyttyessä käytettävä vaikutus. Azure sisältää satoja valmiita käytäntömääritelmiä yleisiä käyttötapauksia varten. Voitte myös luoda mukautettuja käytäntömääritelmiä, jos valmiit käytännöt eivät vastaa vaatimuksianne. Käytäntömääritelmät ovat uudelleenkäytettäviä objekteja, jotka on määritettävä kohteeseen ennen kuin ne tulevat voimaan.
// Example built-in policy: require a specific tag on all resources
// Policy definition logic (simplified):
{
'if': {
'field': 'tags[Environment]',
'exists': 'false'
},
'then': {
'effect': 'deny'
}
}Käytäntöjen vaikutukset
Käytäntömääritelmän vaikutus määrittää, mitä tapahtuu, kun käytännön ehto täyttyy. Tärkeimpiä vaikutuksia ovat: Deny — estää käytäntöä rikkovan resurssin luomisen tai päivittämisen; Audit — sallii toiminnon, mutta kirjaa varoituksen vaatimustenmukaisuusraporttiin; Append — lisää resurssiin vaaditut kentät, kuten tunnisteet, ennen luomista; Modify — muuttaa olemassa olevan tai uuden resurssin ominaisuutta; DeployIfNotExists — ottaa käyttöön liittyvän resurssin, jos ehto ei täyty, esimerkiksi diagnostiikkalaajennuksen jokaiseen näennäiskoneeseen.
Käytännön määritys
Käytännön määritys kohdistaa käytäntömääritelmän tiettyyn kohteeseen: hallintaryhmään, tilaukseen tai resurssiryhmään. Kaikki kyseisen kohteen ja sen alikohteiden resurssit arvioidaan määritettyä käytäntöä vasten. Määritykset voivat sisältää parametreja. Esimerkiksi sallittuja Azure-alueita rajoittava käytäntö voidaan parametroida niin, että sama käytäntömääritelmä määritetään eri hallintaryhmissä eri alueluetteloilla.
# Assign a built-in policy to restrict allowed locations
az policy assignment create \
--name 'allowed-locations' \
--policy 'e56962a6-4747-49cd-b67b-bf8b01975c4c' \
--scope /subscriptions/<sub-id> \
--params '{"listOfAllowedLocations": {"value": ["eastus", "westeurope"]}}'
# List all policy assignments in a subscription
az policy assignment list \
--scope /subscriptions/<sub-id> \
--output tableAloitemääritelmät (käytäntöjoukot)
Aloitemääritelmä (jota kutsutaan myös käytäntöjoukoksi) kokoaa useita toisiinsa liittyviä käytäntömääritelmiä yhdeksi määritettäväksi paketiksi. Sen sijaan, että määrittäisitte 20 yksittäistä käytäntöä, määritätte yhden aloitteen. Azure sisältää valmiita aloitteita vaatimustenmukaisuuskehyksille, kuten ISO 27001:lle, NIST SP 800-53:lle, Azure Security Benchmarkille ja PCI DSS:lle. Esimerkiksi CIS Microsoft Azure Foundations Benchmark -aloitteen määrittäminen arvioi tilauksenne samanaikaisesti yli 180 suojausvalvonnan perusteella.
# Assign the Azure Security Benchmark initiative
az policy assignment create \
--name 'azure-security-benchmark' \
--policy-set-definition '1f3afdf9-d0c9-4c3d-847f-89da613e70a8' \
--scope /subscriptions/<sub-id>Vaatimustenmukaisuuden raportointi
Kun käytäntö on määritetty, Azure arvioi kaikki kohteen olemassa olevat resurssit ja luo vaatimustenmukaisuusraportin. Raportissa näkyvät yleinen vaatimustenmukaisuusprosentti (vaatimustenmukaiset resurssit / resurssien kokonaismäärä), kunkin resurssin vaatimustenmukaisuustila sekä ne käytännön ehdot, jotka eivät täyttyneet. Voitte suodattaa tuloksia käytäntöaloitteen, kohteen tai resurssityypin mukaan. Vaatimustenvastaiset resurssit näytetään yhdessä täsmällisen rikotun käytäntösäännön kanssa, mikä helpottaa korjaamista.
# Get policy compliance summary
az policy state summarize \
--subscription <sub-id> \
--output json
# List all non-compliant resources
az policy state list \
--filter 'complianceState eq NonCompliant' \
--output tableKorjaustehtävät
Käytännöille, joissa on DeployIfNotExists- tai Modify-vaikutus, Azure voi luoda korjaustehtäviä, joilla olemassa olevat vaatimustenvastaiset resurssit saatetaan vaatimustenmukaisiksi. Esimerkiksi DeployIfNotExists-käytännölle, joka ottaa Log Analytics -agentin käyttöön jokaisessa näennäiskoneessa, voidaan käynnistää korjaustehtävä agentin asentamiseksi kaikkiin olemassa oleviin näennäiskoneisiin, joista se puuttuu. Uudet resurssit korjataan automaattisesti luomisen yhteydessä, mutta olemassa oleville resursseille on käynnistettävä erillinen korjaustehtävä.
# Create a remediation task for existing non-compliant resources
az policy remediation create \
--name 'remediate-vm-logs' \
--policy-assignment 'deploy-vm-log-analytics' \
--resource-group myRGKäytäntöpoikkeukset
Joskus tietyt resurssit on perustellusta syystä jätettävä käytännön ulkopuolelle — esimerkiksi vanha resurssi, jota ei voi muokata, tai muutospyynnössä dokumentoitu hyväksytty poikkeus. Käytäntöpoikkeuksien avulla tietty resurssi tai resurssiryhmä voidaan jättää käytäntömäärittelyn ulkopuolelle poistamatta käytäntöä maailmanlaajuisesti. Poikkeuksille voi määrittää valinnaisen vanhenemispäivän ja luokan (Waiver tai Mitigated), joilla poikkeuksen syy dokumentoidaan.
# Create a policy exemption for a specific resource group
az policy exemption create \
--name 'legacy-rg-exemption' \
--policy-assignment 'allowed-locations' \
--scope /subscriptions/<sub-id>/resourceGroups/legacyRG \
--exemption-category Waiver \
--expires-on '2027-01-01T00:00:00Z' \
--description 'Legacy workload pending migration'DeployIfNotExists: määritykset suuressa mittakaavassa
DeployIfNotExists on yksi tehokkaimmista käytäntövaikutuksista. Kun resurssi luodaan ilman vaadittua liittyvää resurssia, esimerkiksi näennäiskone ilman diagnostiikkalaajennusta, käytäntö käynnistää automaattisesti ARM-mallin käyttöönoton puuttuvan osan lisäämiseksi. Näin Azure Policysta voi tehdä automaattisen määritystenhallintatyökalun: jokaisella näennäiskoneella on aina valvonta-agentit, jokaisella tallennustilillä edistynyt uhkien torjunta ja jokaisessa SQL Database -tietokannassa tarkastus käytössä.
Käytäntöjen yleiset käyttötapaukset
Organisaatiot käyttävät Azure Policyä moniin hallinnan käyttötapauksiin. Sijaintirajoitukset — sallitaan dataresidenssin vuoksi resurssit vain hyväksytyillä Azure-alueilla. Sallitut resurssityypit — estetään kalliiden tai hyväksymättömien palveluiden käyttöönotto. Tunnisteiden pakottaminen — vaaditaan CostCentre- ja Environment-tunnisteet kaikilta resursseilta. SKU-rajoitukset — rajoitetaan näennäiskoneiden koot kustannuksiin sopiviin tasoihin tuotantoon kuulumattomissa tilauksissa. Suojausperustasot — pakotetaan vähintään TLS 1.2:n käyttö, poistetaan julkinen verkkoyhteys tallennustileiltä käytöstä ja vaaditaan yksityisiä päätepisteitä.
Azure Policy ja RBAC
RBAC:n ja Azure Policyn eri roolit on tärkeää ymmärtää. RBAC hallitsee sitä, kuka voi suorittaa toimintoja — se myöntää tai estää toimintoja käyttäjän identiteetin perusteella. Azure Policy hallitsee sitä, millainen resurssin määrityksen on oltava — se arvioi ja valvoo ominaisuuksia toiminnon suorittajasta riippumatta. Hyvin hallitussa ympäristössä tarvitaan molempia: RBAC varmistaa, että vain valtuutetut henkilöt ottavat resursseja käyttöön, ja Azure Policy varmistaa, että resurssit noudattavat määritysstandardeja.
Pikatesti
Testatkaa, miten hyvin hallitsette tällä oppitunnilla käsitellyt Microsoft Azure Fundamentals (AZ-900) -aiheet.
Oppitunnin yhteenveto
Tällä oppitunnilla opitte, että Azure Policy määrittää ehdot ja vaikutukset resurssien määritysten hallitsemiseksi missä tahansa kohteessa, aloitemääritelmät kokoavat useita käytäntöjä yhdeksi määritettäväksi vaatimustenmukaisuuspaketiksi ja DeployIfNotExists mahdollistaa puuttuvien osien määritysten automaattisen valvonnan suuressa mittakaavassa. Seuraavaksi tutustumme resurssitunnisteisiin ja resurssilukituksiin Azure-resurssien suojaamiseksi.
Opi Azure Fundamentals tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Azure Policy” ilmainen?
Kyllä – oppitunnin ”Azure Policy” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Azure Fundamentals-kurssin, päivitä CoddyKit PROhon. Azure Fundamentals-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Azure Policy”?
Kirjoittakaa ja määrittäkää Azure Policy -määrityksiä, joilla nimeämiskäytännöt, sallitut resurssityypit ja sijaintirajoitukset voidaan pakottaa automaattisesti tilauksen tai resurssiryhmän laajuudes… Harjoittelet Azure Fundamentals-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Azure Fundamentals-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Azure Fundamentals-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Azure Policy”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Azure Fundamentals-oppitunnilla?
Kyllä. Jokainen Azure Fundamentals-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Hallintaryhmät ja tilaukset
- Azure Policy
- Resurssitunnisteet ja resurssilukot
- Azure Blueprints ja vaatimustenmukaisuus