Udostępnij przez


Microsoft.Authorization policyDefinitions

Definicja zasobu Bicep

Typ zasobu policyDefinitions 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/policyDefinitions, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.Authorization/policyDefinitions@2025-03-01' = {
  scope: resourceSymbolicName or scope
  name: 'string'
  properties: {
    description: 'string'
    displayName: 'string'
    externalEvaluationEnforcementSettings: {
      endpointSettings: {
        details: any(...)
        kind: 'string'
      }
      missingTokenAction: 'string'
      resultLifespan: 'string'
      roleDefinitionIds: [
        'string'
      ]
    }
    metadata: any(...)
    mode: 'string'
    parameters: {
      {customized property}: {
        allowedValues: [
          any(...)
        ]
        defaultValue: any(...)
        metadata: {
          assignPermissions: bool
          description: 'string'
          displayName: 'string'
          strongType: 'string'
        }
        schema: any(...)
        type: 'string'
      }
    }
    policyRule: any(...)
    policyType: 'string'
    version: 'string'
    versions: [
      'string'
    ]
  }
}

Wartości właściwości

Microsoft.Authorization/policyDefinitions

Nazwa Opis Wartość
nazwa Nazwa zasobu struna

Ograniczenia:
Wzorzec = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (wymagane)
właściwości Właściwości definicji zasad. Właściwości PolicyDefinitionProperties
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.

ExternalEvaluationEndpointSettings

Nazwa Opis Wartość
Szczegóły Szczegóły punktu końcowego. jakikolwiek
rodzaj Rodzaj punktu końcowego. ciąg

ExternalEvaluationEnforcementSettings

Nazwa Opis Wartość
endpointSettings (ustawienia punktu końcowego) Ustawienia zewnętrznego punktu końcowego zapewniającego wyniki oceny. ExternalEvaluationEndpointSettings
missingTokenAction (missingTokenAction) Co zrobić podczas oceniania zasad wymuszania, które wymagają oceny zewnętrznej i brakuje tokenu. Możliwe wartości to Wyrażenia inspekcji i odmowy i języka są obsługiwane. ciąg
wynikDługość życia Cykl życia wywołania punktu końcowego powoduje, że nie jest już prawidłowy. Oczekuje się, że wartość będzie przestrzegać formatu czasu trwania ISO 8601, a wyrażenia języka są obsługiwane. ciąg
identyfikatoryDefinicjiRoli Tablica identyfikatorów definicji roli tożsamość usługi zarządzanej przypisania będzie potrzebna w celu wywołania punktu końcowego. ciąg znakowy[]

ParametryDefinitions

Nazwa Opis Wartość

ParameterDefinitionsValue

Nazwa Opis Wartość
allowedValues (dozwolone wartości) Dozwolone wartości parametru. dowolne[]
defaultValue (wartość domyślna) 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 (uprawnienia) 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 (typ wzmocnienia) Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. ciąg

Właściwości PolicyDefinitionProperties

Nazwa Opis Wartość
opis Opis definicji zasad. ciąg
nazwa wyświetlana Nazwa wyświetlana definicji zasad. ciąg
externalEvaluationEnforcementSettings Szczegóły źródła wyników oceny zewnętrznej wymagane przez zasady podczas oceny wymuszania. ExternalEvaluationEnforcementSettings
metadane Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. jakikolwiek
tryb Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data. ciąg
Parametry Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów. ParametrDefinitions
Reguła polityki Reguła zasad. jakikolwiek
policyType (typ polityki) Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. "BuiltIn"
"Niestandardowy"
"NotSpecified"
"Statyczny"
wersja Wersja definicji zasad w formacie #.#.# ciąg
wersje Lista dostępnych wersji dla tej definicji zasad. ciąg znakowy[]

Przykłady użycia

Przykłady szybkiego startu platformy Azure

Poniższe szablony szybkiego startu platformy Azure zawierają przykłady Bicep na potrzeby wdrażania tego typu zasobu.

