Policy Definitions - Create Or Update

Crea o aggiorna una definizione di criterio in una sottoscrizione.
Questa operazione crea o aggiorna una definizione dei criteri nella sottoscrizione specificata con il nome specificato.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
policyDefinitionName
path True

string

Nome della definizione dei criteri da creare.

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

subscriptionId
path True

string

uuid

ID della sottoscrizione di destinazione. Il valore deve essere un UUID.

api-version
query True

string

Versione dell'API da usare per questa operazione.

Corpo della richiesta

Nome Tipo Descrizione
properties.description

string

Descrizione della definizione dei criteri.

properties.displayName

string

Nome visualizzato della definizione dei criteri.

properties.metadata

object

Metadati della definizione dei criteri. I metadati sono un oggetto terminato aperto ed è in genere una raccolta di coppie di valori chiave.

properties.mode

string

Modalità di definizione dei criteri. Alcuni esempi sono Tutti, Indicizzati, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Definizioni dei parametri per i parametri usati nella regola dei criteri. Le chiavi sono i nomi dei parametri.

properties.policyRule

object

Regola dei criteri.

properties.policyType

policyType

Tipo di definizione dei criteri. I valori possibili sono NotSpecified, BuiltIn, Custom e Static.

properties.version

string

Versione della definizione dei criteri in formato #.#.#.

properties.versions

string[]

Elenco delle versioni disponibili per questa definizione di criterio.

Risposte

Nome Tipo Descrizione
201 Created

PolicyDefinition

Creato: restituisce informazioni sulla definizione dei criteri.

Other Status Codes

CloudError

Risposta di errore che descrive perché l'operazione non è riuscita.

Sicurezza

azure_auth

Flusso OAuth2 di Azure Active Directory.

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

Scopes

Nome Descrizione
user_impersonation rappresentare l'account utente

Esempio

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

Definizioni

Nome Descrizione
CloudError

Risposta di errore da un'operazione di criteri.

createdByType

Tipo di identità che ha creato la risorsa.

ErrorAdditionalInfo

Informazioni aggiuntive sulla gestione delle risorse.

ErrorResponse

Risposta di errore

Metadata

Metadati generali per il parametro.

ParameterDefinitionsValue

Definizione di un parametro che può essere fornito ai criteri.

parameterType

Tipo di dati del parametro.

PolicyDefinition

Definizione dei criteri.

policyType

Tipo di definizione dei criteri. I valori possibili sono NotSpecified, BuiltIn, Custom e Static.

systemData

Metadati relativi alla creazione e all'ultima modifica della risorsa.

CloudError

Risposta di errore da un'operazione di criteri.

Nome Tipo Descrizione
error

ErrorResponse

Risposta di errore
Risposta di errore comune per tutte le API di Resource Manager di Azure per restituire i dettagli degli errori per le operazioni non riuscite. Questo segue anche il formato di risposta di errore OData.

createdByType

Tipo di identità che ha creato la risorsa.

Nome Tipo Descrizione
Application

string

Key

string

ManagedIdentity

string

User

string

ErrorAdditionalInfo

Informazioni aggiuntive sulla gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorResponse[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

Metadata

Metadati generali per il parametro.

Nome Tipo Descrizione
assignPermissions

boolean

Impostare su true per avere portale di Azure creare assegnazioni di ruolo nel valore dell'ID risorsa o dell'ambito della risorsa di questo parametro durante l'assegnazione dei criteri. Questa proprietà è utile nel caso in cui si desideri assegnare autorizzazioni al di fuori dell'ambito di assegnazione.

description

string

Descrizione del parametro.

displayName

string

Nome visualizzato per il parametro.

strongType

string

Usato per assegnare la definizione dei criteri tramite il portale. Fornisce un elenco di valori con riconoscimento del contesto da cui scegliere l'utente.

ParameterDefinitionsValue

Definizione di un parametro che può essere fornito ai criteri.

Nome Tipo Descrizione
allowedValues

object[]

Valori consentiti per il parametro.

defaultValue

object

Valore predefinito per il parametro se non viene specificato alcun valore.

metadata

Metadata

Metadati generali per il parametro.

schema

object

Fornisce la convalida degli input dei parametri durante l'assegnazione usando uno schema JSON auto-definito. Questa proprietà è supportata solo per i parametri di tipo oggetto e segue l'implementazione dello schema Json.NET schema 2019-09. Per altre informazioni sull'uso di schemi https://json-schema.org/ in e schemi di test, vedere https://www.jsonschemavalidator.net/.

type

parameterType

Tipo di dati del parametro.

parameterType

Tipo di dati del parametro.

Nome Tipo Descrizione
Array

string

Boolean

string

DateTime

string

Float

string

Integer

string

Object

string

String

string

PolicyDefinition

Definizione dei criteri.

Nome Tipo Valore predefinito Descrizione
id

string

ID della definizione dei criteri.

name

string

Nome della definizione dei criteri.

properties.description

string

Descrizione della definizione dei criteri.

properties.displayName

string

Nome visualizzato della definizione dei criteri.

properties.metadata

object

Metadati della definizione dei criteri. I metadati sono un oggetto terminato aperto ed è in genere una raccolta di coppie di valori chiave.

properties.mode

string

Indexed

Modalità di definizione dei criteri. Alcuni esempi sono Tutti, Indicizzati, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Definizioni dei parametri per i parametri usati nella regola dei criteri. Le chiavi sono i nomi dei parametri.

properties.policyRule

object

Regola dei criteri.

properties.policyType

policyType

Tipo di definizione dei criteri. I valori possibili sono NotSpecified, BuiltIn, Custom e Static.

properties.version

string

Versione della definizione dei criteri in formato #.#.#.

properties.versions

string[]

Elenco delle versioni disponibili per questa definizione di criterio.

systemData

systemData

Metadati di sistema relativi a questa risorsa.

type

string

Tipo della risorsa (Microsoft.Authorization/policyDefinitions).

policyType

Tipo di definizione dei criteri. I valori possibili sono NotSpecified, BuiltIn, Custom e Static.

Nome Tipo Descrizione
BuiltIn

string

Custom

string

NotSpecified

string

Static

string

systemData

Metadati relativi alla creazione e all'ultima modifica della risorsa.

Nome Tipo Descrizione
createdAt

string

Timestamp della creazione di risorse (UTC).

createdBy

string

Identità che ha creato la risorsa.

createdByType

createdByType

Tipo di identità che ha creato la risorsa.

lastModifiedAt

string

Timestamp dell'ultima modifica della risorsa (UTC)

lastModifiedBy

string

Identità che ha modificato l'ultima risorsa.

lastModifiedByType

createdByType

Tipo di identità che ha modificato l'ultima risorsa.