New-AzPolicyDefinition
Создает определение политики.
Синтаксис
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
-ManagementGroupName <String>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
-SubscriptionId <Guid>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Описание
Командлет New-AzPolicyDefinition создает определение политики, включающее правило политики в формате нотации объектов JavaScript (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. Поддерживаются три формата содержимого файла:
- Только правило политики (пример выше).
- Объект свойств политики. Этот формат отображается на портале при редактировании определения политики и может включать параметры.
- Полный объект политики. Этот формат создается функцией экспорта Политика 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"}}'
Name : VMPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName : VMPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
Эта команда создает определение политики с именем VMPolicyDefinition с метаданными, указывающими, что ее категория — "Виртуальная машина". Команда указывает политику в виде строки в допустимом формате JSON.
Пример 5. Создание определения политики в режиме
New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed
Name : TagsPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
ResourceName : TagsPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=TagsPolicyDefinition; policyType=Custom; mode=Indexed; metadata=; parameters=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/TagsPolicyDefinition
Эта команда создает определение политики с именем TagsPolicyDefinition с режимом "Indexed", указывающее, что политика должна оцениваться только для типов ресурсов, поддерживающих теги и расположение.
Параметры
-ApiVersion
Указывает версию API поставщика ресурсов для использования. Если вы не указываете версию, этот командлет использует последнюю доступную версию.
Тип: | String |
Position: | Named |
значение по умолчанию: | None |
Обязательно: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure
Тип: | IAzureContextContainer |
Aliases: | AzContext, 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
Режим определения политики
Тип: | String |
Position: | Named |
значение по умолчанию: | All |
Обязательно: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Задает имя определения политики.
Тип: | String |
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
Задает правило политики для определения политики. Можно указать путь к файлу .json или строке, содержащей политику в формате JSON.
Тип: | String |
Position: | Named |
значение по умолчанию: | None |
Обязательно: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Pre
Указывает, что этот командлет рассматривает версии API предварительной версии, когда она автоматически определяет, какую версию следует использовать.
Тип: | SwitchParameter |
Position: | Named |
значение по умолчанию: | None |
Обязательно: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubscriptionId
Идентификатор подписки нового определения политики.
Тип: | Nullable<T>[Guid] |
Position: | Named |
значение по умолчанию: | None |
Обязательно: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Входные данные
Nullable<T>[[System.Guid, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]