Set-AzPolicyAssignment
Modyfikuje przypisanie zasad.
Składnia
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameterObject <Hashtable>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameter <String>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameterObject <Hashtable>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameter <String>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
-InputObject <PsPolicyAssignment>
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Opis
Polecenie cmdlet Set-AzPolicyAssignment modyfikuje przypisanie zasad. Określ przypisanie według identyfikatora lub nazwy i zakresu.
Przykłady
Przykład 1. Aktualizowanie nazwy wyświetlanej
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-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'
Set-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'
Set-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ść Id $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'
Set-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
Utwórz plik o nazwie AllowedLocations.json w lokalnym katalogu roboczym z następującą zawartością.
{
"listOfAllowedLocations": {
"value": [
"uksouth",
"ukwest",
"francecentral",
"francesouth"
]
}
}
Set-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
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.
Przykład 7. Aktualizowanie komunikatów o niezgodności
$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-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.
Parametry
-ApiVersion
Określa wersję interfejsu API dostawcy zasobów do użycia. Jeśli nie określisz wersji, to polecenie cmdlet używa najnowszej dostępnej wersji.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AssignIdentity
Wygeneruj i przypisz tożsamość zarządzaną przypisaną przez system dla tego przypisania zasad. Tożsamość będzie używana podczas wykonywania wdrożeń dla zasad "deployIfNotExists" i "modify". Lokalizacja jest wymagana podczas przypisywania tożsamości.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure
Typ: | IAzureContextContainer |
Aliasy: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Opis przypisania zasad
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Określa nową nazwę wyświetlaną 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. Obecnie prawidłowe wartości to Default, DoNotEnforce.
Typ: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Dopuszczalne wartości: | Default, DoNotEnforce |
Position: | Named |
Domyślna wartość: | Default |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Id
Określa w pełni kwalifikowany identyfikator zasobu dla przypisania zasad, który modyfikuje to polecenie cmdlet.
Typ: | String |
Aliasy: | ResourceId |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-IdentityId
Określa identyfikator tożsamości zarządzanej przypisanej przez użytkownika do przypisania do tego przypisania zasad. Ta wartość jest wymagana, jeśli wartość "UserAssigned" jest przekazywana do parametru -IdentityType.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-IdentityType
Określa typ tożsamości zarządzanej, który ma zostać przypisany do tego przypisania zasad. Jeśli zostanie podana wartość "SystemAssigned", zostanie wygenerowana tożsamość zarządzana przypisana przez system i przypisana do tego przypisania zasad. Jeśli zostanie podana wartość "UserAssigned", tożsamość przypisana przez użytkownika przekazana za pośrednictwem jego identyfikatora do parametru -IdentityId zostanie przypisana do tego przypisania zasad. Tożsamość będzie używana podczas wykonywania wdrożeń dla zasad "deployIfNotExists" i "modify". Lokalizacja jest wymagana podczas przypisywania tożsamości. Uprawnienia muszą zostać przyznane tożsamości przy użyciu polecenia New-AzRoleAssignment po utworzeniu tożsamości przypisanej przez system. Parametr IdentityType będzie mieć pierwszeństwo, jeśli są używane zarówno parametr AssignIdentity, jak i IdentityType.
Typ: | Nullable<T>[ManagedIdentityType] |
Dopuszczalne wartości: | SystemAssigned, UserAssigned, None |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Obiekt przypisania zasad w celu zaktualizowania danych wyjściowych z innego polecenia cmdlet.
Typ: | PsPolicyAssignment |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Location
Lokalizacja tożsamości zasobu przypisania zasad. Jest to wymagane, gdy zostanie podana wartość -IdentityType.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Metadata
Zaktualizowane metadane przypisania zasad. Może to być ścieżka do nazwy pliku zawierającej metadane lub metadanych jako ciąg.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwę przypisania zasad, które modyfikuje to polecenie cmdlet.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-NonComplianceMessage
Komunikaty o niezgodności, które opisują, dlaczego zasób jest niezgodny z zasadami.
Typ: | PsNonComplianceMessage[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-NotScope
Przypisanie zasad nie obejmuje zakresów.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PolicyParameter
Nowa ścieżka pliku lub ciąg parametrów zasad dla przypisania zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PolicyParameterObject
Nowy obiekt parametrów zasad dla przypisania zasad.
Typ: | Hashtable |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Pre
Wskazuje, że to polecenie cmdlet uwzględnia wersje interfejsu API wersji wstępnej, gdy automatycznie określa wersję do użycia.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Scope
Określa zakres, w którym są stosowane zasady.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
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]]