Udostępnij za pośrednictwem


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

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]]

PsPolicyAssignment

PsNonComplianceMessage[]

Dane wyjściowe

PsPolicyAssignment