Plik Bicep Opis
Tworzenie menedżera sieci wirtualnej platformy Azure i przykładowych sieci wirtualnych Ten szablon umożliwia wdrożenie menedżera sieci wirtualnej platformy Azure i przykładowych sieci wirtualnych w nazwanej grupie zasobów. Obsługuje wiele topologii łączności i typów członkostwa w grupach sieci.
wdrażanie def zasad i przypisywanie do wielu grup mgmt Ten szablon jest szablonem na poziomie grupy zarządzania, który utworzy definicję zasad i przypisze te zasady do wielu grup zarządzania.
Wdrażanie definicji zasad i przypisywanie ich do grupy zarządzania Ten szablon jest szablonem na poziomie grupy zarządzania, który utworzy definicję zasad i przypisze te zasady do docelowej grupy zarządzania. Obecnie nie można wdrożyć tego szablonu za pośrednictwem witryny Azure Portal.

Definicja zasobu szablonu usługi ARM

Typ zasobu policyDefinitions 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/policyDefinitions, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.Authorization/policyDefinitions",
  "apiVersion": "2025-03-01",
  "name": "string",
  "properties": {
    "description": "string",
    "displayName": "string",
    "externalEvaluationEnforcementSettings": {
      "endpointSettings": {
        "details": {},
        "kind": "string"
      },
      "missingTokenAction": "string",
      "resultLifespan": "string",
      "roleDefinitionIds": [ "string" ]
    },
    "metadata": {},
    "mode": "string",
    "parameters": {
      "{customized property}": {
        "allowedValues": [ {} ],
        "defaultValue": {},
        "metadata": {
          "assignPermissions": "bool",
          "description": "string",
          "displayName": "string",
          "strongType": "string"
        },
        "schema": {},
        "type": "string"
      }
    },
    "policyRule": {},
    "policyType": "string",
    "version": "string",
    "versions": [ "string" ]
  }
}

Wartości właściwości

Microsoft.Authorization/policyDefinitions

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

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

ExternalEvaluationEndpointSettings

Nazwa Opis Wartość
Szczegóły Szczegóły punktu końcowego. jakikolwiek
rodzaj Rodzaj punktu końcowego. ciąg

ExternalEvaluationEnforcementSettings

Nazwa Opis Wartość
endpointSettings (ustawienia punktu końcowego) Ustawienia zewnętrznego punktu końcowego zapewniającego wyniki oceny. ExternalEvaluationEndpointSettings
missingTokenAction (missingTokenAction) Co zrobić podczas oceniania zasad wymuszania, które wymagają oceny zewnętrznej i brakuje tokenu. Możliwe wartości to Wyrażenia inspekcji i odmowy i języka są obsługiwane. ciąg
wynikDługość życia Cykl życia wywołania punktu końcowego powoduje, że nie jest już prawidłowy. Oczekuje się, że wartość będzie przestrzegać formatu czasu trwania ISO 8601, a wyrażenia języka są obsługiwane. ciąg
identyfikatoryDefinicjiRoli Tablica identyfikatorów definicji roli tożsamość usługi zarządzanej przypisania będzie potrzebna w celu wywołania punktu końcowego. ciąg znakowy[]

ParametryDefinitions

Nazwa Opis Wartość

ParameterDefinitionsValue

Nazwa Opis Wartość
allowedValues (dozwolone wartości) Dozwolone wartości parametru. dowolne[]
defaultValue (wartość domyślna) 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 (uprawnienia) 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 (typ wzmocnienia) Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. ciąg

Właściwości PolicyDefinitionProperties

Nazwa Opis Wartość
opis Opis definicji zasad. ciąg
nazwa wyświetlana Nazwa wyświetlana definicji zasad. ciąg
externalEvaluationEnforcementSettings Szczegóły źródła wyników oceny zewnętrznej wymagane przez zasady podczas oceny wymuszania. ExternalEvaluationEnforcementSettings
metadane Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. jakikolwiek
tryb Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data. ciąg
Parametry Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów. ParametrDefinitions
Reguła polityki Reguła zasad. jakikolwiek
policyType (typ polityki) Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. "BuiltIn"
"Niestandardowy"
"NotSpecified"
"Statyczny"
wersja Wersja definicji zasad w formacie #.#.# ciąg
wersje Lista dostępnych wersji dla tej definicji zasad. ciąg znakowy[]

Przykłady użycia

Szablony szybkiego startu platformy Azure

Następujące szablony szybkiego startu platformy Azure wdrożyć ten typ zasobu.

Szablon Opis
Tworzenie menedżera sieci wirtualnej platformy Azure i przykładowych sieci wirtualnych

