Delen via


Beleidgestuurde kaders aannemen

Voordat u beleidsregels gebruikt, moet u weten waar ze worden gebruikt in de referentie-implementaties van de Azure-landingszone en waarom. Dit artikel helpt u te begrijpen of u wilt voorkomen dat DeployIfNotExists (DINE)- of wijzigingsbeleid wijzigingen aanbrengt in uw Azure-omgeving.

Waarom DINE gebruiken en beleid wijzigen?

DINE en Modify-beleid maken deel uit van de referentie-implementaties van de Azure-landingszone. Ze helpen u en uw organisatie ervoor te zorgen dat uw landingszones, ook wel abonnementen genoemd, en de resources binnen deze zones compatibel zijn. Deze beleidsregels verwijderen ook de operationele last voor platform- en landingszoneteams wanneer uw Azure-omgeving wordt geschaald.

Denk bijvoorbeeld aan een scenario waarin een nieuw landingszoneabonnement wordt ingericht en in de beheergroep 'corp' wordt geplaatst. DINE en Modify-beleid voeren vervolgens de volgende acties uit voor het abonnement op de landingszone:

  • Schakel Microsoft Defender voor Cloud in. Configureer Defender for Cloud-exports naar de centrale Log Analytics-werkruimte in het beheerabonnement.
  • Schakel Defender voor Cloud in voor de verschillende ondersteunde aanbiedingen op basis van de beleidsparameters die zijn geconfigureerd voor de beleidstoewijzing.
  • Configureer de Azure-activiteitenlogboeken die moeten worden verzonden naar de centrale Log Analytics-werkruimte in het beheerabonnement.
  • Configureer de diagnostische instellingen voor alle resources die moeten worden verzonden naar de centrale Log Analytics-werkruimte in het beheerabonnement.
  • Implementeer de vereiste Azure Monitor-agents voor virtuele machines en Virtuele-machineschaalsets van Azure, inclusief met Azure Arc verbonden servers. Verbind ze met de centrale Log Analytics-werkruimte in het beheerabonnement.

Notitie

U kunt de voorgaande opties op elk gewenst moment of tijdens de implementatie van de referentie-implementaties van de Azure-landingszone uitschakelen.

In de voorgaande lijst ziet u een subset van alle beleidsregels die zijn toegewezen als onderdeel van de Azure-landingszoneversneller. Zie voor een volledige lijst van beleidsregels die kunnen worden toegewezen door de referentie-implementatie van Azure-landingszones, Beleidsregels die zijn opgenomen in Azure-landingszones referentie-implementaties.

De Azure-landingszones bicep-opslagplaats is modulair. De bovenstaande standaardbeleidsregels kunnen worden geïmplementeerd met de module ALZ-standaardbeleidstoewijzingen.

Alle toegewezen beleidsregels helpen u en de eigenaren van de landingszone compatibel te blijven. Er worden geen werkelijke workloadresources geïmplementeerd via DINE of Beleid wijzigen. We raden dit ook niet aan. Zie Moeten we Azure Policy gebruiken voor het implementeren van workloads voor meer informatie?. Alleen hulp- of ondersteunende resources of instellingen worden geïmplementeerd of geconfigureerd door dit DINE-beleid.

De Azure-landingszones verwijzen naar implementaties die gebruikmaken van DINE Azure-beleid om u te helpen beleidgestuurde governance binnen uw Azure-omgeving te bereiken. Maar misschien kunt u de DINE- of wijzigingsbeleid niet gebruiken of bent u nog niet klaar om dit type Azure-beleidseffect in te schakelen vanwege:

  • Nalevingsbeleid voor regelgeving, standaarden of wettelijke beperkingen.
  • Strikte processen voor wijzigingsbeheer waarvoor menselijke goedkeuring is vereist voor elke actie in uw Azure-omgeving.
  • Gebrek aan expertise, ervaring en begrip van het beheren en gebruiken van DINE-beleid.
  • Organisatievereisten bepalen dat alle workloadresourceconfiguraties, inclusief hulpmiddelen, ondersteunende resources en instellingen, door de workload applicatieteams worden gedefinieerd in infrastructuur als code (IaC).

