Share via


Policy Definitions - Create Or Update

Cria ou atualiza uma definição de política em uma assinatura.
Essa operação cria ou atualiza uma definição de política na assinatura fornecida com o nome fornecido.

PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}?api-version=2023-04-01

Parâmetros de URI

Nome Em Obrigatório Tipo Description
policyDefinitionName
path True

string

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

Regex pattern: ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$

subscriptionId
path True

string

uuid

A ID da assinatura de destino. O valor deve ser um UUID.

api-version
query True

string

A versão da API a ser usada para esta operação.

Corpo da solicitação

Nome Tipo Description
properties.description

string

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

properties.displayName

string

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

properties.metadata

object

Os metadados de definição de política. Metadados é um objeto aberto encerrado e normalmente é uma coleção de pares chave-valor.

properties.mode

string

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

properties.parameters

<string,  ParameterDefinitionsValue>

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

properties.policyRule

object

A regra de política.

properties.policyType

policyType

O tipo de definição de política. Os valores possíveis são NotSpecified, BuiltIn, Custom e Static.

properties.version

string

A versão de definição de política no formato #.#.#.

properties.versions

string[]

Uma lista de versões disponíveis para essa definição de política.

Respostas

Nome Tipo Description
201 Created

PolicyDefinition

Criado – retorna informações sobre a definição de política.

Other Status Codes

CloudError

Resposta de erro que descreve por que a operação falhou.

Segurança

azure_auth

Fluxo OAuth2 do Azure Active Directory.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nome Description
user_impersonation representar sua conta de usuário

Exemplos

Create or update a policy definition
Create or update a policy definition with advanced parameters

Create or update a policy definition

Sample Request

PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming?api-version=2023-04-01

{
  "properties": {
    "mode": "All",
    "displayName": "Enforce resource naming convention",
    "description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'",
    "metadata": {
      "category": "Naming"
    },
    "policyRule": {
      "if": {
        "not": {
          "field": "name",
          "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]"
        }
      },
      "then": {
        "effect": "deny"
      }
    },
    "parameters": {
      "prefix": {
        "type": "String",
        "metadata": {
          "displayName": "Prefix",
          "description": "Resource name prefix"
        }
      },
      "suffix": {
        "type": "String",
        "metadata": {
          "displayName": "Suffix",
          "description": "Resource name suffix"
        }
      }
    }
  }
}

Sample Response

{
  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "ResourceNaming",
  "properties": {
    "mode": "All",
    "displayName": "Naming Convention",
    "description": "Force resource names to begin with 'prefix' and end with 'suffix'",
    "metadata": {
      "category": "Naming"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyRule": {
      "if": {
        "not": {
          "field": "name",
          "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]"
        }
      },
      "then": {
        "effect": "deny"
      }
    },
    "parameters": {
      "prefix": {
        "type": "String",
        "metadata": {
          "displayName": "Prefix",
          "description": "Resource name prefix"
        }
      },
      "suffix": {
        "type": "String",
        "metadata": {
          "displayName": "Suffix",
          "description": "Resource name suffix"
        }
      }
    },
    "policyType": "Custom"
  }
}

Create or update a policy definition with advanced parameters

Sample Request

PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/EventHubDiagnosticLogs?api-version=2023-04-01

{
  "properties": {
    "mode": "Indexed",
    "displayName": "Event Hubs should have diagnostic logging enabled",
    "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised",
    "metadata": {
      "category": "Event Hub"
    },
    "policyRule": {
      "if": {
        "field": "type",
        "equals": "Microsoft.EventHub/namespaces"
      },
      "then": {
        "effect": "AuditIfNotExists",
        "details": {
          "type": "Microsoft.Insights/diagnosticSettings",
          "existenceCondition": {
            "allOf": [
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled",
                "equals": "true"
              },
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days",
                "equals": "[parameters('requiredRetentionDays')]"
              }
            ]
          }
        }
      }
    },
    "parameters": {
      "requiredRetentionDays": {
        "type": "Integer",
        "defaultValue": 365,
        "allowedValues": [
          0,
          30,
          90,
          180,
          365
        ],
        "metadata": {
          "displayName": "Required retention (days)",
          "description": "The required diagnostic logs retention in days"
        }
      }
    }
  }
}

Sample Response

