Freigeben über


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

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

Der Name der zu erstellenden Richtliniendefinition.

subscriptionId
path True

string (uuid)

Die ID des Zielabonnements. Der Wert muss eine UUID sein.

api-version
query True

string

minLength: 1

Die API-Version, die für diesen Vorgang verwendet werden soll.

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 beendetes Objekt und sind in der Regel eine Sammlung 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, die beschreibt, warum der Vorgang fehlgeschlagen ist.

Sicherheit

azure_auth

Azure Active Directory OAuth2-Fluss.

Typ: oauth2
Ablauf: implicit
Autorisierungs-URL: https://login.microsoftonline.com/common/oauth2/authorize

Bereiche

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

Beispielanforderung

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

Beispiel für eine Antwort

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

Beispielanforderung

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

Beispiel für eine Antwort

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

Der Ressourcenverwaltungsfehler zusätzliche Informationen.

ErrorResponse

Fehlerantwort

Metadata

Allgemeine Metadaten für den Parameter.

ParameterDefinitionsValue

Die Definition eines Parameters, der der 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 zur Erstellung und letzten Änderung der Ressource.

CloudError

Eine Fehlerantwort eines Richtlinienvorgangs.

Name Typ Beschreibung
error

ErrorResponse

Fehlerantwort
Häufige Fehlerantwort für alle Azure Resource Manager-APIs, um Fehlerdetails für fehlgeschlagene Vorgänge zurückzugeben. (Dies folgt auch dem OData-Fehlerantwortformat.)

createdByType

Der Identitätstyp, der die Ressource erstellt hat.

Wert Beschreibung
User
Application
ManagedIdentity
Key

ErrorAdditionalInfo

Der Ressourcenverwaltungsfehler zusätzliche Informationen.

Name Typ Beschreibung
info

object

Die zusätzlichen Informationen.

type

string

Der zusätzliche Informationstyp.

ErrorResponse

Fehlerantwort

Name Typ Beschreibung
additionalInfo

ErrorAdditionalInfo[]

Die zusätzlichen Informationen des Fehlers.

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 diesen Wert auf "true" fest, damit das Azure-Portal Während der Richtlinienzuweisung Rollenzuweisungen für die Ressourcen-ID oder den Ressourcenbereichswert dieses Parameters erstellt. Diese Eigenschaft ist nützlich, falls Sie Berechtigungen außerhalb des Zuordnungsbereichs 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 mit Werten bereit, aus der der Benutzer auswählen kann.

ParameterDefinitionsValue

Die Definition eines Parameters, der der 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

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

type

parameterType

Der Datentyp des Parameters.

parameterType

Der Datentyp des Parameters.

Wert Beschreibung
String
Array
Object
Boolean
Integer
Float
DateTime

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 beendetes Objekt und sind in der Regel eine Sammlung 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.

Wert Beschreibung
NotSpecified
BuiltIn
Custom
Static

systemData

Metadaten zur Erstellung und letzten Änderung der Ressource.

Name Typ Beschreibung
createdAt

string (date-time)

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

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.