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
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
PSObject[]
String[]
Dane wyjściowe
Uwagi
ALIASY
Set-AzPolicyAssignment