Partilhar via


Policy Definitions - Create Or Update

Cria ou atualiza uma definição de política em uma assinatura.
Esta 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 do URI

Name Em Necessá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 um UUID.

api-version
query True

string

minLength: 1

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

Corpo do Pedido

Name Tipo Description
properties.description

string

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

properties.displayName

string

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

properties.metadata

object

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.

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âmetros para parâmetros usados na regra de política. As chaves são os nomes dos parâmetros.

properties.policyRule

object

A regra 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 esta definição de política.

Respostas

Name Tipo Description
201 Created

PolicyDefinition

Criado - Retorna informações sobre a definição da política.

Other Status Codes

CloudError

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

Segurança

azure_auth

Fluxo OAuth2 do Azure Ative Directory.

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

Âmbitos

Name Description
user_impersonation personificar a sua conta de utilizador

Exemplos

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

Create or update a policy definition

Pedido de amostra

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 da amostra

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

Pedido de amostra

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 da amostra

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

Name Description
CloudError

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

createdByType

O tipo de identidade que criou o recurso.

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

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 da política.

policyType

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

systemData

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

CloudError

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

Name Tipo Description
error

ErrorResponse

Resposta de erro
Resposta de erro comum para todas as APIs do Azure Resource Manager para retornar 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

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorResponse

Resposta de erro

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

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.

Name 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 da atribuição.

description

string

A descrição do parâmetro.

displayName

string

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

strongType

string

Usado ao atribuir a definição de política através do portal. Fornece uma lista sensível ao contexto de valores para o usuário escolher.

ParameterDefinitionsValue

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

Name Tipo Description
allowedValues

object[]

Os valores permitidos para o parâmetro.

defaultValue

object

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

metadata

Metadata

Metadados gerais para o parâmetro.

schema

object

Fornece validação de entradas de parâmetros durante a atribuição usando um esquema JSON autodefinido. Esta propriedade só é suportada para parâmetros de tipo objeto e segue a implementação do Json.NET Schema 2019-09. Você pode aprender mais sobre como usar esquemas em 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 da política.

Name Tipo Default value 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 da política.

properties.displayName

string

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

properties.metadata

object

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.

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âmetros para parâmetros usados na regra de política. As chaves são os nomes dos parâmetros.

properties.policyRule

object

A regra 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 esta definição de política.

systemData

systemData

Os metadados do sistema relativos a este 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 referentes à criação e última modificação do recurso.

Name 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.