Als u in de voorgaande voorbeelden of vergelijkbare scenario's past, helpt dit artikel u te begrijpen hoe u de conceptuele architectuur van de Azure-landingszone kunt adopteren en hoe u kunt voldoen aan de ontwerpprincipes. Hoewel u in eerste instantie geen bepaald beleid gaat gebruiken, kunt u ervoor kiezen om ze in de toekomst geleidelijk in te schakelen. Het doel is om u te helpen op beleid gebaseerde governancete bereiken.

Belangrijk

In dit artikel ziet u twee mogelijke waarden die worden gebruikt voor de termen voor de afdwingingsmodus:

  • Uitgeschakeld of Niet-Handhaven
  • Ingeschakeld of standaard

Azure Portal maakt gebruik van Uitgeschakeld en Ingeschakeld voor de afdwingingsmodus. Arm-sjablonen (Azure Resource Manager) en andere API-interfaces gebruiken DoNotEnforce en Default voor dezelfde opties.

Zie afdwingingsmodusvoor meer informatie.

Als u nog steeds zeker weet dat uw organisatie geen DINE- of Wijzigingsbeleid kan gebruiken, wordt in dit artikel uitgelegd hoe u kunt voorkomen dat (ook wel bekend als uitschakelen) het beleid automatische wijzigingen aanbrengt in uw Azure-omgeving.

Notitie

Deze bewerking is niet permanent. Het beleid kan op elk gewenst moment opnieuw worden ingeschakeld door een lid van uw platformteam, als u later besluit om DINE of Modify-beleid te gebruiken.

Zie fase 2 en fase 3voor meer informatie.

Ondersteuning voor Resource Selectors is ook van toepassing op beleid-gestuurde governance om ervoor te zorgen dat SDP (Veilige Uitrolpraktijken) wordt nageleefd. Resource-selectors bieden de functionaliteit van geleidelijke implementatie van beleidstoewijzingen op basis van factoren zoals de locatie van de resource, het type resource, of de resource een locatie heeft. Meer vindt u in dit document.

Overzicht van benadering

In het volgende diagram ziet u een overzicht van de voorgestelde gefaseerde benadering:

Graphic met een overzicht van DINE-fasen.

  1. Stel de afdwingingsmodus in op DoNotEnforce voor beleidstoewijzingen:
    • Door deze functie te gebruiken, kunt u het gedrag van de toewijzingen wijzigen, zodat ze effectief een controle-alleen-beleid worden, zonder de onderliggende beleidsdefinitie te veranderen.
    • Met deze methode kunt u ook handmatige hersteltaken uitvoeren op niet-compatibele resources met behulp van hersteltaken desgewenst.
  2. Stel de afdwingingsmodus in op Default voor beleidstoewijzingen om de automatische herstel-van DINE-beleidstoewijzingen te heractiveren op een beperkte scope:
    • U kunt ervoor kiezen om een volledige omgeving te gebruiken, bijvoorbeeld de sandbox-beheergroep.
    • U kunt ook een niet-kritieke workload-abonnement gebruiken.
  3. Stel de afdwingingsmodus in op Default voor beleidstoewijzingen voor de resterende DINE-beleidsregels in de hele Azure-omgeving.

Vanwege nalevingsbeperkingen voor regelgeving kunnen sommige klanten nooit verdergaan dan fase 1. Dit is geen probleem en wordt ondersteund om zo nodig in deze status te blijven. Andere klanten kunnen verder gaan met fase 2 en 3 om volledig gebruik te maken van DINE en Modify-beleid om te helpen bij beleidgestuurde governance voor hun Azure-omgeving.

Notitie

Het scenario en de benadering die in dit artikel worden beschreven, is niet bedoeld voor of aanbevolen voor het merendeel van de klanten. Bekijk de sectie Waarom DINE gebruiken en beleid wijzigen? voordat u besluit of deze beleidsregels geschikt en vereist zijn voor uw omgeving.

