Set-AzPolicyAssignment

Изменяет назначение политики.

Синтаксис

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

Описание

Командлет Set-AzPolicyAssignment изменяет назначение политики. Укажите назначение по идентификатору или по имени и область.

Примеры

Пример 1. Обновление отображаемого имени

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'

Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup. Команда сохраняет этот объект в переменной $ResourceGroup. Вторая команда получает назначение политики с именем PolicyAssignment с помощью командлета Get-AzPolicyAssignment. Команда сохраняет этот объект в переменной $PolicyAssignment. Последняя команда обновляет отображаемое имя назначения политики в группе ресурсов, определяемой свойством ResourceId $ResourceGroup.

Пример 2. Добавление управляемого удостоверения, назначаемого системой, в назначение политики

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'

Первая команда получает назначение политики с именем PolicyAssignment из текущей подписки с помощью командлета Get-AzPolicyAssignment. Команда сохраняет этот объект в переменной $PolicyAssignment. Последняя команда назначает управляемому удостоверению, назначенному системой, назначение политики.

Пример 3. Добавление управляемого удостоверения, назначаемого пользователем, в назначение политики

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
 Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id

Первая команда получает назначение политики с именем PolicyAssignment из текущей подписки с помощью командлета Get-AzPolicyAssignment. Команда сохраняет этот объект в переменной $PolicyAssignment. Вторая команда получает управляемое удостоверение с именем UserAssignedIdentity1 с помощью командлета Get-AzUserAssignedIdentity и сохраняет его в переменной $UserAssignedIdentity. Последняя команда назначает управляемому удостоверению, назначенному пользователем, идентифицируемому свойством идентификатора $UserAssignedIdentity назначению политики.

Пример 4. Обновление параметров назначения политики с помощью нового объекта параметра политики

$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

Первая и вторая команды создают объект, содержащий все регионы Azure, имена которых начинаются с "france" или "uk". Вторая команда сохраняет этот объект в переменной $AllowedLocations. Третья команда получает назначение политики с именем PolicyAssignment. Команда сохраняет этот объект в переменной $PolicyAssignment. Последняя команда обновляет значения параметров для назначения политики с именем PolicyAssignment.

Пример 5. Обновление параметров назначения политики с помощью файла параметров политики

Создайте файл с именем AllowedLocations.json в локальном рабочем каталоге со следующим содержимым.

{
    "listOfAllowedLocations":  {
      "value": [
        "uksouth",
        "ukwest",
        "francecentral",
        "francesouth"
      ]
    }
}

Set-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json

Команда обновляет назначение политики с именем PolicyAssignment с помощью файла параметров политики AllowedLocations.json из локального рабочего каталога.

Пример 6. Обновление объекта enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzResourceGroup. Команда сохраняет этот объект в переменной $ResourceGroup. Вторая команда получает назначение политики с именем PolicyAssignment с помощью командлета Get-AzPolicyAssignment. Команда сохраняет этот объект в переменной $PolicyAssignment. Последняя команда обновляет свойство enforcementMode для назначения политики в группе ресурсов, определяемой свойством ResourceId $ResourceGroup.

Пример 7. Обновление сообщений о несоответствии

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}

Первая команда получает назначение политики с именем VirtualMachinePolicy с помощью командлета Get-AzPolicyAssignment и сохраняет его в переменной $PolicyAssignment. Последняя команда обновляет сообщения о несоответствии назначению политики новым сообщением, которое будет отображаться, если ресурс запрещен политикой.

Параметры

-ApiVersion

Указывает версию API поставщика ресурсов для использования. Если вы не указываете версию, этот командлет использует последнюю доступную версию.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssignIdentity

Создайте и назначьте управляемое удостоверение, назначенное системой, для этого назначения политики. Удостоверение будет использоваться при выполнении развертываний для политик deployIfNotExists и "modify". При назначении удостоверения требуется расположение.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Описание назначения политики

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Задает новое отображаемое имя назначения политики.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnforcementMode

Режим принудительного применения для назначения политики. В настоящее время допустимые значения : Default, DoNotEnforce.

Type:Nullable<T>[PolicyAssignmentEnforcementMode]
Accepted values:Default, DoNotEnforce
Position:Named
Default value:Default
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

Указывает полный идентификатор ресурса для назначения политики, который изменяет этот командлет.

Type:String
Aliases:ResourceId
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

Указывает идентификатор управляемого удостоверения, назначаемого пользователем, чтобы назначить этому назначению политики. Это значение необходимо, если значение UserAssigned передается параметру -IdentityType.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

Указывает тип управляемого удостоверения, назначаемого этому назначению политики. Если задано значение SystemAssigned, то управляемое удостоверение, назначенное системой, создается и назначается этому назначению политики. Если задано значение UserAssigned, назначенное пользователем удостоверение, переданное через идентификатор параметру -IdentityId, назначается этому назначению политики. Удостоверение будет использоваться при выполнении развертываний для политик deployIfNotExists и "modify". При назначении удостоверения требуется расположение. Разрешения должны быть предоставлены удостоверению с помощью New-AzRoleAssignment после создания удостоверения, назначенного системой. Параметр IdentityType будет иметь приоритет, если используется параметр AssignIdentity и IdentityType.

Type:Nullable<T>[ManagedIdentityType]
Accepted values:SystemAssigned, UserAssigned, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Объект назначения политики для обновления, который был получен из другого командлета.

Type:PsPolicyAssignment
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

Расположение удостоверения ресурса назначения политики. Это необходимо, если задано значение -IdentityType.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Обновленные метаданные назначения политики. Это может быть путь к имени файла, содержащего метаданные, или метаданные в виде строки.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Указывает имя назначения политики, которое изменяет этот командлет.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NonComplianceMessage

Сообщения о несоответствии, описывающие, почему ресурс не соответствует политике.

Type:PsNonComplianceMessage[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

Назначение политики не область.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Новый путь к файлу параметров политики или строка для назначения политики.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

Новый объект параметров политики для назначения политики.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Pre

Указывает, что этот командлет рассматривает версии API предварительной версии, когда она автоматически определяет, какую версию следует использовать.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Указывает область, к которой применяется политика.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Входные данные

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

Выходные данные

PsPolicyAssignment