Udostępnij za pośrednictwem


Update-AzPolicyAssignment

Ta operacja aktualizuje przypisanie zasad przy użyciu podanego zakresu i nazwy. Przypisania zasad mają zastosowanie do wszystkich zasobów zawartych w ich zakresie. Na przykład po przypisaniu zasad w zakresie grupy zasobów te zasady mają zastosowanie do wszystkich zasobów w grupie.

Składnia

Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -InputObject <IPolicyAssignment>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Opis

Ta operacja aktualizuje przypisanie zasad przy użyciu podanego zakresu i nazwy. Przypisania zasad mają zastosowanie do wszystkich zasobów zawartych w ich zakresie. Na przykład po przypisaniu zasad w zakresie grupy zasobów te zasady mają zastosowanie do wszystkich zasobów w grupie.

Przykłady

Przykład 1. Aktualizowanie nazwy wyświetlanej

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

Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup. Polecenie przechowuje ten obiekt w zmiennej $ResourceGroup. Drugie polecenie pobiera przypisanie zasad o nazwie PolicyAssignment przy użyciu polecenia cmdlet Get-AzPolicyAssignment. Polecenie przechowuje ten obiekt w zmiennej $PolicyAssignment. Końcowe polecenie aktualizuje nazwę wyświetlaną przypisania zasad w grupie zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup.

Przykład 2. Dodawanie przypisanej przez system tożsamości zarządzanej do przypisania zasad

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

Pierwsze polecenie pobiera przypisanie zasad o nazwie PolicyAssignment z bieżącej subskrypcji przy użyciu polecenia cmdlet Get-AzPolicyAssignment. Polecenie przechowuje ten obiekt w zmiennej $PolicyAssignment. Ostatnie polecenie przypisuje tożsamość zarządzaną przypisaną przez system do przypisania zasad.

Przykład 3. Dodawanie tożsamości zarządzanej przypisanej przez użytkownika do przypisania zasad

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

Pierwsze polecenie pobiera przypisanie zasad o nazwie PolicyAssignment z bieżącej subskrypcji przy użyciu polecenia cmdlet Get-AzPolicyAssignment. Polecenie przechowuje ten obiekt w zmiennej $PolicyAssignment. Drugie polecenie pobiera tożsamość zarządzaną przypisaną przez użytkownika o nazwie UserAssignedIdentity1 przy użyciu polecenia cmdlet Get-AzUserAssignedIdentity i zapisuje ją w zmiennej $UserAssignedIdentity. Ostatnie polecenie przypisuje tożsamość zarządzaną przypisaną przez użytkownika zidentyfikowaną przez właściwość identyfikatora $UserAssignedIdentity do przypisania zasad.

Przykład 4. Aktualizowanie parametrów przypisania zasad przy użyciu nowego obiektu parametru zasad

$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

Pierwsze i drugie polecenia tworzą obiekt zawierający wszystkie regiony platformy Azure, których nazwy zaczynają się od "france" lub "uk". Drugie polecenie przechowuje ten obiekt w zmiennej $AllowedLocations. Trzecie polecenie pobiera przypisanie zasad o nazwie "PolicyAssignment" Polecenie przechowuje ten obiekt w zmiennej $PolicyAssignment. Końcowe polecenie aktualizuje wartości parametrów w przypisaniu zasad o nazwie PolicyAssignment.

Przykład 5. Aktualizowanie parametrów przypisania zasad za pomocą pliku parametrów zasad

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

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

Polecenie aktualizuje przypisanie zasad o nazwie "PolicyAssignment" przy użyciu pliku parametrów zasad AllowedLocations.json z lokalnego katalogu roboczego.

Przykład 6. Aktualizowanie elementu enforcementMode

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

Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup. Polecenie przechowuje ten obiekt w zmiennej $ResourceGroup. Drugie polecenie pobiera przypisanie zasad o nazwie PolicyAssignment przy użyciu polecenia cmdlet Get-AzPolicyAssignment. Polecenie przechowuje ten obiekt w zmiennej $PolicyAssignment. Ostatnie polecenie aktualizuje właściwość enforcementMode w przypisaniu zasad w grupie zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup.

Przykład 7. Aktualizowanie komunikatów o niezgodności

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

Pierwsze polecenie pobiera przypisanie zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyAssignment i zapisuje je w zmiennej $PolicyAssignment. Końcowe polecenie aktualizuje komunikaty o niezgodności w przypisaniu zasad przy użyciu nowego komunikatu, który będzie wyświetlany, jeśli zasób zostanie odrzucony przez zasady.

Przykład 8. Aktualizowanie selektora zasobów