Fase 1: Schakel de geautomatiseerde acties van DINE uit en wijzig het beleid

Wanneer u een beleid toewijst, is standaard het effect dat in de beleidsdefinitie is gedefinieerd, van toepassing. U wordt aangeraden de beleidsdefinitie te laten zoals dat is. Laat bijvoorbeeld het effect van de beleidstoewijzing op DeployIfNotExists.

In plaats van de beleidsdefinitie of het effect ervan te wijzigen, kunt u dit gedrag met minimale inspanning beïnvloeden met behulp van de functie voor beleidstoewijzingen.

Azure Portal gebruiken om de afdwingingsmodus in te stellen op Uitgeschakeld

In deze schermopname ziet u hoe u de Azure-portal gebruikt om de afdwingingsmodus in te stellen op uitgeschakeld voor een beleidstoewijzing. Uitgeschakeld wordt ook wel DoNotEnforce genoemd.

de afdwingingsmodus instellen op Uitgeschakeld in Azure Portal.

De ARM-sjabloon gebruiken om de afdwingingsmodus in te stellen op DoNotEnforce

In dit codevoorbeeld ziet u hoe u een ARM-sjabloon gebruikt om enforcementMode in te stellen op DoNotEnforce voor een beleidstoewijzing. DoNotEnforce wordt ook wel Disabledgenoemd.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "DoNotEnforce"
    … // other properties removed for display purposes
  }
}

Met behulp van de afdwingingsmodus, kunt u het effect zien van een beleid op bestaande resources zonder dat u deze initieert of vermeldingen activeert in het Azure-activiteitenlogboek. Dit scenario wordt meestal 'What If' genoemd en is afgestemd op veilige implementatieprocedures.

Zelfs wanneer de afdwingingsmodus is ingesteld op DoNotEnforce, kunnen hersteltaken handmatig worden geactiveerd. U kunt specifieke niet-conforme middelen herstellen. U kunt ook zien wat het beleid DINE of Modify zou hebben gedaan als de afdwingingsmodus was ingesteld op Default.

Belangrijk

Wanneer de afdwingingsmodus is ingesteld op DoNotEnforce, worden vermeldingen in het Azure-activiteitenlogboek niet gegenereerd. Houd rekening met deze factor als u een melding wilt ontvangen wanneer er een niet-compatibele resource wordt gemaakt.

Blijf permanent in fase 1

Zoals vermeld in de sectie Benaderingsoverzicht, kunnen sommige klanten gedurende een lange periode of zelfs permanent in fase 1 blijven vanwege hun vereisten. Deze status is geldig en klanten kunnen er voor elke tijd in blijven.

Misschien moet u in deze toestand blijven, permanent of gedurende een lange periode, zoals meerdere jaren. Als dit het geval is, is het misschien beter voor u om het effect van het beleid AuditIfNotExists (AINE) en de bijbehorende definities te gebruiken en de afdwingingsmodus weer in te stellen op Default.

Notitie

Als u overschakelt naar het gebruik van een AINE-beleid en de afdwingingsmodus instelt op Default, bereikt u nog steeds hetzelfde doel om DINE uit te schakelen.

Wanneer u overstapt van DINE naar AINE en de afdwingingsmodus weer instelt op Default als een langetermijn- of permanente benadering voor fase 1, krijgt u de vermeldingen in het Azure-activiteitenlogboek terug voor beleidsnalevingsstatussen. U kunt automatiseringswerkstromen bouwen op basis van deze logboekvermeldingen in uw algemene platformbeheerbewerkingen.

U verliest de mogelijkheid om handmatige hersteltaken uit te voeren. In tegenstelling tot DINE-beleidsregels voeren AINE-beleidsregels geen implementaties uit, zowel geautomatiseerd als handmatig.

Vergeet niet de beleidsdefinitie bij te werken om het effect van de AuditIfNotExists beleidstoewijzing te accepteren en toe te staan.

