Udostępnij przez


Microsoft.Authorization policySetDefinitions

Definicja zasobu Bicep

Typ zasobu policySetDefinitions można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Authorization/policySetDefinitions, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.Authorization/policySetDefinitions@2025-03-01' = {
  scope: resourceSymbolicName or scope
  name: 'string'
  properties: {
    description: 'string'
    displayName: 'string'
    metadata: any(...)
    parameters: {
      {customized property}: {
        allowedValues: [
          any(...)
        ]
        defaultValue: any(...)
        metadata: {
          assignPermissions: bool
          description: 'string'
          displayName: 'string'
          strongType: 'string'
        }
        schema: any(...)
        type: 'string'
      }
    }
    policyDefinitionGroups: [
      {
        additionalMetadataId: 'string'
        category: 'string'
        description: 'string'
        displayName: 'string'
        name: 'string'
      }
    ]
    policyDefinitions: [
      {
        definitionVersion: 'string'
        groupNames: [
          'string'
        ]
        parameters: {
          {customized property}: {
            value: any(...)
          }
        }
        policyDefinitionId: 'string'
        policyDefinitionReferenceId: 'string'
      }
    ]
    policyType: 'string'
    version: 'string'
    versions: [
      'string'
    ]
  }
}

Wartości właściwości

Microsoft.Authorization/policySetDefinitions

Nazwa Opis Wartość
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (wymagane)
Właściwości Właściwości definicji zestawu zasad. PolicySetDefinitionProperties
zakres Użyj polecenia podczas tworzenia zasobu w zakresie innym niż zakres wdrożenia. Ustaw tę właściwość na symboliczną nazwę zasobu, aby zastosować zasób rozszerzenia.

ParametryDefinitions

Nazwa Opis Wartość

ParameterDefinitionsValue

Nazwa Opis Wartość
allowedValues Dozwolone wartości parametru. any[]
defaultValue Wartość domyślna parametru, jeśli nie podano żadnej wartości. jakikolwiek
metadane Ogólne metadane parametru. ParameterDefinitionsValueMetadata
schemat Zapewnia walidację danych wejściowych parametrów podczas przypisywania przy użyciu schematu JSON zdefiniowanego samodzielnie. Ta właściwość jest obsługiwana tylko dla parametrów typu obiektu i jest zgodna z implementacją Json.NET Schema 2019-09. Aby dowiedzieć się więcej na temat używania schematów, zobacz https://json-schema.org/ i testowanie schematów roboczych w witrynie https://www.jsonschemavalidator.net/. jakikolwiek
typ Typ danych parametru. "Tablica"
"Wartość logiczna"
"DateTime"
"Float"
"Liczba całkowita"
"Obiekt"
"Ciąg"

ParameterDefinitionsValueMetadata

Nazwa Opis Wartość
assignPermissions Ustaw wartość true, aby witryna Azure Portal utworzyła przypisania ról dla identyfikatora zasobu lub wartości zakresu zasobu tego parametru podczas przypisywania zasad. Ta właściwość jest przydatna w przypadku, gdy chcesz przypisać uprawnienia poza zakresem przypisania. Bool
opis Opis parametru. ciąg
nazwa wyświetlana Nazwa wyświetlana parametru. ciąg
strongType Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. ciąg

ParameterValues

Nazwa Opis Wartość

ParameterValuesValue

Nazwa Opis Wartość
wartość Wartość parametru. jakikolwiek

PolicyDefinitionGroup

Nazwa Opis Wartość
additionalMetadataId Identyfikator zasobu, który zawiera dodatkowe metadane dotyczące grupy. ciąg
kategoria Kategoria grupy. ciąg
opis Opis grupy. ciąg
nazwa wyświetlana Nazwa wyświetlana grupy. ciąg
nazwa Nazwa grupy. ciąg (wymagany)

PolicyDefinitionReference

Nazwa Opis Wartość
definitionVersion Wersja definicji zasad do użycia. ciąg
groupNames Nazwa grup, do których należy odwołanie do tej definicji zasad. string[]
Parametry Wartości parametrów dla reguły zasad, do których odwołuje się odwołanie. Klucze są nazwami parametrów. ParameterValues
policyDefinitionId Identyfikator definicji zasad lub definicji zestawu zasad. ciąg (wymagany)
policyDefinitionReferenceId Unikatowy identyfikator (w definicji zestawu zasad) dla tej definicji zasad. ciąg

PolicySetDefinitionProperties

Nazwa Opis Wartość
opis Opis definicji zestawu zasad. ciąg
nazwa wyświetlana Nazwa wyświetlana definicji zestawu zasad. ciąg
metadane Metadane definicji zestawu zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. jakikolwiek
Parametry Parametry definicji zestawu zasad, które mogą być używane w odwołaniach definicji zasad. ParametrDefinitions
policyDefinitionGroups Metadane opisujące grupy odwołań definicji zasad w definicji zestawu zasad. PolicyDefinitionGroup[]
definicje zasad Tablica odwołań definicji zasad. PolicyDefinitionReference[] (wymagane)
policyType Typ definicji zestawu zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. "BuiltIn"
"Niestandardowy"
"NotSpecified"
"Statyczny"
wersja Wersja definicji zestawu zasad w formacie #.#.# ciąg
Wersje Lista dostępnych wersji dla tej definicji zestawu zasad. string[]

Definicja zasobu szablonu usługi ARM

Typ zasobu policySetDefinitions można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Authorization/policySetDefinitions, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.Authorization/policySetDefinitions",
  "apiVersion": "2025-03-01",
  "name": "string",
  "properties": {
    "description": "string",
    "displayName": "string",
    "metadata": {},
    "parameters": {
      "{customized property}": {
        "allowedValues": [ {} ],
        "defaultValue": {},
        "metadata": {
          "assignPermissions": "bool",
          "description": "string",
          "displayName": "string",
          "strongType": "string"
        },
        "schema": {},
        "type": "string"
      }
    },
    "policyDefinitionGroups": [
      {
        "additionalMetadataId": "string",
        "category": "string",
        "description": "string",
        "displayName": "string",
        "name": "string"
      }
    ],
    "policyDefinitions": [
      {
        "definitionVersion": "string",
        "groupNames": [ "string" ],
        "parameters": {
          "{customized property}": {
            "value": {}
          }
        },
        "policyDefinitionId": "string",
        "policyDefinitionReferenceId": "string"
      }
    ],
    "policyType": "string",
    "version": "string",
    "versions": [ "string" ]
  }
}

Wartości właściwości

Microsoft.Authorization/policySetDefinitions

Nazwa Opis Wartość
apiVersion Wersja interfejsu API '2025-03-01'
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (wymagane)
Właściwości Właściwości definicji zestawu zasad. PolicySetDefinitionProperties
typ Typ zasobu "Microsoft.Authorization/policySetDefinitions"

ParametryDefinitions

Nazwa Opis Wartość

ParameterDefinitionsValue

Nazwa Opis Wartość
allowedValues Dozwolone wartości parametru. any[]
defaultValue Wartość domyślna parametru, jeśli nie podano żadnej wartości. jakikolwiek
metadane Ogólne metadane parametru. ParameterDefinitionsValueMetadata
schemat Zapewnia walidację danych wejściowych parametrów podczas przypisywania przy użyciu schematu JSON zdefiniowanego samodzielnie. Ta właściwość jest obsługiwana tylko dla parametrów typu obiektu i jest zgodna z implementacją Json.NET Schema 2019-09. Aby dowiedzieć się więcej na temat używania schematów, zobacz https://json-schema.org/ i testowanie schematów roboczych w witrynie https://www.jsonschemavalidator.net/. jakikolwiek
typ Typ danych parametru. "Tablica"
"Wartość logiczna"
"DateTime"
"Float"
"Liczba całkowita"
"Obiekt"
"Ciąg"

ParameterDefinitionsValueMetadata

Nazwa Opis Wartość
assignPermissions Ustaw wartość true, aby witryna Azure Portal utworzyła przypisania ról dla identyfikatora zasobu lub wartości zakresu zasobu tego parametru podczas przypisywania zasad. Ta właściwość jest przydatna w przypadku, gdy chcesz przypisać uprawnienia poza zakresem przypisania. Bool
opis Opis parametru. ciąg
nazwa wyświetlana Nazwa wyświetlana parametru. ciąg
strongType Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. ciąg

ParameterValues

Nazwa Opis Wartość

ParameterValuesValue

Nazwa Opis Wartość
wartość Wartość parametru. jakikolwiek

PolicyDefinitionGroup

Nazwa Opis Wartość
additionalMetadataId Identyfikator zasobu, który zawiera dodatkowe metadane dotyczące grupy. ciąg
kategoria Kategoria grupy. ciąg
opis Opis grupy. ciąg
nazwa wyświetlana Nazwa wyświetlana grupy. ciąg
nazwa Nazwa grupy. ciąg (wymagany)

PolicyDefinitionReference

Nazwa Opis Wartość
definitionVersion Wersja definicji zasad do użycia. ciąg
groupNames Nazwa grup, do których należy odwołanie do tej definicji zasad. string[]
Parametry Wartości parametrów dla reguły zasad, do których odwołuje się odwołanie. Klucze są nazwami parametrów. ParameterValues
policyDefinitionId Identyfikator definicji zasad lub definicji zestawu zasad. ciąg (wymagany)
policyDefinitionReferenceId Unikatowy identyfikator (w definicji zestawu zasad) dla tej definicji zasad. ciąg

PolicySetDefinitionProperties

Nazwa Opis Wartość
opis Opis definicji zestawu zasad. ciąg
nazwa wyświetlana Nazwa wyświetlana definicji zestawu zasad. ciąg
metadane Metadane definicji zestawu zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. jakikolwiek
Parametry Parametry definicji zestawu zasad, które mogą być używane w odwołaniach definicji zasad. ParametrDefinitions
policyDefinitionGroups Metadane opisujące grupy odwołań definicji zasad w definicji zestawu zasad. PolicyDefinitionGroup[]
definicje zasad Tablica odwołań definicji zasad. PolicyDefinitionReference[] (wymagane)
policyType Typ definicji zestawu zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. "BuiltIn"
"Niestandardowy"
"NotSpecified"
"Statyczny"
wersja Wersja definicji zestawu zasad w formacie #.#.# ciąg
Wersje Lista dostępnych wersji dla tej definicji zestawu zasad. string[]

Przykłady użycia

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu policySetDefinitions można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Authorization/policySetDefinitions, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Authorization/policySetDefinitions@2025-03-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      description = "string"
      displayName = "string"
      metadata = ?
      parameters = {
        {customized property} = {
          allowedValues = [
            ?
          ]
          defaultValue = ?
          metadata = {
            assignPermissions = bool
            description = "string"
            displayName = "string"
            strongType = "string"
          }
          schema = ?
          type = "string"
        }
      }
      policyDefinitionGroups = [
        {
          additionalMetadataId = "string"
          category = "string"
          description = "string"
          displayName = "string"
          name = "string"
        }
      ]
      policyDefinitions = [
        {
          definitionVersion = "string"
          groupNames = [
            "string"
          ]
          parameters = {
            {customized property} = {
              value = ?
            }
          }
          policyDefinitionId = "string"
          policyDefinitionReferenceId = "string"
        }
      ]
      policyType = "string"
      version = "string"
      versions = [
        "string"
      ]
    }
  }
}

Wartości właściwości

Microsoft.Authorization/policySetDefinitions

Nazwa Opis Wartość
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (wymagane)
parent_id Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. ciąg (wymagany)
Właściwości Właściwości definicji zestawu zasad. PolicySetDefinitionProperties
typ Typ zasobu "Microsoft.Authorization/policySetDefinitions@2025-03-01"

ParametryDefinitions

Nazwa Opis Wartość

ParameterDefinitionsValue

Nazwa Opis Wartość
allowedValues Dozwolone wartości parametru. any[]
defaultValue Wartość domyślna parametru, jeśli nie podano żadnej wartości. jakikolwiek
metadane Ogólne metadane parametru. ParameterDefinitionsValueMetadata
schemat Zapewnia walidację danych wejściowych parametrów podczas przypisywania przy użyciu schematu JSON zdefiniowanego samodzielnie. Ta właściwość jest obsługiwana tylko dla parametrów typu obiektu i jest zgodna z implementacją Json.NET Schema 2019-09. Aby dowiedzieć się więcej na temat używania schematów, zobacz https://json-schema.org/ i testowanie schematów roboczych w witrynie https://www.jsonschemavalidator.net/. jakikolwiek
typ Typ danych parametru. "Tablica"
"Wartość logiczna"
"DateTime"
"Float"
"Liczba całkowita"
"Obiekt"
"Ciąg"

