Командлет New-AzPolicyAssignment создает или обновляет назначение политики с заданной областью и именем.
Назначения политик применяются ко всем ресурсам, содержащимся в их области.
Например, при назначении политики в области группы ресурсов эта политика применяется ко всем ресурсам в группе.
Первая команда получает подписку с именем Subscription01 с помощью командлета Get-AzSubscription и сохраняет ее в переменной $Subscription.
Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Последняя команда назначает политику в $Policy на уровне подписки, определенной строкой области подписки.
Пример 2. Назначение политики на уровне группы ресурсов
Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup и сохраняет ее в переменной $ResourceGroup.
Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Последняя команда назначает политику в $Policy на уровне группы ресурсов, определяемой свойством ResourceId $ResourceGroup.
Пример 3. Назначение политики на уровне группы ресурсов с объектом параметра политики
Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup.
Команда сохраняет этот объект в переменной $ResourceGroup.
Вторая команда получает встроенное определение политики для разрешенных расположений с помощью командлета Get-AzPolicyDefinition.
Команда сохраняет этот объект в переменной $Policy.
Третий и четвертый команды создают объект, содержащий все регионы Azure с "востоком" в имени.
Команды хранят этот объект в переменной $AllowedLocations.
Последняя команда назначает политику в $Policy на уровне группы ресурсов с помощью объекта параметра политики в $AllowedLocations.
Свойство ResourceId $ResourceGroup определяет группу ресурсов.
Пример 4. Назначение политики на уровне группы ресурсов с файлом параметров политики
Первая команда создает файл параметров с именемAllowedLocations.json в локальном рабочем каталоге.
Вторая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup и сохраняет ее в переменной $ResourceGroup.
Третья команда получает встроенное определение политики для разрешенных расположений с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Последняя команда назначает политику в $Policy в группе ресурсов, определяемой свойством ResourceId $ResourceGroup с помощью файла параметров политики AllowedLocations.json из локального рабочего каталога.
Пример 5. Назначение политики с назначенным системой управляемым удостоверением
Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup и сохраняет ее в переменной $ResourceGroup.
Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Последняя команда назначает политику в $Policy группе ресурсов.
Управляемое удостоверение, назначаемое системой, автоматически создается и назначается назначению политики.
Пример 6. Назначение политики с назначенным пользователем управляемым удостоверением
Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup и сохраняет ее в переменной $ResourceGroup.
Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Третья команда получает управляемое удостоверение, назначаемое пользователем с именем UserAssignedIdentity1, с помощью командлета Get-AzUserAssignedIdentity и сохраняет его в переменной $UserAssignedIdentity.
Последняя команда назначает политику в $Policy группе ресурсов.
Назначенное пользователем управляемое удостоверение, определяемое свойством id $UserAssignedIdentity, назначается назначению политики путем передачи свойства Id* параметру IdentityId.
Пример 7. Назначение политики со свойством режима принудительного применения
Первая команда получает подписку с именем Subscription01 с помощью командлета Get-AzSubscription и сохраняет ее в переменной $Subscription.
Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Последняя команда назначает политику в $Policy на уровне подписки, определенной строкой области подписки.
Назначение устанавливается со значением EnforcementMode DoNotEnforce , т. е. эффект политики не применяется во время создания или обновления ресурсов.
Пример 8. Назначение политики с сообщениями о несоответствии
$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
Первая команда получает определение набора политик с именем VirtualMachinePolicySet с помощью командлета Get-AzPolicySetDefinition и сохраняет его в переменной $PolicySet.
Вторая команда создает массив сообщений о несоответствии.
Одно сообщение общего назначения и одно сообщение, конкретное для политики ограничений SKU в определении назначенного набора политик.
Последняя команда назначает определение набора политик в $PolicySet подписке с двумя сообщениями о несоответствии, которые будут отображаться, если ресурс запрещен политикой.
Пример 9. Назначение политики с селектором ресурсов
Первая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Вторая команда создает объект селектора ресурсов, который будет использоваться для указания назначения, должен применяться только к ресурсам, расположенным в восточной части США или восточной части США 2, и сохраняет его в переменной $ResourceSelector.
Последняя команда назначает определение политики в $Policy подписке с селектором ресурсов, указанным $ResourceSelector.
Первая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Вторая команда создает селектор расположения, указывающий расположения восточной части США или восточной части США 2 и сохраняет его в переменной $Selector.
Третья команда создает объект переопределения, который будет использоваться для указания того, что назначенное определение должно иметь отключенный эффект в расположениях, определенных объектом $Selector, и сохраняет его в переменной $Override.
Последняя команда назначает определение политики в $Policy подписке с переопределением, указанным $Override.
Пример 11. Назначение политики [Backcompat] на уровне группы ресурсов с объектом параметра политики
Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup.
Команда сохраняет этот объект в переменной $ResourceGroup.
Вторая команда получает встроенное определение политики для разрешенных расположений с помощью командлета Get-AzPolicyDefinition.
Команда сохраняет этот объект в переменной $Policy.
Третий и четвертый команды создают объект, содержащий все регионы Azure с "востоком" в имени.
Команды хранят этот объект в переменной $AllowedLocations.
Последняя команда назначает политику в $Policy на уровне группы ресурсов с помощью объекта параметра политики в $AllowedLocations.
Свойство ResourceId $ResourceGroup определяет группу ресурсов.
Пример 12. Назначение политики [Backcompat] на уровне группы ресурсов с файлом параметров политики
Первая команда создает файл параметров с именемAllowedLocations.json в локальном рабочем каталоге.
Вторая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup и сохраняет ее в переменной $ResourceGroup.
Третья команда получает встроенное определение политики для разрешенных расположений с помощью командлета Get-AzPolicyDefinition и сохраняет его в переменной $Policy.
Последняя команда назначает политику в $Policy в группе ресурсов, определяемой свойством ResourceId $ResourceGroup с помощью файла параметров политики AllowedLocations.json из локального рабочего каталога.
Параметры
-BackwardCompatible
Позволяет командлету возвращать артефакты с помощью устаревшего формата размещения свойств, относящихся к политике, в объекте контейнера свойств.
Удостоверение пользователя, связанное с политикой.
Ссылки на ключ словаря удостоверений пользователя будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
Сообщения, описывающие, почему ресурс не соответствует политике.
Сведения о создании см. в разделе NOTES для свойств NONCOMPLIANCEMESSAGE и создания хэш-таблицы.
Область назначения политики.
Допустимые области: группа управления (формат :/providers/Microsoft.Management/managementGroups/{managementGroup}), подписка (формат '/subscriptions/{subscriptionId}'), группа ресурсов (формат :/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', или ресурс (формат: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}"
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.