Compartilhar 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

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

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

subscriptionId
path True

string (uuid)

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

api-version
query True

string

minLength: 1

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 e normalmente é uma coleção de pares de valores de chave.

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.

Tipo: oauth2
Flow: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Escopos

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

Solicitação de exemplo

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

Resposta de exemplo

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

Solicitação de exemplo

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

Resposta de exemplo

{
  "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 para a 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 retornarem detalhes de erro para operações com falha. (Isso também segue o formato de resposta de erro OData.)

createdByType

O tipo de identidade que criou o recurso.

Valor Description
User
Application
ManagedIdentity
Key

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 o 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ê deseje 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 para a 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 a 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 Json.NET Schema 2019-09. Você pode saber mais sobre como usar esquemas no https://json-schema.org/ e 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.

Valor Description
String
Array
Object
Boolean
Integer
Float
DateTime

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 e normalmente é uma coleção de pares de valores de chave.

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.

Valor Description
NotSpecified
BuiltIn
Custom
Static

systemData

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

Nome Tipo Description
createdAt

string (date-time)

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 (date-time)

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.