{
  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "ResourceNaming",
  "properties": {
    "mode": "Indexed",
    "displayName": "Event Hubs should have diagnostic logging enabled",
    "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised",
    "metadata": {
      "category": "Event Hub"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyRule": {
      "if": {
        "field": "type",
        "equals": "Microsoft.EventHub/namespaces"
      },
      "then": {
        "effect": "AuditIfNotExists",
        "details": {
          "type": "Microsoft.Insights/diagnosticSettings",
          "existenceCondition": {
            "allOf": [
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled",
                "equals": "true"
              },
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days",
                "equals": "[parameters('requiredRetentionDays')]"
              }
            ]
          }
        }
      }
    },
    "parameters": {
      "requiredRetentionDays": {
        "type": "Integer",
        "defaultValue": 365,
        "allowedValues": [
          0,
          30,
          90,
          180,
          365
        ],
        "metadata": {
          "displayName": "Required retention (days)",
          "description": "The required diagnostic logs retention in days"
        }
      }
    }
  }
}

Definições

Nome Description
CloudError

Uma resposta de erro de uma operação de política.

createdByType

O tipo de identidade que criou o recurso.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorResponse

Resposta de erro

Metadata

Metadados gerais para o parâmetro .

ParameterDefinitionsValue

A definição de um parâmetro que pode ser fornecido à política.

parameterType

O tipo de dados do parâmetro.

PolicyDefinition

A definição de política.

policyType

O tipo de definição de política. Os valores possíveis são NotSpecified, BuiltIn, Custom e Static.

systemData

Metadados relativos à criação e à última modificação do recurso.

CloudError

Uma resposta de erro de uma operação de política.

Nome Tipo Description
error

ErrorResponse

Resposta de erro
Resposta de erro comum para todas as APIs do Azure Resource Manager para retornar detalhes de erro de operações com falha. (Isso também segue o formato de resposta de erro OData.)

createdByType

O tipo de identidade que criou o recurso.

Nome Tipo Description
Application

string

Key

string

ManagedIdentity

string

User

string

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorResponse

Resposta de erro

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorResponse[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

Metadata

Metadados gerais para o parâmetro .

Nome Tipo Description
assignPermissions

boolean

Defina como true para que portal do Azure crie atribuições de função na ID do recurso ou no valor do escopo do recurso desse parâmetro durante a atribuição de política. Essa propriedade é útil caso você queira atribuir permissões fora do escopo de atribuição.

description

string

A descrição do parâmetro.

displayName

string

O nome de exibição do parâmetro.

strongType

string

Usado ao atribuir a definição de política por meio do portal. Fornece uma lista de valores com reconhecimento de contexto para o usuário escolher.

ParameterDefinitionsValue

A definição de um parâmetro que pode ser fornecido à política.

Nome Tipo Description
allowedValues

object[]

Os valores permitidos para o parâmetro .

defaultValue

object

O valor padrão do parâmetro se nenhum valor for fornecido.

metadata

Metadata

Metadados gerais para o parâmetro .

schema

object

Fornece validação de entradas de parâmetro durante a atribuição usando um esquema JSON autodefinido. Essa propriedade só tem suporte para parâmetros do tipo “objeto” e segue a implementação do Esquema Json.NET 2019-09. Saiba mais sobre como usar esquemas em https://json-schema.org/ e como testar esquemas de rascunho em https://www.jsonschemavalidator.net/.

type

parameterType

O tipo de dados do parâmetro.

parameterType

O tipo de dados do parâmetro.

Nome Tipo Description
Array

string

Boolean

string

DateTime

string

Float

string

Integer

string

Object

string

String

string

PolicyDefinition

A definição de política.

Nome Tipo Valor padrão Description
id

string

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

name

string

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

properties.description

string

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

properties.displayName

string

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

properties.metadata

object

Os metadados de definição de política. Metadados é um objeto aberto encerrado e normalmente é uma coleção de pares chave-valor.

properties.mode

string

Indexed

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

properties.parameters

<string,  ParameterDefinitionsValue>

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

properties.policyRule

object

A regra de política.

properties.policyType

policyType

O tipo de definição de política. Os valores possíveis são NotSpecified, BuiltIn, Custom e Static.

properties.version

string

A versão de definição de política no formato #.#.#.

properties.versions

string[]

Uma lista de versões disponíveis para essa definição de política.

systemData

systemData

Os metadados do sistema relacionados a esse recurso.

type

string

O tipo do recurso (Microsoft.Authorization/policyDefinitions).

policyType

O tipo de definição de política. Os valores possíveis são NotSpecified, BuiltIn, Custom e Static.

Nome Tipo Description
BuiltIn

string

Custom

string

NotSpecified

string

Static

string

systemData

Metadados relativos à criação e à última modificação do recurso.

Nome Tipo Description
createdAt

string

O carimbo de data/hora da criação de recursos (UTC).

createdBy

string

A identidade que criou o recurso.

createdByType

createdByType

O tipo de identidade que criou o recurso.

lastModifiedAt

string

O carimbo de data/hora da última modificação do recurso (UTC)

lastModifiedBy

string

A identidade que modificou o recurso pela última vez.

lastModifiedByType

createdByType

O tipo de identidade que modificou o recurso pela última vez.