ParameterDefinitionsValueMetadata

Nazwa Opis Wartość
assignPermissions Ustaw wartość true, aby witryna Azure Portal utworzyła przypisania ról dla identyfikatora zasobu lub wartości zakresu zasobu tego parametru podczas przypisywania zasad. Ta właściwość jest przydatna w przypadku, gdy chcesz przypisać uprawnienia poza zakresem przypisania. Bool
opis Opis parametru. ciąg
nazwa wyświetlana Nazwa wyświetlana parametru. ciąg
strongType Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. ciąg

ParameterValues

Nazwa Opis Wartość

ParameterValuesValue

Nazwa Opis Wartość
wartość Wartość parametru. jakikolwiek

PolicyDefinitionGroup

Nazwa Opis Wartość
additionalMetadataId Identyfikator zasobu, który zawiera dodatkowe metadane dotyczące grupy. ciąg
kategoria Kategoria grupy. ciąg
opis Opis grupy. ciąg
nazwa wyświetlana Nazwa wyświetlana grupy. ciąg
nazwa Nazwa grupy. ciąg (wymagany)

PolicyDefinitionReference

Nazwa Opis Wartość
definitionVersion Wersja definicji zasad do użycia. ciąg
groupNames Nazwa grup, do których należy odwołanie do tej definicji zasad. string[]
Parametry Wartości parametrów dla reguły zasad, do których odwołuje się odwołanie. Klucze są nazwami parametrów. ParameterValues
policyDefinitionId Identyfikator definicji zasad lub definicji zestawu zasad. ciąg (wymagany)
policyDefinitionReferenceId Unikatowy identyfikator (w definicji zestawu zasad) dla tej definicji zasad. ciąg

PolicySetDefinitionProperties

Nazwa Opis Wartość
opis Opis definicji zestawu zasad. ciąg
nazwa wyświetlana Nazwa wyświetlana definicji zestawu zasad. ciąg
metadane Metadane definicji zestawu zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. jakikolwiek
Parametry Parametry definicji zestawu zasad, które mogą być używane w odwołaniach definicji zasad. ParametrDefinitions
policyDefinitionGroups Metadane opisujące grupy odwołań definicji zasad w definicji zestawu zasad. PolicyDefinitionGroup[]
definicje zasad Tablica odwołań definicji zasad. PolicyDefinitionReference[] (wymagane)
policyType Typ definicji zestawu zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. "BuiltIn"
"Niestandardowy"
"NotSpecified"
"Statyczny"
wersja Wersja definicji zestawu zasad w formacie #.#.# ciąg
Wersje Lista dostępnych wersji dla tej definicji zestawu zasad. string[]

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania definicji zestawu zasad.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus"
}

data "azapi_client_config" "current" {}

resource "azapi_resource" "policyDefinition" {
  type      = "Microsoft.Authorization/policyDefinitions@2021-06-01"
  parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
  name      = var.resource_name
  body = {
    properties = {
      description = ""
      displayName = "my-policy-definition"
      mode        = "All"
      parameters = {
        allowedLocations = {
          metadata = {
            description = "The list of allowed locations for resources."
            displayName = "Allowed locations"
            strongType  = "location"
          }
          type = "Array"
        }
      }
      policyRule = {
        if = {
          not = {
            field = "location"
            in    = "[parameters('allowedLocations')]"
          }
        }
        then = {
          effect = "audit"
        }
      }
      policyType = "Custom"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "policySetDefinition" {
  type      = "Microsoft.Authorization/policySetDefinitions@2025-01-01"
  parent_id = "/subscriptions/${data.azapi_client_config.current.subscription_id}"
  name      = "acctestpolset-${var.resource_name}"
  body = {
    properties = {
      description = ""
      displayName = "acctestpolset-${var.resource_name}"
      parameters = {
        allowedLocations = {
          metadata = {
            description = "The list of allowed locations for resources."
            displayName = "Allowed locations"
            strongType  = "location"
          }
          type = "Array"
        }
      }
      policyDefinitions = [{
        groupNames = []
        parameters = {
          listOfAllowedLocations = {
            value = "[parameters('allowedLocations')]"
          }
        }
        policyDefinitionId          = azapi_resource.policyDefinition.id
        policyDefinitionReferenceId = ""
      }]
      policyType = "Custom"
    }
  }
}