Dela via


Update-AzPolicyAssignment

Den här åtgärden uppdaterar en principtilldelning med angivet omfång och namn. Principtilldelningar gäller för alla resurser som ingår i deras omfång. När du till exempel tilldelar en princip i resursgruppens omfång gäller den principen för alla resurser i gruppen.

Syntax

Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -InputObject <IPolicyAssignment>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Den här åtgärden uppdaterar en principtilldelning med angivet omfång och namn. Principtilldelningar gäller för alla resurser som ingår i deras omfång. När du till exempel tilldelar en princip i resursgruppens omfång gäller den principen för alla resurser i gruppen.

Exempel

Exempel 1: Uppdatera visningsnamnet

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'

Det första kommandot hämtar en resursgrupp med namnet ResourceGroup11 med hjälp av cmdleten Get-AzResourceGroup. Kommandot lagrar objektet i variabeln $ResourceGroup. Det andra kommandot hämtar principtilldelningen med namnet PolicyAssignment med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar visningsnamnet för principtilldelningen på resursgruppen som identifieras av egenskapen ResourceId för $ResourceGroup.

Exempel 2: Lägg till en systemtilldelad hanterad identitet i principtilldelningen

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'

Det första kommandot hämtar principtilldelningen med namnet PolicyAssignment från den aktuella prenumerationen med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot tilldelar en systemtilldelad hanterad identitet till principtilldelningen.

Exempel 3: Lägga till en användartilldelad hanterad identitet i principtilldelningen

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
 Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id

Det första kommandot hämtar principtilldelningen med namnet PolicyAssignment från den aktuella prenumerationen med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det andra kommandot hämtar den användartilldelade hanterade identiteten userAssignedIdentity1 med hjälp av cmdleten Get-AzUserAssignedIdentity och lagrar den i variabeln $UserAssignedIdentity. Det sista kommandot tilldelar den användartilldelade hanterade identiteten som identifieras av ID-egenskapen för $UserAssignedIdentity till principtilldelningen.

Exempel 4: Uppdatera principtilldelningsparametrar med nytt principparameterobjekt

$Locations = Get-AzLocation | Where-Object {($_.displayname -like 'france*') -or ($_.displayname -like 'uk*')}
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -PolicyParameterObject $AllowedLocations

De första och andra kommandona skapar ett objekt som innehåller alla Azure-regioner vars namn börjar med "france" eller "uk". Det andra kommandot lagrar objektet i variabeln $AllowedLocations. Det tredje kommandot hämtar principtilldelningen med namnet "PolicyAssignment" Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar parametervärdena för principtilldelningen med namnet PolicyAssignment.

Exempel 5: Uppdatera principtilldelningsparametrar med principparameterfilen

{
  "listOfAllowedLocations":  {
    "value": [
      "uksouth",
      "ukwest",
      "francecentral",
      "francesouth"
    ]
  }
}

Update-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json

Kommandot uppdaterar principtilldelningen med namnet "PolicyAssignment" med hjälp av principparameterfilen AllowedLocations.json från den lokala arbetskatalogen.

Exempel 6: Uppdatera en enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

Det första kommandot hämtar en resursgrupp med namnet ResourceGroup11 med hjälp av cmdleten Get-AzResourceGroup. Kommandot lagrar objektet i variabeln $ResourceGroup. Det andra kommandot hämtar principtilldelningen med namnet PolicyAssignment med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar egenskapen enforcementMode för principtilldelningen på resursgruppen som identifieras av egenskapen ResourceId för $ResourceGroup.

Exempel 7: Uppdatera icke-efterlevnadsmeddelanden

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}

Det första kommandot hämtar principtilldelningen med namnet VirtualMachinePolicy med hjälp av cmdleten Get-AzPolicyAssignment och lagrar den i variabeln $PolicyAssignment. Det sista kommandot uppdaterar icke-efterlevnadsmeddelandena för principtilldelningen med ett nytt meddelande som visas om en resurs nekas av principen.

Exempel 8: [Backcompat] Uppdatera en enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

Det första kommandot hämtar en resursgrupp med namnet ResourceGroup11 med hjälp av cmdleten Get-AzResourceGroup. Kommandot lagrar objektet i variabeln $ResourceGroup. Det andra kommandot hämtar principtilldelningen med namnet PolicyAssignment med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar egenskapen enforcementMode för principtilldelningen på resursgruppen som identifieras av egenskapen ResourceId för $ResourceGroup.

Parametrar

-BackwardCompatible

Gör att cmdleten returnerar artefakter med äldre format som placerar principspecifika egenskaper i ett egenskapspåseobjekt.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultProfile

Parametern DefaultProfile fungerar inte. Använd parametern SubscriptionId när den är tillgänglig om du kör cmdleten mot en annan prenumeration.

Typ:PSObject
Alias:AzureRMContext, AzureCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Description

Det här meddelandet är en del av svaret i händelse av principöverträdelse.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-DisplayName

Visningsnamnet för principtilldelningen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-EnforcementMode

Tvingande läge för principtilldelning. Möjliga värden är Standard och DoNotEnforce.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Id

ID:t för principtilldelningen som ska uppdateras. Använd formatet {scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}.

Typ:String
Alias:ResourceId, PolicyAssignmentId
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-IdentityId

Användaridentiteten som är associerad med principen. Nyckelreferenserna för användaridentitetsordlistan är ARM-resurs-ID:er i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-IdentityType

Identitetstypen. Det här är det enda obligatoriska fältet när du lägger till en system- eller användartilldelad identitet till en resurs.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Typ:IPolicyAssignment
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Location

Platsen för principtilldelningen. Krävs endast vid användning av hanterad identitet.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Metadata

Metadata för principtilldelning. Metadata är ett öppet slutobjekt och är vanligtvis en samling nyckelvärdepar.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Name

Namnet på principtilldelningen.

Typ:String
Alias:PolicyAssignmentName
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-NonComplianceMessage

Meddelandena som beskriver varför en resurs inte är kompatibel med principen. Information om hur du skapar finns i AVSNITTET ANTECKNINGAR för NONCOMPLIANCEMESSAGE-egenskaper och skapa en hash-tabell.

Typ:PSObject[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-NotScope

Principens undantagna omfång.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-PolicyParameter

Parametervärdena för den tilldelade principregeln. Nycklarna är parameternamnen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-PolicyParameterObject

Parametervärdena för den tilldelade principregeln. Nycklarna är parameternamnen.

Typ:PSObject
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Scope

Omfånget för principtilldelningen. Giltiga omfång är: hanteringsgrupp (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), prenumeration (format: '/subscriptions/{subscriptionId}'), resursgrupp (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', eller resurs (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

IPolicyAssignment

PSObject[]

String

String[]

Utdata

IPolicyAssignment

Kommentarer

ALIAS

Set-AzPolicyAssignment