Policy Definitions - Create Or Update

Skapar eller uppdaterar en principdefinition i en prenumeration.
Den här åtgärden skapar eller uppdaterar en principdefinition i den angivna prenumerationen med det angivna namnet.

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

URI-parametrar

Name I Obligatorisk Typ Description
policyDefinitionName
path True

string

Namnet på den principdefinition som ska skapas.

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

subscriptionId
path True

string

uuid

ID för målprenumerationen. Värdet måste vara ett UUID.

api-version
query True

string

Den API-version som ska användas för den här åtgärden.

Begärandetext

Name Typ Description
properties.description

string

Beskrivningen av principdefinitionen.

properties.displayName

string

Visningsnamnet för principdefinitionen.

properties.metadata

object

Principdefinitionsmetadata. Metadata är ett öppet slutobjekt och är vanligtvis en samling nyckelvärdepar.

properties.mode

string

Principdefinitionsläget. Några exempel är Alla, Indexerade, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Parameterdefinitionerna för parametrar som används i principregeln. Nycklarna är parameternamnen.

properties.policyRule

object

Principregeln.

properties.policyType

policyType

Typ av principdefinition. Möjliga värden är NotSpecified, BuiltIn, Custom och Static.

properties.version

string

Principdefinitionsversionen i #.#.#-format.

properties.versions

string[]

En lista över tillgängliga versioner för den här principdefinitionen.

Svar

Name Typ Description
201 Created

PolicyDefinition

Skapad – Returnerar information om principdefinitionen.

Other Status Codes

CloudError

Felsvar som beskriver varför åtgärden misslyckades.

Säkerhet

azure_auth

Azure Active Directory OAuth2 Flow.

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

Scopes

Name Description
user_impersonation personifiera ditt användarkonto

Exempel

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

Definitioner

Name Description
CloudError

Ett felsvar från en principåtgärd.

createdByType

Den typ av identitet som skapade resursen.

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

ErrorResponse

Felsvar

Metadata

Allmänna metadata för parametern.

ParameterDefinitionsValue

Definitionen av en parameter som kan anges för principen.

parameterType

Parameterns datatyp.

PolicyDefinition

Principdefinitionen.

policyType

Typ av principdefinition. Möjliga värden är NotSpecified, BuiltIn, Custom och Static.

systemData

Metadata som rör skapande och senaste ändring av resursen.

CloudError

Ett felsvar från en principåtgärd.

Name Typ Description
error

ErrorResponse

Felsvar
Vanliga felsvar för alla Azure Resource Manager API:er för att returnera felinformation för misslyckade åtgärder. (Detta följer även OData-felsvarsformatet.)

createdByType

Den typ av identitet som skapade resursen.

Name Typ Description
Application

string

Key

string

ManagedIdentity

string

User

string

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

Name Typ Description
info

object

Ytterligare information.

type

string

Den ytterligare informationstypen.

ErrorResponse

Felsvar

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Ytterligare information om felet.

code

string

Felkoden.

details

ErrorResponse[]

Felinformationen.

message

string

Felmeddelandet.

target

string

Felmålet.

Metadata

Allmänna metadata för parametern.

Name Typ Description
assignPermissions

boolean

Ställ in på true om du vill ha Azure Portal skapa rolltilldelningar för resurs-ID:t eller resursomfångsvärdet för den här parametern under principtilldelningen. Den här egenskapen är användbar om du vill tilldela behörigheter utanför tilldelningsomfånget.

description

string

Beskrivningen av parametern.

displayName

string

Visningsnamnet för parametern.

strongType

string

Används när du tilldelar principdefinitionen via portalen. Innehåller en sammanhangsmedveten lista över värden som användaren kan välja mellan.

ParameterDefinitionsValue

Definitionen av en parameter som kan anges för principen.

Name Typ Description
allowedValues

object[]

Tillåtna värden för parametern.

defaultValue

object

Standardvärdet för parametern om inget värde anges.

metadata

Metadata

Allmänna metadata för parametern.

schema

object

Tillhandahåller validering av parameterindata under tilldelningen med hjälp av ett självdefinierat JSON-schema. Den här egenskapen stöds endast för objekttypsparametrar och följer implementeringen Json.NET Schema 2019-09. Du kan lära dig mer om att använda scheman på https://json-schema.org/ och testa utkastscheman på https://www.jsonschemavalidator.net/.

type

parameterType

Parameterns datatyp.

parameterType

Parameterns datatyp.

Name Typ Description
Array

string

Boolean

string

DateTime

string

Float

string

Integer

string

Object

string

String

string

PolicyDefinition

Principdefinitionen.

Name Typ Standardvärde Description
id

string

ID för principdefinitionen.

name

string

Namnet på principdefinitionen.

properties.description

string

Beskrivningen av principdefinitionen.

properties.displayName

string

Visningsnamnet för principdefinitionen.

properties.metadata

object

Principdefinitionsmetadata. Metadata är ett öppet slutobjekt och är vanligtvis en samling nyckelvärdepar.

properties.mode

string

Indexed

Principdefinitionsläget. Några exempel är Alla, Indexerade, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Parameterdefinitionerna för parametrar som används i principregeln. Nycklarna är parameternamnen.

properties.policyRule

object

Principregeln.

properties.policyType

policyType

Typ av principdefinition. Möjliga värden är NotSpecified, BuiltIn, Custom och Static.

properties.version

string

Principdefinitionsversionen i #.#.#-format.

properties.versions

string[]

En lista över tillgängliga versioner för den här principdefinitionen.

systemData

systemData

Systemmetadata som är relaterade till den här resursen.

type

string

Resurstypen (Microsoft.Authorization/policyDefinitions).

policyType

Typ av principdefinition. Möjliga värden är NotSpecified, BuiltIn, Custom och Static.

Name Typ Description
BuiltIn

string

Custom

string

NotSpecified

string

Static

string

systemData

Metadata som rör skapande och senaste ändring av resursen.

Name Typ Description
createdAt

string

Tidsstämpeln för resursskapande (UTC).

createdBy

string

Identiteten som skapade resursen.

createdByType

createdByType

Den typ av identitet som skapade resursen.

lastModifiedAt

string

Tidsstämpeln för resursens senaste ändring (UTC)

lastModifiedBy

string

Identiteten som senast ändrade resursen.

lastModifiedByType

createdByType

Den typ av identitet som senast ändrade resursen.