Polecenie cmdlet New-AzPolicyAssignment tworzy lub 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. Przypisanie zasad na poziomie subskrypcji
Pierwsze polecenie pobiera subskrypcję o nazwie Subscription01 przy użyciu polecenia cmdlet Get-AzSubscription i zapisuje ją w zmiennej $Subscription.
Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Ostatnie polecenie przypisuje zasady w $Policy na poziomie subskrypcji zidentyfikowanej przez ciąg zakresu subskrypcji.
Przykład 2. Przypisanie zasad na poziomie grupy zasobów
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup i zapisuje ją w zmiennej $ResourceGroup.
Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Ostatnie polecenie przypisuje zasady w $Policy na poziomie grupy zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup.
Przykład 3. Przypisanie zasad na poziomie grupy zasobów z obiektem parametru zasad
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 wbudowaną definicję zasad dla dozwolonych lokalizacji przy użyciu polecenia cmdlet Get-AzPolicyDefinition.
Polecenie przechowuje ten obiekt w zmiennej $Policy.
Trzecie i czwarte polecenia tworzą obiekt zawierający wszystkie regiony platformy Azure o nazwie "east".
Polecenia przechowują ten obiekt w zmiennej $AllowedLocations.
Ostatnie polecenie przypisuje zasady w $Policy na poziomie grupy zasobów przy użyciu obiektu parametru zasad w $AllowedLocations.
Właściwość ResourceId $ResourceGroup identyfikuje grupę zasobów.
Przykład 4. Przypisanie zasad na poziomie grupy zasobów z plikiem parametrów zasad
Pierwsze polecenie tworzy plik parametrów o nazwie AllowedLocations.json w lokalnym katalogu roboczym.
Drugie polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup i zapisuje ją w zmiennej $ResourceGroup.
Trzecie polecenie pobiera wbudowaną definicję zasad dla dozwolonych lokalizacji przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje je w zmiennej $Policy.
Ostatnie polecenie przypisuje zasady w $Policy w grupie zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup przy użyciu pliku parametrów zasad AllowedLocations.json z lokalnego katalogu roboczego.
Przykład 5. Przypisanie zasad z przypisaną przez system tożsamością zarządzaną
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup i zapisuje ją w zmiennej $ResourceGroup.
Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Ostatnie polecenie przypisuje zasady w $Policy do grupy zasobów.
Tożsamość zarządzana przypisana przez system jest tworzona automatycznie i przypisywana do przypisania zasad.
Przykład 6. Przypisanie zasad z tożsamością zarządzaną przypisaną przez użytkownika
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup i zapisuje ją w zmiennej $ResourceGroup.
Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Trzecie 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 zasady w $Policy do grupy zasobów.
Tożsamość zarządzana przypisana przez użytkownika zidentyfikowana przez właściwość Id $UserAssignedIdentity jest przypisywana do przypisania zasad przez przekazanie właściwości Id* do parametru IdentityId.
Przykład 7. Przypisanie zasad z właściwością trybu wymuszania
Pierwsze polecenie pobiera subskrypcję o nazwie Subscription01 przy użyciu polecenia cmdlet Get-AzSubscription i zapisuje ją w zmiennej $Subscription.
Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Ostatnie polecenie przypisuje zasady w $Policy na poziomie subskrypcji zidentyfikowanej przez ciąg zakresu subskrypcji.
Przypisanie jest ustawiane przy użyciu wartości EnforcementMode usługi DoNotEnforce , tj. efekt zasad nie jest wymuszany podczas tworzenia lub aktualizowania zasobów.
Przykład 8. Przypisanie zasad z komunikatami o niezgodności
$PolicySet = Get-AzPolicySetDefinition -Name 'VirtualMachinePolicySet'
$NonComplianceMessages = @(@{Message="Only DsV2 SKUs are allowed."; PolicyDefinitionReferenceId="DefRef1"}, @{Message="Virtual machines must follow cost management best practices."})
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicySetDefinition $PolicySet -NonComplianceMessage $NonComplianceMessages
Pierwsze polecenie pobiera definicję zestawu zasad o nazwie VirtualMachinePolicySet przy użyciu polecenia cmdlet Get-AzPolicySetDefinition i zapisuje ją w zmiennej $PolicySet.
Drugie polecenie tworzy tablicę komunikatów o niezgodności.
Jeden komunikat ogólnego przeznaczenia dla całego przypisania i jeden komunikat specyficzny dla zasad ograniczeń jednostki SKU w ramach przypisanej definicji zestawu zasad.
Ostatnie polecenie przypisuje definicję zestawu zasad w $PolicySet do subskrypcji z dwoma komunikatami o niezgodności, które będą wyświetlane, jeśli zasób zostanie odrzucony przez zasady.
Przykład 9. Przypisanie zasad z selektorem zasobów
Pierwsze polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Drugie polecenie tworzy obiekt selektora zasobów, który będzie używany do określania przypisania powinien dotyczyć tylko zasobów znajdujących się w regionie Wschodnie stany USA lub Wschodnie stany USA 2 i przechowuje go w zmiennej $ResourceSelector.
Ostatnie polecenie przypisuje definicję zasad w $Policy do subskrypcji przy użyciu selektora zasobów określonego przez $ResourceSelector.
Przykład 10: Przypisanie zasad za pomocą przesłonięcia
Pierwsze polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje ją w zmiennej $Policy.
Drugie polecenie tworzy selektor lokalizacji określający lokalizację Wschodnie stany USA lub Wschodnie stany USA 2 i zapisuje je w zmiennej $Selector.
Trzecie 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 obiekt $Selector i przechowuje go w zmiennej $Override.
Ostatnie polecenie przypisuje definicję zasad w $Policy do subskrypcji z zastąpieniem określonym przez $Override.
Przykład 11: [Backcompat] Przypisanie zasad na poziomie grupy zasobów z obiektem parametru zasad
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 wbudowaną definicję zasad dla dozwolonych lokalizacji przy użyciu polecenia cmdlet Get-AzPolicyDefinition.
Polecenie przechowuje ten obiekt w zmiennej $Policy.
Trzecie i czwarte polecenia tworzą obiekt zawierający wszystkie regiony platformy Azure o nazwie "east".
Polecenia przechowują ten obiekt w zmiennej $AllowedLocations.
Ostatnie polecenie przypisuje zasady w $Policy na poziomie grupy zasobów przy użyciu obiektu parametru zasad w $AllowedLocations.
Właściwość ResourceId $ResourceGroup identyfikuje grupę zasobów.
Przykład 12: [Backcompat] Przypisanie zasad na poziomie grupy zasobów z plikiem parametrów zasad
Pierwsze polecenie tworzy plik parametrów o nazwie AllowedLocations.json w lokalnym katalogu roboczym.
Drugie polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzResourceGroup i zapisuje ją w zmiennej $ResourceGroup.
Trzecie polecenie pobiera wbudowaną definicję zasad dla dozwolonych lokalizacji przy użyciu polecenia cmdlet Get-AzPolicyDefinition i zapisuje je w zmiennej $Policy.
Ostatnie polecenie przypisuje zasady w $Policy w grupie zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup przy użyciu pliku parametrów zasad AllowedLocations.json z lokalnego katalogu roboczego.
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.
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}".
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.
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Źródło tej treści można znaleźć na GitHubie, gdzie można także tworzyć i przeglądać problemy oraz pull requesty. Więcej informacji znajdziesz w naszym przewodniku dla współautorów.