Policy Definitions - Create Or Update

Erstellt oder aktualisiert eine Richtliniendefinition in einem Abonnement.
Dieser Vorgang erstellt oder aktualisiert eine Richtliniendefinition im angegebenen Abonnement mit dem angegebenen Namen.

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

URI-Parameter

Name In Erforderlich Typ Beschreibung
policyDefinitionName
path True

string

Der Name der zu erstellenden Richtliniendefinition.

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

subscriptionId
path True

string

uuid

Hierbei handelt es sich um die ID des Zielabonnements. Der Wert muss eine UUID sein.

api-version
query True

string

Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version.

Anforderungstext

Name Typ Beschreibung
properties.description

string

Die Beschreibung der Richtliniendefinition.

properties.displayName

string

Der Anzeigename der Richtliniendefinition.

properties.metadata

object

Die Metadaten der Richtliniendefinition. Metadaten sind ein offenes Objekt und sind in der Regel eine Auflistung von Schlüsselwertpaaren.

properties.mode

string

Der Richtliniendefinitionsmodus. Einige Beispiele sind All, Indexed, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Die Parameterdefinitionen für Parameter, die in der Richtlinienregel verwendet werden. Die Schlüssel sind die Parameternamen.

properties.policyRule

object

Die Richtlinienregel.

properties.policyType

policyType

Der Typ der Richtliniendefinition. Mögliche Werte sind NotSpecified, BuiltIn, Custom und Static.

properties.version

string

Die Richtliniendefinitionsversion im #.#.#.#-Format.

properties.versions

string[]

Eine Liste der verfügbaren Versionen für diese Richtliniendefinition.

Antworten

Name Typ Beschreibung
201 Created

PolicyDefinition

Erstellt: Gibt Informationen zur Richtliniendefinition zurück.

Other Status Codes

CloudError

Fehlerantwort mit Beschreibung des Grunds für den Fehler.

Sicherheit

azure_auth

Azure Active Directory OAuth2 Flow.

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

Scopes

Name Beschreibung
user_impersonation Identitätswechsel Ihres Benutzerkontos

Beispiele

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

Definitionen

Name Beschreibung
CloudError

Eine Fehlerantwort eines Richtlinienvorgangs.

createdByType

Der Identitätstyp, der die Ressource erstellt hat.

ErrorAdditionalInfo

Zusätzliche Informationen zum Ressourcenverwaltungsfehler.

ErrorResponse

Fehlerantwort

Metadata

Allgemeine Metadaten für den Parameter.

ParameterDefinitionsValue

Die Definition eines Parameters, der für die Richtlinie bereitgestellt werden kann.

parameterType

Der Datentyp des Parameters.

PolicyDefinition

Die Richtliniendefinition.

policyType

Der Typ der Richtliniendefinition. Mögliche Werte sind NotSpecified, BuiltIn, Custom und Static.

systemData

Metadaten, die sich auf die Erstellung und letzte Änderung der Ressource beziehen.

CloudError

Eine Fehlerantwort eines Richtlinienvorgangs.

Name Typ Beschreibung
error

ErrorResponse

Fehlerantwort
Allgemeine Fehlerantwort für alle Azure Resource Manager-APIs, zur Rückgabe von Fehlerdetails für fehlgeschlagene Vorgänge. (Dies folgt auch dem OData-Fehlerantwortformat.)

createdByType

Der Identitätstyp, der die Ressource erstellt hat.

Name Typ Beschreibung
Application

string

Key

string

ManagedIdentity

string

User

string

ErrorAdditionalInfo

Zusätzliche Informationen zum Ressourcenverwaltungsfehler.

Name Typ Beschreibung
info

object

Zusätzliche Informationen.

type

string

Typ der zusätzlichen Informationen.

ErrorResponse

Fehlerantwort

Name Typ Beschreibung
additionalInfo

ErrorAdditionalInfo[]

Die zusätzlichen Fehlerinformationen.

code

string

Der Fehlercode.

details

ErrorResponse[]

Die Fehlerdetails.

message

string

Die Fehlermeldung.

target

string

Das Fehlerziel.

