Partilhar via


New-AzPolicyDefinition

Cria ou atualiza uma definição de política.

Syntax

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

Description

O cmdlet New-AzPolicyDefinition cria ou atualiza uma definição de política que inclui um formato JSON de regra de política.

Exemplos

Exemplo 1: Criar uma definição de política usando um arquivo de política

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

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

Este comando cria uma definição de política chamada LocationDefinition que contém a regra de política especificada em C:\LocationPolicy.json. Exemplo de conteúdo para o arquivo LocationPolicy.json é fornecido acima. Há suporte para três formatos de conteúdo de arquivo: 1. Somente regra de política (exemplo acima). 2. Objeto de propriedades da política. Esse formato é exibido no portal ao editar uma definição de política e pode incluir parâmetros. 3. Objeto político completo. Esse formato é gerado pela função de exportação da Política do Azure e pode incluir parâmetros.

Nota: Os valores fornecidos na linha de comando (por exemplo, parâmetros, metadados) substituem os valores correspondentes presentes no arquivo.

Exemplo 2: Criar uma definição de política parametrizada usando parâmetros embutidos

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

Este comando cria uma definição de política chamada LocationDefinition que contém a regra de política especificada em C:\LocationPolicy.json. A definição de parâmetro para a regra de política é fornecida em linha.

Exemplo 3: Criar uma definição de política embutida em um grupo de gerenciamento

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

Este comando cria uma definição de política chamada VMPolicyDefinition no grupo de gerenciamento Dept42. O comando especifica a política como uma cadeia de caracteres no formato JSON válido.

Exemplo 4: Criar uma definição de política alinhada com metadados

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

Este comando cria uma definição de política chamada VMPolicyDefinition com metadados indicando que sua categoria é "Máquina Virtual". O comando especifica a política como uma cadeia de caracteres no formato JSON válido.

Exemplo 5: Criar uma definição de política alinhada com o modo

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

Este comando cria uma definição de política chamada TagsPolicyDefinition com o modo "Indexado" indicando que a política deve ser avaliada apenas para tipos de recursos que suportam tags e localização.

Parâmetros

-BackwardCompatible

Faz com que o cmdlet retorne artefatos usando o formato herdado colocando propriedades específicas da política em um objeto de pacote de propriedades.

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

-Confirm

Solicita a sua confirmação antes de executar o cmdlet.

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

-DefaultProfile

O parâmetro DefaultProfile não é funcional. Use o parâmetro SubscriptionId quando disponível se estiver executando o cmdlet em uma assinatura diferente.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

A descrição da definição da política.

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

-DisplayName

O nome para exibição da definição de política.

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

-ManagementGroupName

A ID do grupo de gerenciamento.

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

-Metadata

Os metadados de definição de política. Os metadados são um objeto aberto e normalmente são uma coleção de pares de valores de chave.

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

-Mode

O modo de definição de política. Alguns exemplos são All, Indexed, Microsoft.KeyVault.Data.

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

-Name

O nome da definição de política a ser criada.

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

-Parameter

As definições de parâmetros para parâmetros usados na regra de política. As chaves são os nomes dos parâmetros.

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

-Policy

A regra política.

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

-SubscriptionId

A ID da assinatura de destino.

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

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

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

Entradas

String

Saídas

IPolicyDefinition