Policy Definitions - Create Or Update
Crea o actualiza una definición de directiva en una suscripción.
Esta operación crea o actualiza una definición de directiva en la suscripción especificada con el nombre especificado.
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}?api-version=2023-04-01
Parámetros de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
policy
|
path | True |
string pattern: ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ |
Nombre de la definición de directiva que se va a crear. |
subscription
|
path | True |
string (uuid) |
Identificador de la suscripción de destino. El valor debe ser un UUID. |
api-version
|
query | True |
string minLength: 1 |
Versión de la API que se va a usar para esta operación. |
Cuerpo de la solicitud
Nombre | Tipo | Description |
---|---|---|
properties.description |
string |
Descripción de la definición de directiva. |
properties.displayName |
string |
Nombre para mostrar de la definición de directiva. |
properties.metadata |
object |
Metadatos de definición de directiva. Los metadatos son un objeto terminado abierto y normalmente es una colección de pares clave-valor. |
properties.mode |
string |
Modo de definición de directiva. Algunos ejemplos son All, Indexed, Microsoft.KeyVault.Data. |
properties.parameters |
<string,
Parameter |
Definiciones de parámetros para los parámetros usados en la regla de directiva. Las claves son los nombres de parámetro. |
properties.policyRule |
object |
Regla de directiva. |
properties.policyType |
Tipo de definición de directiva. Los valores posibles son NotSpecified, BuiltIn, Custom y Static. |
|
properties.version |
string |
La versión de definición de directiva en formato #.#.# |
properties.versions |
string[] |
Lista de versiones disponibles para esta definición de directiva. |
Respuestas
Nombre | Tipo | Description |
---|---|---|
201 Created |
Creado: devuelve información sobre la definición de directiva. |
|
Other Status Codes |
Respuesta de error que describe por qué se produjo un error en la operación. |
Seguridad
azure_auth
Flujo de OAuth2 de Azure Active Directory.
Tipo:
oauth2
Flujo:
implicit
Dirección URL de autorización:
https://login.microsoftonline.com/common/oauth2/authorize
Ámbitos
Nombre | Description |
---|---|
user_impersonation | suplantar la cuenta de usuario |
Ejemplos
Create or update a policy definition |
Create or update a policy definition with advanced parameters |
Create or update a policy definition
Solicitud de ejemplo
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"
}
}
}
}
}
Respuesta de muestra
{
"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
Solicitud de ejemplo
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"
}
}
}
}
}
Respuesta de muestra
{
"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"
}
}
}
}
}
Definiciones
Nombre | Description |
---|---|
Cloud |
Respuesta de error de una operación de directiva. |
created |
Tipo de identidad que creó el recurso. |
Error |
Información adicional sobre el error de administración de recursos. |
Error |
Respuesta de error |
Metadata |
Metadatos generales para el parámetro . |
Parameter |
Definición de un parámetro que se puede proporcionar a la directiva. |
parameter |
Tipo de datos del parámetro. |
Policy |
Definición de directiva. |
policy |
Tipo de definición de directiva. Los valores posibles son NotSpecified, BuiltIn, Custom y Static. |
system |
Metadatos relativos a la creación y última modificación del recurso. |
CloudError
Respuesta de error de una operación de directiva.
Nombre | Tipo | Description |
---|---|---|
error |
Respuesta de error |
createdByType
Tipo de identidad que creó el recurso.
Valor | Description |
---|---|
Application | |
Key | |
ManagedIdentity | |
User |
ErrorAdditionalInfo
Información adicional sobre el error de administración de recursos.
Nombre | Tipo | Description |
---|---|---|
info |
object |
Información adicional. |
type |
string |
Tipo de información adicional. |
ErrorResponse
Respuesta de error
Nombre | Tipo | Description |
---|---|---|
additionalInfo |
Información adicional del error. |
|
code |
string |
Código de error. |
details |
Detalles del error. |
|
message |
string |
Mensaje de error. |
target |
string |
Destino del error. |
Metadata
Metadatos generales para el parámetro .
Nombre | Tipo | Description |
---|---|---|
assignPermissions |
boolean |
Establézcalo en true para que Azure Portal cree asignaciones de roles en el identificador de recurso o el valor de ámbito de recurso de este parámetro durante la asignación de directivas. Esta propiedad es útil en caso de que desee asignar permisos fuera del ámbito de asignación. |
description |
string |
Descripción del parámetro . |
displayName |
string |
Nombre para mostrar del parámetro. |
strongType |
string |
Se usa al asignar la definición de directiva a través del portal. Proporciona una lista con reconocimiento de contexto de valores entre los que el usuario puede elegir. |
ParameterDefinitionsValue
Definición de un parámetro que se puede proporcionar a la directiva.
Nombre | Tipo | Description |
---|---|---|
allowedValues |
object[] |
Valores permitidos para el parámetro . |
defaultValue |
object |
Valor predeterminado del parámetro si no se proporciona ningún valor. |
metadata |
Metadatos generales para el parámetro . |
|
schema |
object |
Proporciona validación de entradas de parámetro durante la asignación mediante un esquema JSON autodefinido. Esta propiedad solo se admite para los parámetros de tipo de objeto y sigue la implementación del esquema de Json.NET 2019-09. Puede obtener más información sobre el uso de esquemas en https://json-schema.org/ y probar esquemas de borrador en https://www.jsonschemavalidator.net/. |
type |
Tipo de datos del parámetro. |
parameterType
Tipo de datos del parámetro.
Valor | Description |
---|---|
Array | |
Boolean | |
DateTime | |
Float | |
Integer | |
Object | |
String |
PolicyDefinition
Definición de directiva.
Nombre | Tipo | Valor predeterminado | Description |
---|---|---|---|
id |
string |
Identificador de la definición de directiva. |
|
name |
string |
Nombre de la definición de directiva. |
|
properties.description |
string |
Descripción de la definición de directiva. |
|
properties.displayName |
string |
Nombre para mostrar de la definición de directiva. |
|
properties.metadata |
object |
Metadatos de definición de directiva. Los metadatos son un objeto terminado abierto y normalmente es una colección de pares clave-valor. |
|
properties.mode |
string |
Indexed |
Modo de definición de directiva. Algunos ejemplos son All, Indexed, Microsoft.KeyVault.Data. |
properties.parameters |
<string,
Parameter |
Definiciones de parámetros para los parámetros usados en la regla de directiva. Las claves son los nombres de parámetro. |
|
properties.policyRule |
object |
Regla de directiva. |
|
properties.policyType |
Tipo de definición de directiva. Los valores posibles son NotSpecified, BuiltIn, Custom y Static. |
||
properties.version |
string |
La versión de definición de directiva en formato #.#.# |
|
properties.versions |
string[] |
Lista de versiones disponibles para esta definición de directiva. |
|
systemData |
Metadatos del sistema relacionados con este recurso. |
||
type |
string |
Tipo del recurso (Microsoft.Authorization/policyDefinitions). |
policyType
Tipo de definición de directiva. Los valores posibles son NotSpecified, BuiltIn, Custom y Static.
Valor | Description |
---|---|
BuiltIn | |
Custom | |
NotSpecified | |
Static |
systemData
Metadatos relativos a la creación y última modificación del recurso.
Nombre | Tipo | Description |
---|---|---|
createdAt |
string (date-time) |
Marca de tiempo de creación de recursos (UTC). |
createdBy |
string |
Identidad que creó el recurso. |
createdByType |
Tipo de identidad que creó el recurso. |
|
lastModifiedAt |
string (date-time) |
Marca de tiempo de la última modificación del recurso (UTC) |
lastModifiedBy |
string |
Identidad que modificó por última vez el recurso. |
lastModifiedByType |
Tipo de identidad que modificó por última vez el recurso. |