Basisbeginselen van Azure Policy-definitiestructuur
Azure Policy-definities beschrijven nalevingsvoorwaarden voor resources en het effect dat moet worden uitgevoerd als aan een voorwaarde wordt voldaan. Een voorwaarde vergelijkt een resource-eigenschapsveld of waarde met een vereiste waarde. Resource-eigenschapsvelden worden geopend met behulp van aliassen. Wanneer een resource-eigenschapsveld een matrix is, kan een speciale matrixalias worden gebruikt om waarden te selecteren uit alle matrixleden en een voorwaarde toe te passen op elk veld. Meer informatie over voorwaarden.
Met behulp van beleidstoewijzingen kunt u de kosten beheren en uw resources beheren. U kunt bijvoorbeeld opgeven dat alleen bepaalde typen virtuele machines zijn toegestaan. U kunt ook vereisen dat resources een bepaalde tag hebben. Toewijzingen in een bereik zijn van toepassing op alle resources binnen dat bereik en hieronder. Als een beleidstoewijzing wordt toegepast op een resourcegroep, is dit beleid ook van toepassing op alle resources in deze resourcegroep.
U gebruikt JSON om een beleidsdefinitie te maken die elementen bevat voor:
displayName
description
mode
metadata
parameters
policyRule
- logische evaluaties
effect
In de volgende JSON wordt bijvoorbeeld een beleid weergegeven dat beperkt waar resources worden geïmplementeerd:
{
"properties": {
"displayName": "Allowed locations",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
"mode": "Indexed",
"metadata": {
"version": "1.0.0",
"category": "Locations"
},
"parameters": {
"allowedLocations": {
"type": "array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources",
"strongType": "location",
"displayName": "Allowed locations"
},
"defaultValue": [
"westus2"
]
}
},
"policyRule": {
"if": {
"not": {
"field": "location",
"in": "[parameters('allowedLocations')]"
}
},
"then": {
"effect": "deny"
}
}
}
}
Ga naar het schema voor beleidsdefinities voor meer informatie. Ingebouwde Azure Policy-functies en -patronen bevinden zich in Azure Policy-voorbeelden.
Schermnaam en -beschrijving
U gebruikt displayName
en description
identificeert de beleidsdefinitie en geeft context op wanneer de definitie wordt gebruikt. De displayName
waarde heeft een maximale lengte van 128 tekens en description
een maximumlengte van 512 tekens.
Notitie
Tijdens het maken of bijwerken van een beleidsdefinitie, id
type
en name
worden gedefinieerd door eigenschappen buiten de JSON en zijn ze niet nodig in het JSON-bestand. Als u de beleidsdefinitie via SDK ophaalt, worden de id
, type
en name
eigenschappen geretourneerd als onderdeel van de JSON, maar elk zijn alleen-lezen informatie met betrekking tot de beleidsdefinitie.
Beleidstype
Hoewel de policyType
eigenschap niet kan worden ingesteld, worden er drie waarden geretourneerd door SDK en zichtbaar in de portal:
Builtin
: Microsoft biedt en onderhoudt deze beleidsdefinities.Custom
: Alle beleidsdefinities die door klanten zijn gemaakt, hebben deze waarde.Static
: Geeft een definitie van het nalevingsbeleid voor regelgeving aan met Microsoft-eigendom. De nalevingsresultaten voor deze beleidsdefinities zijn de resultaten van niet-Microsoft-controles van de Microsoft-infrastructuur. In Azure Portal wordt deze waarde soms weergegeven als Door Microsoft beheerd. Zie Gedeelde verantwoordelijkheid in de cloud voor meer informatie.
Modus
Het mode
is geconfigureerd, afhankelijk van of het beleid is gericht op een Azure Resource Manager-eigenschap of een resourceprovidereigenschap.
Resource Manager-modi
De mode
bepaalt welke resourcetypen worden geëvalueerd voor een beleidsdefinitie. De ondersteunde modi zijn:
all
: resourcegroepen, abonnementen en alle resourcetypen evaluerenindexed
: alleen resourcetypen evalueren die ondersteuning bieden voor tags en locatie
Resource ondersteunt bijvoorbeeld Microsoft.Network/routeTables
tags en locatie en wordt geëvalueerd in beide modi. Microsoft.Network/routeTables/routes
Resource kan echter niet worden gelabeld en wordt niet geëvalueerd in Indexed
de modus.
In de meeste gevallen wordt u aangeraden dit in te all
stellenmode
. Alle beleidsdefinities die via de portal zijn gemaakt, gebruiken de all
modus. Als u PowerShell of Azure CLI gebruikt, kunt u de mode
parameter handmatig opgeven. Als de beleidsdefinitie geen waarde bevat mode
, wordt deze standaard ingesteld all
in Azure PowerShell en null
in Azure CLI. Een null
modus is hetzelfde als het gebruik indexed
om compatibiliteit met eerdere versies te ondersteunen.
indexed
moet worden gebruikt bij het maken van beleid waarmee tags of locaties worden afgedwongen. Hoewel dit niet vereist is, voorkomt u dat resources die geen ondersteuning bieden voor tags en locaties, worden weergegeven als niet-compatibel in de nalevingsresultaten. De uitzondering is resourcegroepen en abonnementen. Beleidsdefinities die locatie of tags afdwingen voor een resourcegroep of abonnement, moeten zijn ingesteld mode
all
op en specifiek gericht zijn op het Microsoft.Resources/subscriptions/resourceGroups
of Microsoft.Resources/subscriptions
type. Zie Patroon: Tags - Voorbeeld 1 voor een voorbeeld. Zie Tag-ondersteuning voor Azure-resources voor een lijst met resources die tags ondersteunen.
Resourceprovidermodi
De volgende resourceprovidermodi worden volledig ondersteund:
Microsoft.Kubernetes.Data
voor het beheren van Kubernetes-clusters en -onderdelen, zoals pods, containers en ingresses. Ondersteund voor Azure Kubernetes Service-clusters en Kubernetes-clusters met Azure Arc. Definities die deze resourceprovidermodus gebruiken, gebruiken de effecten controleren, weigeren en uitgeschakeld.Microsoft.KeyVault.Data
voor het beheren van kluizen en certificaten in Azure Key Vault. Zie Azure Key Vault integreren met Azure Policy voor meer informatie over deze beleidsdefinities.Microsoft.Network.Data
voor het beheren van aangepast lidmaatschapsbeleid van Azure Virtual Network Manager met behulp van Azure Policy.
De volgende resourceprovidermodi worden momenteel ondersteund als preview:
Microsoft.ManagedHSM.Data
voor het beheren van HSM-sleutels (Managed Hardware Security Module) met behulp van Azure Policy.Microsoft.DataFactory.Data
voor het gebruik van Azure Policy voor het weigeren van uitgaande verkeer van Azure Data Factory-domeinnamen die niet zijn opgegeven in een acceptatielijst. Deze resourceprovidermodus wordt alleen afgedwongen en rapporteert geen naleving in openbare preview.Microsoft.MachineLearningServices.v2.Data
voor het beheren van Azure Machine Learning-modelimplementaties . Deze resourceprovidermodus rapporteert naleving voor nieuw gemaakte en bijgewerkte onderdelen. Tijdens de openbare preview blijven nalevingsrecords 24 uur bestaan. Modelimplementaties die bestaan voordat deze beleidsdefinities worden toegewezen, rapporteren geen naleving.
Notitie
Tenzij expliciet vermeld, ondersteunen resourceprovidermodi alleen ingebouwde beleidsdefinities en worden uitzonderingen niet ondersteund op onderdeelniveau.
Metagegevens
Met de optionele metadata
eigenschap wordt informatie over de beleidsdefinitie opgeslagen. Klanten kunnen eigenschappen en waarden definiëren die nuttig zijn voor hun organisatie in metadata
. Er zijn echter enkele algemene eigenschappen die worden gebruikt door Azure Policy en ingebouwde functies. Elke metadata
eigenschap heeft een limiet van 1024 tekens.
Algemene eigenschappen van metagegevens
version
(tekenreeks): Houdt details bij over de versie van de inhoud van een beleidsdefinitie.category
(tekenreeks): Bepaalt onder welke categorie in Azure Portal de beleidsdefinitie wordt weergegeven.preview
(Booleaanse waarde): Waar of onwaar voor als de beleidsdefinitie een preview-versie is.deprecated
(Booleaanse waarde): Waar of onwaar voor als de beleidsdefinitie is gemarkeerd als afgeschaft.portalReview
(tekenreeks): bepaalt of parameters moeten worden gecontroleerd in de portal, ongeacht de vereiste invoer.
Notitie
De Azure Policy-service gebruikt version
, preview
en deprecated
eigenschappen om het wijzigingsniveau over te brengen naar een ingebouwde beleidsdefinitie of initiatief en status. De notatie version
is: {Major}.{Minor}.{Patch}
. Specifieke statussen, zoals afgeschaft of preview, worden toegevoegd aan de version
eigenschap of in een andere eigenschap als een Booleaanse waarde. Zie Ingebouwde versiebeheer voor meer informatie over de manier waarop ingebouwde Versies van Azure Policy worden gebruikt.
Zie Preview- en afgeschafte beleidsregels voor meer informatie over wat het betekent voor een beleid dat moet worden afgeschaft of als preview-versie wordt gebruikt.
Definitielocatie
Tijdens het maken van een initiatief of beleid moet u de definitielocatie opgeven. De definitielocatie moet een beheergroep of een abonnement zijn. Deze locatie bepaalt het bereik waaraan het initiatief of beleid kan worden toegewezen. Resources moeten directe leden zijn van of onderliggende items in de hiërarchie van de definitielocatie die moeten worden gericht op toewijzing.
Als de definitielocatie een:
- Abonnement : alleen resources binnen dat abonnement kunnen worden toegewezen aan de beleidsdefinitie.
- Beheergroep : alleen resources binnen onderliggende beheergroepen en onderliggende abonnementen kunnen worden toegewezen aan de beleidsdefinitie. Als u van plan bent de beleidsdefinitie toe te passen op verschillende abonnementen, moet de locatie een beheergroep zijn die elk abonnement bevat.
Zie Bereik in Azure Policy begrijpen voor meer informatie.
Volgende stappen
- Ga naar parameters, beleidsregels en alias voor meer informatie over de structuur van beleidsdefinities.
- Ga voor initiatieven naar de structuur van initiatiefdefinities.
- Bekijk voorbeelden in Azure Policy-voorbeelden.
- Lees Informatie over de effecten van het beleid.
- Meer informatie over het programmatisch maken van beleid.
- Meer informatie over het ophalen van nalevingsgegevens.
- Ontdek hoe u niet-compatibele resources kunt herstellen.
- Bekijk wat een beheergroep is met Uw resources organiseren met Azure-beheergroepen.