Compartilhar via


New-AzureRmPolicyDefinition

Cria uma definição de política.

Aviso

O módulo PowerShell do AzureRM foi oficialmente preterido a partir de 29 de fevereiro de 2024. Os usuários são aconselhados a migrar do AzureRM para o módulo do Az PowerShell para garantir o suporte e as atualizações contínuas.

Embora o módulo AzureRM ainda possa funcionar, ele não tem suporte ou será mantido, colocando qualquer uso contínuo a critério e risco do usuário. Consulte nossos recursos de migração para obter diretrizes sobre a transição para o módulo Az.

Sintaxe

New-AzureRmPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <PolicyDefinitionMode>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <PolicyDefinitionMode>]
   -ManagementGroupName <String>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyDefinition
   -Name <String>
   [-DisplayName <String>]
   [-Description <String>]
   -Policy <String>
   [-Metadata <String>]
   [-Parameter <String>]
   [-Mode <PolicyDefinitionMode>]
   -SubscriptionId <Guid>
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Description

O cmdlet New-AzureRmPolicyDefinition cria uma definição de política que inclui uma regra de política no formato JSON (JavaScript Object Notation).

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"
   }
}

PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

Esse comando cria uma definição de política chamada LocationDefinition que contém a regra de política especificada em C:\LocationPolicy.json. O conteúdo de exemplo para o arquivo LocationPolicy.json é fornecido acima.

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

{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}

PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'

Esse 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 embutida.

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

PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"then":{"effect":"deny"}}'

Esse 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 em formato JSON válido.

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

PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"Category":"Virtual Machine"}' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"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

Esse 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 em formato JSON válido.

Parâmetros

-ApiVersion

Especifica a versão da API do provedor de recursos a ser usada. Se você não especificar uma versão, esse cmdlet usará a versão mais recente disponível.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usadas para comunicação com o Azure

Tipo:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Description

Especifica uma descrição para a definição de política.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-DisplayName

Especifica um nome de exibição para a definição de política.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-InformationAction

Especifica como esse cmdlet responde a um evento de informação. Os valores aceitáveis para esse parâmetro são:

  • Continuar
  • Ignorar
  • Perguntar
  • SilentlyContinue
  • Parar
  • Suspend
Tipo:ActionPreference
Aliases:infa
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InformationVariable

Especifica uma variável de informação.

Tipo:String
Aliases:iv
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ManagementGroupName

O nome do grupo de gerenciamento da nova definição de política.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Metadata

Os metadados para definição de política. Pode ser um caminho para um nome de arquivo que contém os metadados ou os metadados como string

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Mode

O modo da definição de política

Tipo:Nullable<T>[PolicyDefinitionMode]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica um nome para a definição de política.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Parameter

A declaração de parâmetros para definição de política. Isso pode ser um caminho para um nome de arquivo que contém a declaração de parâmetros ou a declaração de parâmetros como string.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Policy

Especifica uma regra de política para a definição de política. Você pode especificar o caminho de um arquivo .json ou de uma cadeia de caracteres que contém a política no formato JSON.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Pre

Indica que esse cmdlet considera versões de API de pré-lançamento quando determina automaticamente qual versão usar.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SubscriptionId

A ID da assinatura da nova definição de política.

Tipo:Nullable<T>[Guid]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False