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


New-AzPolicyDefinition

Создает или обновляет определение политики.

Синтаксис

New-AzPolicyDefinition
   -Name <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   -ManagementGroupName <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyDefinition
   -Name <String>
   -SubscriptionId <String>
   -Policy <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Описание

Командлет New-AzPolicyDefinition создает или обновляет определение политики, включающее формат JSON правила политики.

Примеры

Пример 1. Создание определения политики с помощью файла политики

{
   "if": {
      "field": "location",
      "notIn": ["eastus", "westus", "centralus"]
   },
   "then": {
      "effect": "audit"
   }
}

New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Эта команда создает определение политики с именем LocationDefinition, содержащее правило политики, указанное в C:\LocationPolicy.json. Ниже приведен пример содержимого для файла LocationPolicy.json. Поддерживаются три формата содержимого файла: 1. Только правило политики (пример выше). 2. Объект свойств политики. Этот формат отображается на портале при редактировании определения политики и может включать параметры. 3. Полный объект политики. Этот формат создается функцией экспорта Политика Azure и может включать параметры.

Примечание. Значения, предоставленные в командной строке (например, параметры, метаданные), переопределяют соответствующие значения, присутствующих в файле.

Пример 2. Создание параметризованного определения политики с помощью встроенных параметров

{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'

Эта команда создает определение политики с именем LocationDefinition, содержащее правило политики, указанное в C:\LocationPolicy.json. Определение параметра для правила политики предоставляется встроенным образом.

Пример 3. Создание встроенного определения политики в группе управления

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'

Эта команда создает определение политики с именем VMPolicyDefinition в группе управления Dept42. Команда указывает политику в виде строки в допустимом формате JSON.

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

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' | Format-List

Эта команда создает определение политики с именем VMPolicyDefinition с метаданными, указывающими, что ее категория — "Виртуальная машина". Команда указывает политику в виде строки в допустимом формате JSON.

Пример 5. Создание определения политики в режиме

New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed

Эта команда создает определение политики с именем TagsPolicyDefinition с режимом "Indexed", указывающее, что политика должна оцениваться только для типов ресурсов, поддерживающих теги и расположение.

Параметры

-BackwardCompatible

Позволяет командлету возвращать артефакты с помощью устаревшего формата размещения свойств, относящихся к политике, в объекте контейнера свойств.

Тип:SwitchParameter
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Параметр DefaultProfile не работает. Используйте параметр SubscriptionId, если он доступен при выполнении командлета в другой подписке.

Тип:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

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

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

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

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-ManagementGroupName

Идентификатор группы управления.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Метаданные определения политики. Метаданные — это открытый завершенный объект, который обычно представляет собой коллекцию пар значений ключей.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-Mode

Режим определения политики. Ниже приведены примеры All, Indexed, Microsoft.KeyVault.Data.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Имя создаваемого определения политики.

Тип:String
Aliases:PolicyDefinitionName
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-Parameter

Определения параметров для параметров, используемых в правиле политики. Ключи — это имена параметров.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-Policy

Правило политики.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-SubscriptionId

Идентификатор целевой подписки.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

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

String

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

IPolicyDefinition