Поделиться через


New-AzureRmPolicyAssignment

Создает назначение политики.

Предупреждение

Модуль AzureRM PowerShell официально объявлен устаревшим с 29 февраля 2024 г. Пользователям рекомендуется выполнить миграцию из AzureRM в модуль Az PowerShell, чтобы обеспечить постоянную поддержку и обновления.

Хотя модуль AzureRM по-прежнему может функционировать, он больше не поддерживается или не поддерживается, размещая любое постоянное использование на усмотрение и риск пользователя. Ознакомьтесь с нашими ресурсами миграции, чтобы получить рекомендации по переходу в модуль Az.

Синтаксис

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Описание

Командлет New-AzureRmPolicyAssignment создает назначение политики. Укажите политику и область.

Примеры

Пример 1. Назначение политики на уровне группы ресурсов

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzureRMResourceGroup и сохраняет ее в переменной $ResourceGroup. Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzureRmPolicyDefinition и сохраняет его в переменной $Policy. Последняя команда назначает политику в $Policy на уровне группы ресурсов, определяемой свойством ResourceId $ResourceGroup.

Пример 2. Назначение политики на уровне группы ресурсов с объектом параметра политики

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzureRMResourceGroup. Команда сохраняет этот объект в переменной $ResourceGroup. Вторая команда получает встроенное определение политики для разрешенных расположений с помощью командлета Get-AzureRmPolicyDefinition. Команда сохраняет этот объект в переменной $Policy. Третий и четвертый команды создают объект, содержащий все регионы Azure с "востоком" в имени. Команды хранят этот объект в переменной $AllowedLocations. Последняя команда назначает политику в $Policy на уровне группы ресурсов с помощью объекта параметра политики в $AllowedLocations. Свойство ResourceId $ResourceGroup определяет группу ресурсов.

Пример 3. Назначение политики на уровне группы ресурсов с файлом параметров политики

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

{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzureRMResourceGroup и сохраняет ее в переменной $ResourceGroup. Вторая команда получает встроенное определение политики для разрешенных расположений с помощью командлета Get-AzureRmPolicyDefinition и сохраняет его в переменной $Policy. Последняя команда назначает политику в $Policy в группе ресурсов, определяемой свойством ResourceId $ResourceGroup с помощью файла параметров политики AllowedLocations.json из локального рабочего каталога.

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

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

Первая команда получает группу ресурсов с именем ResourceGroup11 с помощью командлета Get-AzureRMResourceGroup и сохраняет ее в переменной $ResourceGroup. Вторая команда получает определение политики с именем VirtualMachinePolicy с помощью командлета Get-AzureRmPolicyDefinition и сохраняет его в переменной $Policy. Последняя команда назначает политику в $Policy группе ресурсов. Управляемое удостоверение автоматически создается и назначается назначению политики.

Параметры

-ApiVersion

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AssignIdentity

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultProfile

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

Тип:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Description

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-DisplayName

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-InformationAction

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

  • Продолжить
  • Пропустить
  • Спрашивать
  • SilentlyContinue
  • Остановить
  • Приостановить
Тип:ActionPreference
Aliases:infa
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InformationVariable

Указывает переменную сведений.

Тип:String
Aliases:iv
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Location

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Metadata

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Name

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

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-NotScope

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PolicyDefinition

Указывает политику в качестве объекта PsPolicyDefinition , содержащего правило политики.

Тип:PSObject
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PolicyParameter

Путь к файлу параметров политики или строка параметров политики.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PolicyParameterObject

Объект параметра политики.

Тип:Hashtable
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PolicySetDefinition

Объект определения набора политик.

Тип:PSObject
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Pre

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Scope

Указывает область назначения политики. Например, чтобы назначить политику группе ресурсов, укажите следующее: /subscriptions/имя группы ресурсов идентификатора/resourcegroups/подписки

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Sku

Хэш-таблица, представляющая свойства SKU. По умолчанию номер SKU "Бесплатный" со значениями: @{Name = 'A0'; Tier = 'Free'} Чтобы использовать номер SKU "Стандартный", используйте значения: @{Name = 'A1'; Tier = 'Standard'}

Тип:Hashtable
Aliases:SkuObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False