你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 资源定义
可以使用目标操作部署 policyAssignments 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Authorization/policyAssignments 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Authorization/policyAssignments@2017-06-01-preview' = {
scope: resourceSymbolicName or scope
name: 'string'
properties: {
description: 'string'
displayName: 'string'
metadata: any(...)
notScopes: [
'string'
]
parameters: any(...)
policyDefinitionId: 'string'
scope: 'string'
}
sku: {
name: 'string'
tier: 'string'
}
}
属性值
Microsoft.Authorization/policyAssignments
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 资源名称 | string (必需) |
| 性能 | 策略分配的属性。 | PolicyAssignmentProperties |
| 作用域 | 在与部署范围不同的范围内创建资源时使用。 | 将此属性设置为资源的符号名称,以应用 扩展资源。 |
| sku | 策略 SKU。 | PolicySku |
PolicyAssignmentProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 描述 | 如果发生策略冲突,此消息将是响应的一部分。 | 字符串 |
| displayName | 策略分配的显示名称。 | 字符串 |
| 元数据 | 策略分配元数据。 | 任何 |
| notScopes | 策略的排除范围。 | string[] |
| 参数 | 如果在策略规则中使用参数,则为必需参数。 | 任何 |
| policyDefinitionId | 策略定义的 ID。 | 字符串 |
| 作用域 | 策略分配的范围。 | 字符串 |
PolicySku
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 策略 SKU 的名称。 可能的值为 A0 和 A1。 | string (必需) |
| 分层 | 策略 SKU 层。 可能的值为 Free 和 Standard。 | 字符串 |
用法示例
Bicep 示例
部署策略分配的基本示例。
targetScope = 'subscription'
param resourceName string = 'acctest0001'
resource policyAssignment 'Microsoft.Authorization/policyAssignments@2022-06-01' = {
name: resourceName
properties: {
displayName: ''
enforcementMode: 'Default'
parameters: {
listOfAllowedLocations: {
value: [
'West Europe'
'West US 2'
'East US 2'
]
}
}
policyDefinitionId: policyDefinition.id
scope: subscription().id
}
}
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'
}
}
Azure 验证模块
以下 Azure 验证模块 可用于部署此资源类型。
| 模块 | 描述 |
|---|---|
| 授权 - 策略分配 | AVM 授权资源模块 - 策略分配 |
| 授权 - 策略分配 - 管理组范围 | AVM授权子模块 - 策略分配 - 管理组范围 |
| 授权 - 策略分配 - 资源组范围 | AVM授权子模块 - 策略分配 - 资源组范围 |
| 授权 - 策略分配 - 订阅范围 | AVM 子模块授权 - 策略分配 - 订阅范围 |
Azure 快速入门示例
以下 Azure 快速入门模板 包含用于部署此资源类型的 Bicep 示例。
| Bicep 文件 | 描述 |
|---|---|
| 分配内置策略以审核 VM 托管磁盘 | 此模板将内置策略分配给资源组范围以审核虚拟机(VM)托管磁盘。 |
| 创建 Azure 虚拟网络管理器和示例 VNET | 此模板将 Azure 虚拟网络管理器和示例虚拟网络部署到命名资源组中。 它支持多个连接拓扑和网络组成员身份类型。 |
| 部署策略 def 并将其分配给多个 Mgmt 组 | 此模板是一个管理组级模板,用于创建策略定义并将该策略分配给多个管理组。 |
| 部署策略定义并分配给管理组 | 此模板是一个管理组级模板,用于创建策略定义并将该策略分配给目标管理组。 目前,无法通过 Azure 门户部署此模板。 |
ARM 模板资源定义
可以使用目标操作部署 policyAssignments 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Authorization/policyAssignments 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Authorization/policyAssignments",
"apiVersion": "2017-06-01-preview",
"name": "string",
"properties": {
"description": "string",
"displayName": "string",
"metadata": {},
"notScopes": [ "string" ],
"parameters": {},
"policyDefinitionId": "string",
"scope": "string"
},
"sku": {
"name": "string",
"tier": "string"
}
}
属性值
Microsoft.Authorization/policyAssignments
| 名字 | 描述 | 价值 |
|---|---|---|
| apiVersion | API 版本 | '2017-06-01-preview' |
| 名字 | 资源名称 | string (必需) |
| 性能 | 策略分配的属性。 | PolicyAssignmentProperties |
| sku | 策略 SKU。 | PolicySku |
| 类型 | 资源类型 | “Microsoft.Authorization/policyAssignments” |
PolicyAssignmentProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 描述 | 如果发生策略冲突,此消息将是响应的一部分。 | 字符串 |
| displayName | 策略分配的显示名称。 | 字符串 |
| 元数据 | 策略分配元数据。 | 任何 |
| notScopes | 策略的排除范围。 | string[] |
| 参数 | 如果在策略规则中使用参数,则为必需参数。 | 任何 |
| policyDefinitionId | 策略定义的 ID。 | 字符串 |
| 作用域 | 策略分配的范围。 | 字符串 |
PolicySku
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 策略 SKU 的名称。 可能的值为 A0 和 A1。 | string (必需) |
| 分层 | 策略 SKU 层。 可能的值为 Free 和 Standard。 | 字符串 |
用法示例
Azure 快速入门模板
以下 Azure 快速入门模板 部署此资源类型。
| 模板 | 描述 |
|---|---|
|
将内置策略分配给现有资源组 |
此模板将内置策略分配给现有资源组。 |
|
分配内置策略以审核 VM 托管磁盘 |
此模板将内置策略分配给资源组范围以审核虚拟机(VM)托管磁盘。 |
|
创建 Azure 虚拟网络管理器和示例 VNET |
此模板将 Azure 虚拟网络管理器和示例虚拟网络部署到命名资源组中。 它支持多个连接拓扑和网络组成员身份类型。 |
|
部署策略 def 并将其分配给多个 Mgmt 组 |
此模板是一个管理组级模板,用于创建策略定义并将该策略分配给多个管理组。 |
|
部署策略定义并分配给管理组 |
此模板是一个管理组级模板,用于创建策略定义并将该策略分配给目标管理组。 目前,无法通过 Azure 门户部署此模板。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 policyAssignments 资源类型:
- 租户* 管理组* 订阅* 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Authorization/policyAssignments 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Authorization/policyAssignments@2017-06-01-preview"
name = "string"
parent_id = "string"
body = {
properties = {
description = "string"
displayName = "string"
metadata = ?
notScopes = [
"string"
]
parameters = ?
policyDefinitionId = "string"
scope = "string"
}
sku = {
name = "string"
tier = "string"
}
}
}
属性值
Microsoft.Authorization/policyAssignments
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 资源名称 | string (必需) |
| parent_id | 要向其应用此扩展资源的资源的 ID。 | string (必需) |
| 性能 | 策略分配的属性。 | PolicyAssignmentProperties |
| sku | 策略 SKU。 | PolicySku |
| 类型 | 资源类型 | “Microsoft.Authorization/policyAssignments@2017-06-01-preview” |
PolicyAssignmentProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 描述 | 如果发生策略冲突,此消息将是响应的一部分。 | 字符串 |
| displayName | 策略分配的显示名称。 | 字符串 |
| 元数据 | 策略分配元数据。 | 任何 |
| notScopes | 策略的排除范围。 | string[] |
| 参数 | 如果在策略规则中使用参数,则为必需参数。 | 任何 |
| policyDefinitionId | 策略定义的 ID。 | 字符串 |
| 作用域 | 策略分配的范围。 | 字符串 |
PolicySku
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 策略 SKU 的名称。 可能的值为 A0 和 A1。 | string (必需) |
| 分层 | 策略 SKU 层。 可能的值为 Free 和 Standard。 | 字符串 |
用法示例
Terraform 示例
部署策略分配的基本示例。
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" {
}
data "azapi_resource" "subscription" {
type = "Microsoft.Resources/subscriptions@2021-01-01"
resource_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
response_export_values = ["*"]
}
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" "policyAssignment" {
type = "Microsoft.Authorization/policyAssignments@2022-06-01"
parent_id = data.azapi_resource.subscription.id
name = var.resource_name
body = {
properties = {
displayName = ""
enforcementMode = "Default"
parameters = {
listOfAllowedLocations = {
value = [
"West Europe",
"West US 2",
"East US 2",
]
}
}
policyDefinitionId = azapi_resource.policyDefinition.id
scope = data.azapi_resource.subscription.id
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}