New-AzPolicyAssignment
Hiermee maakt u een beleidstoewijzing.
Syntax
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PsPolicyDefinition>]
[-PolicySetDefinition <PsPolicySetDefinition>]
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
-PolicyDefinition <PsPolicyDefinition>
[-PolicySetDefinition <PsPolicySetDefinition>]
-PolicyParameterObject <Hashtable>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
-PolicyDefinition <PsPolicyDefinition>
[-PolicySetDefinition <PsPolicySetDefinition>]
-PolicyParameter <String>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PsPolicyDefinition>]
-PolicySetDefinition <PsPolicySetDefinition>
-PolicyParameterObject <Hashtable>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PsPolicyDefinition>]
-PolicySetDefinition <PsPolicySetDefinition>
-PolicyParameter <String>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Met de cmdlet New-AzPolicyAssignment maakt u een beleidstoewijzing. Geef een beleid en bereik op.
Voorbeelden
Voorbeeld 1: Beleidstoewijzing op abonnementsniveau
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)"
Met de eerste opdracht wordt een abonnement met de naam Subscription01 opgehaald met behulp van de cmdlet Get-AzSubscription en wordt het opgeslagen in de $Subscription variabele. De tweede opdracht haalt de beleidsdefinitie VirtualMachinePolicy op met behulp van de Get-AzPolicyDefinition cmdlet en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen op het niveau van het abonnement dat is geïdentificeerd door de tekenreeks van het abonnementsbereik.
Voorbeeld 2: Beleidstoewijzing op resourcegroepniveau
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId
De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de Get-AzResourceGroup cmdlet en slaat deze op in de $ResourceGroup variabele. De tweede opdracht haalt de beleidsdefinitie VirtualMachinePolicy op met behulp van de Get-AzPolicyDefinition cmdlet en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen op het niveau van de resourcegroep die is geïdentificeerd door de eigenschap ResourceId van $ResourceGroup.
Voorbeeld 3: Beleidstoewijzing op resourcegroepsniveau met beleidsparameterobject
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
$Locations = Get-AzLocation | Where-Object displayname -like '*east*'
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations
De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de Get-AzResourceGroup cmdlet. Met de opdracht wordt dat object opgeslagen in de variabele $ResourceGroup. Met de tweede opdracht wordt de ingebouwde beleidsdefinitie voor toegestane locaties opgeslagen met behulp van de cmdlet Get-AzPolicyDefinition. Met de opdracht wordt dat object opgeslagen in de $Policy variabele. Met de derde en vierde opdrachten maakt u een object met alle Azure-regio's met 'oost' in de naam. Met de opdrachten wordt dat object opgeslagen in de variabele $AllowedLocations. Met de laatste opdracht wordt het beleid in $Policy toegewezen op het niveau van een resourcegroep met behulp van het beleidsparameterobject in $AllowedLocations. De eigenschap ResourceId van $ResourceGroup identificeert de resourcegroep.
Voorbeeld 4: Beleidstoewijzing op resourcegroepsniveau met beleidsparameterbestand
Maak een bestand met de naam AllowedLocations.json in de lokale werkmap met de volgende inhoud.
<#{
"listOfAllowedLocations": {
"value": [
"westus",
"westeurope",
"japanwest"
]
}
}#>
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json
De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de Get-AzResourceGroup cmdlet en slaat deze op in de $ResourceGroup variabele. De tweede opdracht haalt de ingebouwde beleidsdefinitie op voor toegestane locaties met behulp van de Get-AzPolicyDefinition cmdlet en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen aan de resourcegroep die is geïdentificeerd door de eigenschap ResourceId van $ResourceGroup met behulp van het beleidsparameterbestand AllowedLocations.json uit de lokale werkmap.
Voorbeeld 5: Beleidstoewijzing met een door het systeem toegewezen beheerde identiteit
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'SystemAssigned'
De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de Get-AzResourceGroup cmdlet en slaat deze op in de $ResourceGroup variabele. De tweede opdracht haalt de beleidsdefinitie VirtualMachinePolicy op met behulp van de Get-AzPolicyDefinition cmdlet en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen aan de resourcegroep. Er wordt automatisch een door het systeem toegewezen beheerde identiteit gemaakt en toegewezen aan de beleidstoewijzing.
Voorbeeld 6: Beleidstoewijzing met een door de gebruiker toegewezen beheerde identiteit
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'UserAssigned' -IdentityId $UserAssignedIdentity.Id
De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de Get-AzResourceGroup cmdlet en slaat deze op in de $ResourceGroup variabele. De tweede opdracht haalt de beleidsdefinitie VirtualMachinePolicy op met behulp van de Get-AzPolicyDefinition cmdlet en slaat deze op in de $Policy variabele. Met de derde opdracht wordt de door de gebruiker toegewezen beheerde identiteit met de naam UserAssignedIdentity1 opgehaald met behulp van de cmdlet Get-AzUserAssignedIdentity en wordt deze opgeslagen in de $UserAssignedIdentity variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen aan de resourcegroep. De door de gebruiker toegewezen beheerde identiteit die is geïdentificeerd door de id-eigenschap van $UserAssignedIdentity wordt toegewezen aan de beleidstoewijzing door de eigenschap Id* door te geven aan de parameter IdentityId.
Voorbeeld 7: Beleidstoewijzing met een eigenschap voor de afdwingingsmodus
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)" -EnforcementMode DoNotEnforce
Met de eerste opdracht wordt een abonnement met de naam Subscription01 opgehaald met behulp van de cmdlet Get-AzSubscription en wordt het opgeslagen in de $Subscription variabele. De tweede opdracht haalt de beleidsdefinitie VirtualMachinePolicy op met behulp van de Get-AzPolicyDefinition cmdlet en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen op het niveau van het abonnement dat is geïdentificeerd door de tekenreeks van het abonnementsbereik. De toewijzing wordt ingesteld met de waarde EnforcementMode van DoNotEnforce . Het beleidseffect wordt niet afgedwongen tijdens het maken of bijwerken van resources.
Voorbeeld 8: Beleidstoewijzing met niet-nalevingsberichten
$PolicySet = Get-AzPolicySetDefinition -Name 'VirtualMachinePolicySet'
$NonComplianceMessages = @(@{Message="Only DsV2 SKUs are allowed."; PolicyDefinitionReferenceId="DefRef1"}, @{Message="Virtual machines must follow cost management best practices."})
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicySetDefinition $PolicySet -NonComplianceMessage $NonComplianceMessages
De eerste opdracht haalt de beleidssetdefinitie VirtualMachinePolicySet op met behulp van de Get-AzPolicySetDefinition cmdlet en slaat deze op in de $PolicySet variabele. Met de tweede opdracht maakt u een matrix met niet-nalevingsberichten. Eén algemeen bericht voor de hele toewijzing en één bericht dat specifiek is voor een SKU-beperkingsbeleid binnen de definitie van de toegewezen beleidsset. Met de laatste opdracht wordt de definitie van de beleidsset in $PolicySet toegewezen aan het abonnement met twee niet-nalevingsberichten die worden weergegeven als een resource wordt geweigerd door beleid.
Parameters
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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Genereer en wijs een door het systeem toegewezen beheerde identiteit toe voor deze beleidstoewijzing. De identiteit wordt gebruikt bij het uitvoeren van implementaties voor 'deployIfNotExists' en 'modify'-beleid. Locatie is vereist bij het toewijzen van een identiteit.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure
| Type: | IAzureContextContainer |
| Aliases: | AzContext, AzureRmContext, AzureCredential |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
De beschrijving voor beleidstoewijzing
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u een weergavenaam op voor de beleidstoewijzing.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
De afdwingingsmodus voor beleidstoewijzing. Geldige waarden zijn momenteel Standaard, DoNotEnforce.
| Type: | Nullable<T>[PolicyAssignmentEnforcementMode] |
| Accepted values: | Default, DoNotEnforce |
| Position: | Named |
| Default value: | Default |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u de id op van de door de gebruiker toegewezen beheerde identiteit die moet worden toegewezen aan deze beleidstoewijzing. Deze waarde is vereist als de waarde UserAssigned wordt doorgegeven aan de parameter -IdentityType.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u het type beheerde identiteit op dat moet worden toegewezen aan deze beleidstoewijzing. Als de waarde 'SystemAssigned' wordt opgegeven, wordt er een door het systeem toegewezen beheerde identiteit gegenereerd en toegewezen aan deze beleidstoewijzing. Als de waarde UserAssigned wordt opgegeven, wordt de door de gebruiker toegewezen identiteit doorgegeven via de id aan de parameter -IdentityId toegewezen aan deze beleidstoewijzing. De identiteit wordt gebruikt bij het uitvoeren van implementaties voor 'deployIfNotExists' en 'modify'-beleid. Locatie is vereist bij het toewijzen van een identiteit. Machtigingen moeten worden verleend aan de identiteit met behulp van New-AzRoleAssignment nadat de door het systeem toegewezen identiteit is gemaakt. De parameter IdentityType krijgt voorrang als zowel de Parameter AssignIdentity als de parameter IdentityType worden gebruikt.
| Type: | Nullable<T>[ManagedIdentityType] |
| Accepted values: | SystemAssigned, UserAssigned, None |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
De locatie van de resource-id van de beleidstoewijzing. Dit is vereist wanneer de waarde -IdentityType wordt opgegeven.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
De metagegevens voor de nieuwe beleidstoewijzing. Dit kan een pad zijn naar een bestandsnaam met de metagegevens of de metagegevens als tekenreeks.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u een naam op voor de beleidstoewijzing.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
De niet-nalevingsberichten die beschrijven waarom een resource niet compatibel is met het beleid.
| Type: | PsNonComplianceMessage[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
De niet-bereiken voor beleidstoewijzing.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u een beleid op, als een PsPolicyDefinition-object dat de beleidsregel bevat.
| Type: | PsPolicyDefinition |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Het bestandspad of de beleidsparametertekenreeks.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Het beleidsparameterobject.
| Type: | Hashtable |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Het definitieobject van de beleidsset.
| Type: | PsPolicySetDefinition |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee wordt aangegeven dat deze cmdlet API-versies van de voorlopige versie als automatisch bepaalt welke versie moet worden gebruikt.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u het bereik op waarop het beleid moet worden toegewezen.
Als u bijvoorbeeld een beleid wilt toewijzen aan een resourcegroep, geeft u het volgende op: /subscriptions/naam van abonnements-id-resourcegroep/resourcegroups/
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Invoerwaarden
String[]
Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]
Uitvoerwaarden
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor