Dela via


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

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

Namnet på den principdefinition som ska skapas.

subscriptionId
path True

string (uuid)

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

api-version
query True

string

minLength: 1

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

Principdefinitionens visningsnamn.

properties.metadata

object

Metadata för principdefinition. 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

Typen 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.

Typ: oauth2
Flow: implicit
Auktoriseringswebbadress: https://login.microsoftonline.com/common/oauth2/authorize

Omfattningar

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

Exempelbegäran

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

Exempelsvar

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

Exempelbegäran

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

Exempelsvar

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

Typen 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
Vanligt felsvar för alla Azure Resource Manager-API:er för att returnera felinformation för misslyckade åtgärder. (Detta följer även formatet för OData-felsvar.)

createdByType

Den typ av identitet som skapade resursen.

Värde Description
Application
Key
ManagedIdentity
User

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

Name Typ Description
info

object

Ytterligare information.

type

string

Ytterligare informationstyp.

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 att Azure-portalen ska skapa rolltilldelningar på 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[]

De tillåtna värdena 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 parametrar av objekttyp 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.

Värde Description
Array
Boolean
DateTime
Float
Integer
Object
String

PolicyDefinition

Principdefinitionen.

Name Typ Standardvärde Description
id

string

ID:t för principdefinitionen.

name

string

Namnet på principdefinitionen.

properties.description

string

Beskrivningen av principdefinitionen.

properties.displayName

string

Principdefinitionens visningsnamn.

properties.metadata

object

Metadata för principdefinition. 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

Typen 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 för den här resursen.

type

string

Resurstypen (Microsoft.Authorization/policyDefinitions).

policyType

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

Värde Description
BuiltIn
Custom
NotSpecified
Static

systemData

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

Name Typ Description
createdAt

string (date-time)

Tidsstämpeln för resursskapande (UTC).

createdBy

string

Identiteten som skapade resursen.

createdByType

createdByType

Den typ av identitet som skapade resursen.

lastModifiedAt

string (date-time)

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.