Azure Policy-toewijzingsstructuur

Beleidstoewijzingen worden door Azure Policy om te definiëren aan welke resources welk beleid of welke initiatieven worden toegewezen. De beleidstoewijzing kan de waarden van parameters voor die groep resources tijdens de toewijzing bepalen, waardoor beleidsdefinities die zijn gericht op dezelfde resource-eigenschappen met verschillende nalevingsbehoeften, opnieuw kunnen worden gebruikt.

U gebruikt JSON om een beleidstoewijzing te maken. De beleidstoewijzing bevat elementen voor:

  • weergavenaam
  • beschrijving
  • metagegevens
  • afdwingingsmodus
  • uitgesloten scopes
  • beleidsdefinitie
  • niet-nalevingsberichten
  • parameters

De volgende JSON toont bijvoorbeeld een beleidstoewijzing in de DoNotEnforce-modus met dynamische parameters:

{
    "properties": {
        "displayName": "Enforce resource naming rules",
        "description": "Force resource names to begin with DeptA and end with -LC",
        "metadata": {
            "assignedBy": "Cloud Center of Excellence"
        },
        "enforcementMode": "DoNotEnforce",
        "notScopes": [],
        "policyDefinitionId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "nonComplianceMessages": [
            {
                "message": "Resource names must start with 'DeptA' and end with '-LC'."
            }
        ],
        "parameters": {
            "prefix": {
                "value": "DeptA"
            },
            "suffix": {
                "value": "-LC"
            }
        }
    }
}

Alle Azure Policy staan op Azure Policy voorbeelden.

Weergavenaam en beschrijving

U gebruikt displayName en description om de beleidstoewijzing te identificeren en context te bieden voor het gebruik ervan met de specifieke set resources. displayName heeft een maximale lengte van 128 tekens en een beschrijving met een maximale lengte van 512 tekens.

Metagegevens

De metadata optionele eigenschap slaat informatie over de beleidstoewijzing op. Klanten kunnen eigenschappen en waarden definiëren die nuttig zijn voor hun organisatie in metadata . Er worden echter enkele algemene eigenschappen gebruikt door Azure Policy. Elke metadata eigenschap heeft een limiet van 1024 tekens.

Algemene metagegevenseigenschappen

  • assignedBy (tekenreeks): de gebruiksvriendelijke naam van de beveiligingsprincipaal die de toewijzing heeft gemaakt.

  • createdBy (tekenreeks): de GUID van de beveiligingsprincipaal die de toewijzing heeft gemaakt.

  • createdOn (tekenreeks): de Universele ISO 8601-datum/tijd-indeling van de aanmaaktijd van de toewijzing.

  • parameterScopes (object): een verzameling sleutel-waardeparen waarbij de sleutel overeenkomt met een parameternaam die is geconfigureerd voor strongType en de waarde het resourcebereik definieert dat in portal wordt gebruikt om de lijst met beschikbare resources op te geven door te overeenkomen met strongType. De portal stelt deze waarde in als het bereik anders is dan het toewijzingsbereik. Als deze optie is ingesteld, wordt met een bewerking van de beleidstoewijzing in de portal automatisch het bereik voor de parameter ingesteld op deze waarde. Het bereik is echter niet vergrendeld met de waarde en kan worden gewijzigd in een ander bereik.

    Het volgende voorbeeld van is voor een strongType-parameter met de naam parameterScopes backupPolicyId die een bereik voor resourceselectie in stelt wanneer de toewijzing wordt bewerkt in de portal.

    "metadata": {
        "parameterScopes": {
            "backupPolicyId": "/subscriptions/{SubscriptionID}/resourcegroups/{ResourceGroupName}"
        }
    }
    
  • updatedBy (tekenreeks): de gebruiksvriendelijke naam van de beveiligingsprincipaal die de toewijzing heeft bijgewerkt, indien van deze.

  • updatedOn (tekenreeks): de Universele ISO 8601-datum/tijd-indeling van de updatetijd van de toewijzing, indien van groot formaat.

Afdwingingsmodus