De volgende tabel bevat een overzicht van de opties en implicaties voor de verschillende typen beleidseffecten en combinaties van afdwingingsmodus:

Beleidseffect Afdwingingsmodus Vermelding van activiteitenlogboek Herstelactie
DINEREN Ingeschakeld of standaard Ja Door het platform geactiveerde remediëring op grote schaal na het aanmaken of bijwerken van middelen. Handmatige creatie van een herstelwerk is vereist als de afhankelijke resource wordt gewijzigd of als deze al bestaat vóór de beleidstoewijzing.
DINEREN Uitgeschakeld of Niet Handhaven Nee Handmatig maken van een hersteltaak vereist.
Modificeren Ingeschakeld of standaard Ja Automatisch herstel tijdens het maken of bijwerken.
Modificeren Uitgeschakeld of Niet Handhaven Nee Het is vereist een hersteltaak handmatig te maken.
Ontkennen Ingeschakeld of standaard Ja Het maken of bijwerken is geweigerd.
Weigeren Uitgeschakeld of Niet afdwingen Nee Het maken of bijwerken is toegestaan. Handmatig herstel vereist.
Controle/AINE Ingeschakeld of standaard Ja Handmatig herstel vereist.
Controle/AINE Uitgeschakeld of DoNotEnforce Nee Handmatig herstel vereist.

Notitie

Bekijk de richtlijnen in Reageren op statuswijzigingsevenementen van Azure Policy om te begrijpen of het gebruik van de Azure Event Grid-integratie met Azure Policy een geschikte aanpak biedt als u van plan bent om uw eigen automatisering te bouwen op basis van beleidsstatus gebeurtenissen.

Fase 2: DINE inschakelen en beleid wijzigen voor een specifiek beleid of een beperkt bereik

In deze fase leert u hoe u de afdwingingsmodus instelt op Default voor beleidstoewijzingen.

Nadat u fase 1hebt voltooid, besluit u dat u de volledige automatiseringsmogelijkheden van DINE en Modify wilt testen en uitproberen voor een specifiek beleid of voor een beperkt bereik. U wilt de sandbox-beheergroep of een niet-productie-workload-abonnement gebruiken.

Als u deze procedure wilt uitvoeren, moet u eerst het beleid of het beperkte bereik identificeren dat wordt gebruikt voor het testen en uitproberen van de volledige automatiseringsmogelijkheden van het beleid DINE en Modify.

Notitie

U kunt een testbenadering voor een-platform op ondernemingsniveau bekijken en implementeren. Op deze manier kunt u beleidsregels en andere platformwijzigingen testen in een gescheiden beheergroephiërarchie binnen dezelfde tenant.

Deze benadering wordt ook wel een 'canary'-implementatie genoemd.

Enkele suggesties voor reikwijdtes en beleidslijnen worden weergegeven in de volgende tabel.

Wanneer u wilt... Kies uit deze opties Voorbeeldbeleid dat moet worden gebruikt
- Test de geautomatiseerde herstelmogelijkheden van DINE/Modify.
- Controleer of uw volledige implementatieprocessen en CI/CD-pijplijnen, inclusief tests, mogelijk worden beïnvloed.
- Controleer hoe uw werkbelasting mogelijk wordt beïnvloed.
- Sandbox-abonnement
- Sandbox-beheergroep
- Abonnement op landingszone voor niet-productieworkloads
- 'canary'-omgeving op bedrijfsniveau
- Configureer Azure-activiteitenlogboeken om te streamen naar een opgegeven Log Analytics-werkruimte.
- Defender for Cloud-configuratie implementeren.
- Schakel Azure Monitor in voor VM's of virtuele machineschaalsets.
- Diagnostische instellingen implementeren in Azure-services.
- Mogelijk alleen inschakelen voor specifieke services binnen het initiatief.

U kunt er ook toe besluiten om een handmatige hersteltaak te gebruiken op een beperkt bereik of een reeks middelen om te testen hoe deze beleidsregels uw omgeving beïnvloeden. Zie de Documentatie van Azure Policy Een hersteltaak makenvoor meer informatie over het maken van een hersteltaak.

