New-AzPolicyDefinition
Hiermee maakt u een beleidsdefinitie.
Syntaxis
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
-ManagementGroupName <String>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
-SubscriptionId <Guid>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
De cmdlet New-AzPolicyDefinition maakt een beleidsdefinitie die een beleidsregel bevat in de JSON-indeling (JavaScript Object Notation).
Voorbeelden
Voorbeeld 1: Een beleidsdefinitie maken met behulp van een beleidsbestand
<#{
"if": {
"field": "location",
"notIn": ["eastus", "westus", "centralus"]
},
"then": {
"effect": "audit"
}
}#>
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json
Met deze opdracht maakt u een beleidsdefinitie met de naam LocationDefinition die de beleidsregel bevat die is opgegeven in C:\LocationPolicy.json. Voorbeeldinhoud voor het LocationPolicy.json bestand wordt hierboven weergegeven. Er worden drie indelingen voor bestandsinhoud ondersteund:
- Alleen beleidsregel (voorbeeld hierboven).
- Object met beleidseigenschappen. Deze indeling wordt weergegeven in de portal bij het bewerken van een beleidsdefinitie en kan parameters bevatten.
- Volledig beleidsobject. Deze indeling wordt gegenereerd door de exportfunctie van Azure Policy en kan parameters bevatten.
Opmerking: waarden die zijn opgegeven op de opdrachtregel (bijvoorbeeld parameters, metagegevens) overschrijven overeenkomende waarden die aanwezig zijn in het bestand.
Voorbeeld 2: Een geparameteriseerde beleidsdefinitie maken met behulp van inlineparameters
<#{
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": {
"effect": "audit"
}
}#>
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'
Met deze opdracht maakt u een beleidsdefinitie met de naam LocationDefinition die de beleidsregel bevat die is opgegeven in C:\LocationPolicy.json. De parameterdefinitie voor de beleidsregel wordt inline gegeven.
Voorbeeld 3: Een beleidsdefinitie inline maken in een beheergroep
New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'
Met deze opdracht maakt u een beleidsdefinitie met de naam VMPolicyDefinition in beheergroep Dept42. Met de opdracht geeft u het beleid op als een tekenreeks in een geldige JSON-indeling.
Voorbeeld 4: Een beleidsdefinitie inline maken met metagegevens
New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'
Name : VMPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName : VMPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
Met deze opdracht maakt u een beleidsdefinitie met de naam VMPolicyDefinition met metagegevens die aangeven dat de categorie 'Virtuele machine' is. Met de opdracht geeft u het beleid op als een tekenreeks in een geldige JSON-indeling.
Voorbeeld 5: Een beleidsdefinitie inline maken met de modus
New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed
Name : TagsPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
ResourceName : TagsPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=TagsPolicyDefinition; policyType=Custom; mode=Indexed; metadata=; parameters=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
Met deze opdracht maakt u een beleidsdefinitie met de naam TagsPolicyDefinition met de modus 'Geïndexeerd' die aangeeft dat het beleid alleen moet worden geëvalueerd voor resourcetypen die tags en locatie ondersteunen.
Parameters
-ApiVersion
Hiermee geeft u de versie van de resourceprovider-API die moet worden gebruikt. Als u geen versie opgeeft, gebruikt deze cmdlet de meest recente beschikbare versie.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure
Type: | IAzureContextContainer |
Aliassen: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Description
Hiermee geeft u een beschrijving voor de beleidsdefinitie.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-DisplayName
Hiermee geeft u een weergavenaam voor de beleidsdefinitie.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ManagementGroupName
De naam van de beheergroep van de nieuwe beleidsdefinitie.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Metadata
De metagegevens voor beleidsdefinitie. Dit kan een pad zijn naar een bestandsnaam met de metagegevens of de metagegevens als tekenreeks
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Mode
De modus van de beleidsdefinitie
Type: | String |
Position: | Named |
Default value: | All |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u een naam voor de beleidsdefinitie.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Parameter
De declaratie van parameters voor beleidsdefinitie. Dit kan een pad zijn naar een bestandsnaam met de declaratie parameters of de declaratie van parameters als tekenreeks.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Policy
Hiermee geeft u een beleidsregel voor de beleidsdefinitie. U kunt het pad opgeven van een .json-bestand of een tekenreeks die het beleid in JSON-indeling bevat.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Pre
Hiermee wordt aangegeven dat deze cmdlet api-versies van de voorlopige versie beschouwt wanneer deze automatisch bepaalt welke versie moet worden gebruikt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SubscriptionId
De abonnements-id van de nieuwe beleidsdefinitie.
Type: | Nullable<T>[Guid] |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Invoerwaarden
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]