Metadata

Allgemeine Metadaten für den Parameter.

Name Typ Beschreibung
assignPermissions

boolean

Legen Sie auf true fest, damit Azure-Portal während der Richtlinienzuweisung Rollenzuweisungen für die Ressourcen-ID oder den Ressourcenbereichswert dieses Parameters erstellen. Diese Eigenschaft ist hilfreich, wenn Sie Berechtigungen außerhalb des Zuweisungsbereichs zuweisen möchten.

description

string

Die Beschreibung des Parameters.

displayName

string

Der Anzeigename für den Parameter.

strongType

string

Wird beim Zuweisen der Richtliniendefinition über das Portal verwendet. Stellt eine kontextbezogene Liste von Werten bereit, aus der der Benutzer auswählen kann.

ParameterDefinitionsValue

Die Definition eines Parameters, der für die Richtlinie bereitgestellt werden kann.

Name Typ Beschreibung
allowedValues

object[]

Die zulässigen Werte für den Parameter.

defaultValue

object

Der Standardwert für den Parameter, wenn kein Wert angegeben wird.

metadata

Metadata

Allgemeine Metadaten für den Parameter.

schema

object

Ermöglicht die Überprüfung von Parametereingaben während der Zuweisung mithilfe eines selbst definierten JSON-Schemas. Diese Eigenschaft wird nur für Objekttypparameter unterstützt und folgt der 2019-09-Implementierung des Json.NET-Schemas. Weitere Informationen zur Verwendung von Schemas finden Sie unter https://json-schema.org/. Das Testen von Schemas ist unter https://www.jsonschemavalidator.net/ möglich.

type

parameterType

Der Datentyp des Parameters.

parameterType

Der Datentyp des Parameters.

Name Typ Beschreibung
Array

string

Boolean

string

DateTime

string

Float

string

Integer

string

Object

string

String

string

PolicyDefinition

Die Richtliniendefinition.

Name Typ Standardwert Beschreibung
id

string

Die ID der Richtliniendefinition.

name

string

Der Name der Richtliniendefinition.

properties.description

string

Die Beschreibung der Richtliniendefinition.

properties.displayName

string

Der Anzeigename der Richtliniendefinition.

properties.metadata

object

Die Metadaten der Richtliniendefinition. Metadaten sind ein offenes Objekt und sind in der Regel eine Auflistung von Schlüsselwertpaaren.

properties.mode

string

Indexed

Der Richtliniendefinitionsmodus. Einige Beispiele sind All, Indexed, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Die Parameterdefinitionen für Parameter, die in der Richtlinienregel verwendet werden. Die Schlüssel sind die Parameternamen.

properties.policyRule

object

Die Richtlinienregel.

properties.policyType

policyType

Der Typ der Richtliniendefinition. Mögliche Werte sind NotSpecified, BuiltIn, Custom und Static.

properties.version

string

Die Richtliniendefinitionsversion im #.#.#.#-Format.

properties.versions

string[]

Eine Liste der verfügbaren Versionen für diese Richtliniendefinition.

systemData

systemData

Die Systemmetadaten, die sich auf diese Ressource beziehen.

type

string

Der Typ der Ressource (Microsoft.Authorization/policyDefinitions).

policyType

Der Typ der Richtliniendefinition. Mögliche Werte sind NotSpecified, BuiltIn, Custom und Static.

Name Typ Beschreibung
BuiltIn

string

Custom

string

NotSpecified

string

Static

string

systemData

Metadaten, die sich auf die Erstellung und letzte Änderung der Ressource beziehen.

Name Typ Beschreibung
createdAt

string

Der Zeitstempel der Ressourcenerstellung (UTC).

createdBy

string

Die Identität, die die Ressource erstellt hat.

createdByType

createdByType

Der Identitätstyp, der die Ressource erstellt hat.

lastModifiedAt

string

Der Zeitstempel der letzten Änderung der Ressource (UTC)

lastModifiedBy

string

Die Identität, die die Ressource zuletzt geändert hat.

lastModifiedByType

createdByType

Der Identitätstyp, der die Ressource zuletzt geändert hat.