$ResourceSelector = @{Name = "MyLocationSelector"; Selector = @(@{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")})}
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -ResourceSelector $ResourceSelector

Pierwsze polecenie tworzy obiekt selektora zasobów, który będzie używany do określania przypisania, powinien dotyczyć tylko zasobów, które nie znajdują się w regionie Wschodnie stany USA lub Wschodnie stany USA 2 i przechowuje je w zmiennej $ResourceSelector. Ostatnie polecenie aktualizuje przypisanie zasad o nazwie VirtualMachinePolicyAssignment za pomocą selektora zasobów określonego przez $ResourceSelector.

Przykład 9. Przesłonięcia aktualizacji

$Selector = @{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")}
$Override = @(@{Kind = "policyEffect"; Value = 'Disabled'; Selector = @($Selector)})
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -Override $Override

Pierwsze polecenie tworzy selektor lokalizacji określający lokalizacje inne niż Wschodnie stany USA lub Wschodnie stany USA 2 oraz magazyny w zmiennej $Selector. Drugie polecenie tworzy obiekt zastąpienia, który będzie używany do określenia, że przypisana definicja powinna mieć efekt Wyłączone w lokalizacjach zidentyfikowanych przez $Selector. Ostatnie polecenie aktualizuje przypisanie zasad o nazwie VirtualMachinePolicyAssignment za pomocą zastąpienia określonego przez $Override.

Przykład 10: [Backcompat] Aktualizowanie elementu enforcementMode

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

Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup. Polecenie przechowuje ten obiekt w zmiennej $ResourceGroup. Drugie polecenie pobiera przypisanie zasad o nazwie PolicyAssignment przy użyciu polecenia cmdlet Get-AzPolicyAssignment. Polecenie przechowuje ten obiekt w zmiennej $PolicyAssignment. Ostatnie polecenie aktualizuje właściwość enforcementMode w przypisaniu zasad w grupie zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup.

Parametry

-BackwardCompatible

Powoduje, że polecenie cmdlet zwraca artefakty przy użyciu starszego formatu umieszczania właściwości specyficznych dla zasad w obiekcie torby właściwości.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DefaultProfile

Parametr DefaultProfile nie działa. Użyj parametru SubscriptionId, jeśli jest dostępny, jeśli wykonuje polecenie cmdlet dla innej subskrypcji.

Typ:PSObject
Aliasy:AzureRMContext, AzureCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Description

Ten komunikat będzie częścią odpowiedzi w przypadku naruszenia zasad.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-DisplayName

Nazwa wyświetlana przypisania zasad.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-EnforcementMode

Tryb wymuszania przypisania zasad. Możliwe wartości to Default i DoNotEnforce.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Id

Identyfikator przypisania zasad do aktualizacji. Użyj formatu "{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}".

Typ:String
Aliasy:ResourceId, PolicyAssignmentId
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-IdentityId

Tożsamość użytkownika skojarzona z zasadami. Odwołania do klucza słownika tożsamości użytkownika będą identyfikatorami zasobów arm w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-IdentityType

Typ tożsamości. Jest to jedyne pole wymagane podczas dodawania tożsamości przypisanej przez system lub użytkownika do zasobu.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InputObject

Typ:IPolicyAssignment
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Location

Lokalizacja przypisania zasad. Wymagane tylko w przypadku korzystania z tożsamości zarządzanej.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Metadata

Metadane przypisania zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Nazwa przypisania zasad.

Typ:String
Aliasy:PolicyAssignmentName
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-NonComplianceMessage

Komunikaty opisujące, dlaczego zasób jest niezgodny z zasadami. Aby utworzyć, zobacz sekcję NOTES dla właściwości NONCOMPLIANCEMESSAGE i utwórz tabelę skrótów.

Typ:PSObject[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-NotScope

Wykluczone zakresy zasad.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Override

Wartość właściwości zasad zastępuje.

Typ:IOverride[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PolicyParameter

Wartości parametrów dla przypisanej reguły zasad. Klucze są nazwami parametrów.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PolicyParameterObject

Wartości parametrów dla przypisanej reguły zasad. Klucze są nazwami parametrów.

Typ:PSObject
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ResourceSelector

Lista selektorów zasobów do filtrowania zasad według właściwości zasobów.

Typ:IResourceSelector[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Scope

Zakres przypisania zasad. Prawidłowe zakresy to: grupa zarządzania (format: "/providers/Microsoft.Management/managementGroups/{managementGroup}"), subskrypcja (format: "/subscriptions/{subscriptionId}"), grupa zasobów (format: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", lub zasób (format: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}"

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

IPolicyAssignment

PSObject[]

String

String[]

Dane wyjściowe

IPolicyAssignment

Uwagi

ALIASY

Set-AzPolicyAssignment