Nadat u een beleid of beleid hebt geïdentificeerd en het beperkte bereik om deze toe te wijzen, is de volgende stap het toewijzen van het beleid en het instellen van de afdwingingsmodus op Default. Laat het beleidseffect, bijvoorbeeld DeployIfNotExists of Modify, ongewijzigd binnen het beperkte bereik dat u hebt geselecteerd.

De Azure-portal gebruiken om de afdwingingsmodus in te stellen op Ingeschakeld

In deze schermopname ziet u hoe u de Azure-portal gebruikt om de afdwingingsmodus in te stellen op Ingeschakeld voor een beleidstoewijzing. Ingeschakeld staat ook bekend als Standaard.

Schermopname van het instellen van de afdwingingsmodus op Ingeschakeld in Azure Portal.

Een ARM-sjabloon gebruiken om de afdwingingsmodus in te stellen op Standaard

In dit codevoorbeeld ziet u hoe u een ARM-sjabloon gebruikt om enforcementMode in te stellen op Default voor een beleidstoewijzing. Default wordt ook wel Enabledgenoemd.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "Default"
    … // other properties removed for display purposes
  }
}

Testen

De laatste stap in deze fase is het uitvoeren van de vereiste tests. U wilt controleren of en hoe DINE- of wijzigingsbeleid mogelijk invloed hebben gehad en wijzigingen hebben aangebracht in uw workloads, code, hulpprogramma's en processen.

Voer meerdere tests uit om de volledige levenscyclus van uw workload vast te leggen. U wilt ervoor zorgen dat u volledig begrijpt of en hoe DINE of Modify-beleid wijzigingen heeft aangebracht.

Enkele voorbeelden van testen zijn:

  • Initiële uitrol van de werklast.
  • Code en applicaties implementeren op de workload.
  • Dag 2 operaties en beheer van de werklast.
  • Buiten gebruik stellen van werkbelasting.

Fase 3: DINE inschakelen en beleid overal wijzigen

In deze fase leert u hoe u de afdwingingsmodus instelt op Default voor beleidstoewijzingen.

We gaan ervan uit dat uw testen aan het einde van de fase 2 succesvol zijn geslaagd. Of misschien bent u tevreden dat u nu begrijpt hoe DINE of Modify-beleid communiceert met uw workload. U kunt nu het gebruik van DINE en Modify-beleid uitbreiden in de rest van uw Azure-omgeving.

Als u wilt doorgaan, volgt u de stappen die vergelijkbaar zijn met de stappen in fase 2. Deze keer stelt u de afdwingingsmodus in op Default op alle DINE- en Wijzigingsbeleidstoewijzingen in uw hele Azure-omgeving.

Hier volgt een algemeen overzicht van de stappen die u in deze fase uitvoert:

  • Verwijder toewijzingen die specifiek worden gebruikt voor testen tijdens fase 2.
  • Controleer elke DINE en wijzig de beleidstoewijzing in uw Azure-omgeving en stel de afdwingingsmodus in op Default. Dit proces wordt weergegeven in de voorbeelden in fase 2.
  • Maak hersteltaken voor bestaande resources die niet compatibel zijn door de richtlijnen in Een hersteltaak makente volgen. Nieuwe resources worden automatisch hersteld als ze voldoen aan de beleidsregels en bestaansvoorwaarden.

Hoewel u in fase 3 het beste de afdwingingsmodus instelt op Default voor alle DINE- en Wijzigingsbeleidsregels in uw Azure-omgeving, is deze keuze nog steeds optioneel. U kunt deze keuze per beleid maken om aan uw behoeften en vereisten te voldoen.

Geavanceerd beleidsbeheer

Voor geavanceerd beheer van Azure Policy op schaal kunt u overwegen om Enterprise Policy as Code (EPAC) te implementeren om beleid te beheren. EPAC biedt een beheerervaring met statefulness die gebruikmaakt van IaC. Het past in het algemeen bij grote scenario's voor beleidsbeheer met complexe vereisten.