Wdrażanie na platformie Azure
Ten szablon umożliwia wdrożenie menedżera sieci wirtualnej platformy Azure i przykładowych sieci wirtualnych w nazwanej grupie zasobów. Obsługuje wiele topologii łączności i typów członkostwa w grupach sieci.
wdrażanie def zasad i przypisywanie do wielu grup mgmt

Wdrażanie na platformie Azure
Ten szablon jest szablonem na poziomie grupy zarządzania, który utworzy definicję zasad i przypisze te zasady do wielu grup zarządzania.
Wdrażanie definicji zasad i przypisywanie ich do grupy zarządzania

Wdrażanie na platformie Azure
Ten szablon jest szablonem na poziomie grupy zarządzania, który utworzy definicję zasad i przypisze te zasady do docelowej grupy zarządzania. Obecnie nie można wdrożyć tego szablonu za pośrednictwem witryny Azure Portal.

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu policyDefinitions 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/policyDefinitions, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Authorization/policyDefinitions@2025-03-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      description = "string"
      displayName = "string"
      externalEvaluationEnforcementSettings = {
        endpointSettings = {
          details = ?
          kind = "string"
        }
        missingTokenAction = "string"
        resultLifespan = "string"
        roleDefinitionIds = [
          "string"
        ]
      }
      metadata = ?
      mode = "string"
      parameters = {
        {customized property} = {
          allowedValues = [
            ?
          ]
          defaultValue = ?
          metadata = {
            assignPermissions = bool
            description = "string"
            displayName = "string"
            strongType = "string"
          }
          schema = ?
          type = "string"
        }
      }
      policyRule = ?
      policyType = "string"
      version = "string"
      versions = [
        "string"
      ]
    }
  }
}

Wartości właściwości

Microsoft.Authorization/policyDefinitions

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 zasad. Właściwości PolicyDefinitionProperties
typ Typ zasobu "Microsoft.Authorization/policyDefinitions@2025-03-01"

ExternalEvaluationEndpointSettings

Nazwa Opis Wartość
Szczegóły Szczegóły punktu końcowego. jakikolwiek
rodzaj Rodzaj punktu końcowego. ciąg

ExternalEvaluationEnforcementSettings

Nazwa Opis Wartość
endpointSettings (ustawienia punktu końcowego) Ustawienia zewnętrznego punktu końcowego zapewniającego wyniki oceny. ExternalEvaluationEndpointSettings
missingTokenAction (missingTokenAction) Co zrobić podczas oceniania zasad wymuszania, które wymagają oceny zewnętrznej i brakuje tokenu. Możliwe wartości to Wyrażenia inspekcji i odmowy i języka są obsługiwane. ciąg
wynikDługość życia Cykl życia wywołania punktu końcowego powoduje, że nie jest już prawidłowy. Oczekuje się, że wartość będzie przestrzegać formatu czasu trwania ISO 8601, a wyrażenia języka są obsługiwane. ciąg
identyfikatoryDefinicjiRoli Tablica identyfikatorów definicji roli tożsamość usługi zarządzanej przypisania będzie potrzebna w celu wywołania punktu końcowego. ciąg znakowy[]

ParametryDefinitions

Nazwa Opis Wartość

ParameterDefinitionsValue

Nazwa Opis Wartość
allowedValues (dozwolone wartości) Dozwolone wartości parametru. dowolne[]
defaultValue (wartość domyślna) 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 (uprawnienia) 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 (typ wzmocnienia) Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. ciąg

Właściwości PolicyDefinitionProperties

Nazwa Opis Wartość
opis Opis definicji zasad. ciąg
nazwa wyświetlana Nazwa wyświetlana definicji zasad. ciąg
externalEvaluationEnforcementSettings Szczegóły źródła wyników oceny zewnętrznej wymagane przez zasady podczas oceny wymuszania. ExternalEvaluationEnforcementSettings
metadane Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. jakikolwiek
tryb Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data. ciąg
Parametry Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów. ParametrDefinitions
Reguła polityki Reguła zasad. jakikolwiek
policyType (typ polityki) Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. "BuiltIn"
"Niestandardowy"
"NotSpecified"
"Statyczny"
wersja Wersja definicji zasad w formacie #.#.# ciąg
wersje Lista dostępnych wersji dla tej definicji zasad. ciąg znakowy[]

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania definicji zasad autoryzacji.

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

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

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

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

data "azurerm_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    = ["*"]
}