你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 资源定义
可以使用目标操作部署 policySetDefinitions 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Authorization/policySetDefinitions 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Authorization/policySetDefinitions@2018-05-01' = {
name: 'string'
properties: {
description: 'string'
displayName: 'string'
metadata: any(...)
parameters: any(...)
policyDefinitions: [
{
parameters: any(...)
policyDefinitionId: 'string'
}
]
policyType: 'string'
}
}
属性值
Microsoft.Authorization/policySetDefinitions
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 资源名称 | string (必需) |
| 性能 | 策略定义属性。 | PolicySetDefinitionProperties |
PolicyDefinitionReference
| 名字 | 描述 | 价值 |
|---|---|---|
| 参数 | 如果在策略规则中使用参数,则为必需参数。 | 任何 |
| policyDefinitionId | 策略定义或策略集定义的 ID。 | 字符串 |
PolicySetDefinitionProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 描述 | 策略集定义说明。 | 字符串 |
| displayName | 策略集定义的显示名称。 | 字符串 |
| 元数据 | 策略集定义元数据。 | 任何 |
| 参数 | 可在策略定义引用中使用的策略集定义参数。 | 任何 |
| policyDefinitions | 策略定义引用的数组。 | PolicyDefinitionReference[] (必需) |
| policyType | 策略定义的类型。 可能的值为 NotSpecified、BuiltIn 和 Custom。 | “BuiltIn” “Custom” “NotSpecified” |
用法示例
Bicep 示例
部署策略集定义的基本示例。
targetScope = 'subscription'
param resourceName string = 'acctest0001'
resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2021-06-01' = {
name: resourceName
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'
}
}
resource policySetDefinition 'Microsoft.Authorization/policySetDefinitions@2025-01-01' = {
name: 'acctestpolset-${resourceName}'
properties: {
description: ''
displayName: 'acctestpolset-acctest0001'
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: policyDefinition.id
policyDefinitionReferenceId: ''
}
]
policyType: 'Custom'
}
}
ARM 模板资源定义
可以使用目标操作部署 policySetDefinitions 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Authorization/policySetDefinitions 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Authorization/policySetDefinitions",
"apiVersion": "2018-05-01",
"name": "string",
"properties": {
"description": "string",
"displayName": "string",
"metadata": {},
"parameters": {},
"policyDefinitions": [
{
"parameters": {},
"policyDefinitionId": "string"
}
],
"policyType": "string"
}
}
属性值
Microsoft.Authorization/policySetDefinitions
| 名字 | 描述 | 价值 |
|---|---|---|
| apiVersion | API 版本 | '2018-05-01' |
| 名字 | 资源名称 | string (必需) |
| 性能 | 策略定义属性。 | PolicySetDefinitionProperties |
| 类型 | 资源类型 | “Microsoft.Authorization/policySetDefinitions” |
PolicyDefinitionReference
| 名字 | 描述 | 价值 |
|---|---|---|
| 参数 | 如果在策略规则中使用参数,则为必需参数。 | 任何 |
| policyDefinitionId | 策略定义或策略集定义的 ID。 | 字符串 |
PolicySetDefinitionProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 描述 | 策略集定义说明。 | 字符串 |
| displayName | 策略集定义的显示名称。 | 字符串 |
| 元数据 | 策略集定义元数据。 | 任何 |
| 参数 | 可在策略定义引用中使用的策略集定义参数。 | 任何 |
| policyDefinitions | 策略定义引用的数组。 | PolicyDefinitionReference[] (必需) |
| policyType | 策略定义的类型。 可能的值为 NotSpecified、BuiltIn 和 Custom。 | “BuiltIn” “Custom” “NotSpecified” |
用法示例
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 policySetDefinitions 资源类型:
- 管理组* 订阅
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Authorization/policySetDefinitions 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Authorization/policySetDefinitions@2018-05-01"
name = "string"
parent_id = "string"
body = {
properties = {
description = "string"
displayName = "string"
metadata = ?
parameters = ?
policyDefinitions = [
{
parameters = ?
policyDefinitionId = "string"
}
]
policyType = "string"
}
}
}
属性值
Microsoft.Authorization/policySetDefinitions
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 资源名称 | string (必需) |
| 性能 | 策略定义属性。 | PolicySetDefinitionProperties |
| 类型 | 资源类型 | “Microsoft.Authorization/policySetDefinitions@2018-05-01” |
PolicyDefinitionReference
| 名字 | 描述 | 价值 |
|---|---|---|
| 参数 | 如果在策略规则中使用参数,则为必需参数。 | 任何 |
| policyDefinitionId | 策略定义或策略集定义的 ID。 | 字符串 |
PolicySetDefinitionProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 描述 | 策略集定义说明。 | 字符串 |
| displayName | 策略集定义的显示名称。 | 字符串 |
| 元数据 | 策略集定义元数据。 | 任何 |
| 参数 | 可在策略定义引用中使用的策略集定义参数。 | 任何 |
| policyDefinitions | 策略定义引用的数组。 | PolicyDefinitionReference[] (必需) |
| policyType | 策略定义的类型。 可能的值为 NotSpecified、BuiltIn 和 Custom。 | “BuiltIn” “Custom” “NotSpecified” |
用法示例
Terraform 示例
部署策略集定义的基本示例。
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"
}
}
}