De eigenschap enforcementMode biedt klanten de mogelijkheid om het resultaat van een beleid op bestaande resources te testen zonder het beleidseffect te initiëren of vermeldingen in het Azure-activiteitenlogboek te activeren. Dit scenario wordt vaak aangeduid als 'What If' en is afgestemd op veilige implementatiemethoden. enforcementMode wijk af van het effect Uitgeschakeld, omdat dit tot gevolg heeft dat de resource helemaal niet kan worden geëvalueerd.

Deze eigenschap heeft de volgende waarden:

Modus JSON-waarde Type Handmatig herstellen Vermelding van activiteitenlogboek Beschrijving
Ingeschakeld Standaard tekenreeks Ja Ja Het beleidseffect wordt afgedwongen tijdens het maken of bijwerken van resources.
Uitgeschakeld DoNotEnforce tekenreeks Ja Nee Het beleidseffect wordt niet afgedwongen tijdens het maken of bijwerken van resources.

Als enforcementMode niet is opgegeven in een beleids- of initiatiefdefinitie, wordt de waarde Standaard gebruikt. Hersteltaken kunnen worden gestart voor deployIfNotExists-beleid, zelfs wanneer enforcementMode is ingesteld op DoNotEnforce.

Uitgesloten scopes

Het bereik van de toewijzing omvat alle onderliggende resourcecontainers en onderliggende resources. Als de definitie niet moet worden toegepast op een onderliggende resourcecontainer of onderliggende resource, kan elke container worden uitgesloten van evaluatie door notScopes in te stellen. Deze eigenschap is een matrix om een of meer resourcecontainers of resources uit te sluiten van evaluatie. notScopes kan worden toegevoegd of bijgewerkt na het maken van de eerste toewijzing.

Notitie

Een uitgesloten resource verschilt van een uitgesloten resource. Zie Bereik begrijpen in Azure Policy voor meer Azure Policy.

Beleidsdefinitie-id

Dit veld moet de volledige padnaam van een beleidsdefinitie of een initiatiefdefinitie zijn. policyDefinitionId is een tekenreeks en geen matrix. Het is raadzaam om in plaats daarvan een initiatief te gebruiken als er vaak meerdere beleidsregels tegelijk worden toegewezen.

Niet-nalevingsberichten

Als u een aangepast bericht wilt instellen waarin wordt beschreven waarom een resource niet compatibel is met het beleid of de initiatiefdefinitie, stelt u nonComplianceMessages in de toewijzingsdefinitie in. Dit knooppunt is een matrix message met vermeldingen. Dit aangepaste bericht is een aanvulling op het standaardfoutbericht voor niet-naleving en is optioneel.

Belangrijk

Aangepaste berichten voor niet-naleving worden alleen ondersteund voor definities of initiatieven met Resource Manager modi.

"nonComplianceMessages": [
    {
        "message": "Default message"
    }
]

Als de toewijzing voor een initiatief is, kunnen verschillende berichten worden geconfigureerd voor elke beleidsdefinitie in het initiatief. De berichten gebruiken de waarde policyDefinitionReferenceId die is geconfigureerd in de initiatiefdefinitie. Zie eigenschappen van beleidsdefinities voor meer informatie.

"nonComplianceMessages": [
    {
        "message": "Default message"
    },
    {
        "message": "Message for just this policy definition by reference ID",
        "policyDefinitionReferenceId": "10420126870854049575"
    }
]

Parameters

Dit segment van de beleidstoewijzing bevat de waarden voor de parameters die zijn gedefinieerd in de beleidsdefinitie of initiatiefdefinitie. Dit ontwerp maakt het mogelijk om een beleids- of initiatiefdefinitie opnieuw te gebruiken met verschillende resources, maar om te controleren op verschillende bedrijfswaarden of -resultaten.

"parameters": {
    "prefix": {
        "value": "DeptA"
    },
    "suffix": {
        "value": "-LC"
    }
}

In dit voorbeeld zijn de parameters die eerder zijn gedefinieerd in de beleidsdefinitie prefix en suffix . Deze specifieke beleidstoewijzing stelt prefix in op DeptA en suffix -LC. Dezelfde beleidsdefinitie kan opnieuw worden gebruikt met een andere set parameters voor een andere afdeling, waardoor de duplicatie en complexiteit van beleidsdefinities worden verkleind en tegelijkertijd flexibiliteit wordt bieden.

Volgende stappen