通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.Authorization 策略分配 2016-04-01

Bicep资源定义

可以使用目标操作部署策略分配资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

要创建 Microsoft.Authorization/policyassignments 资源,请将以下 Bicep 添加到你的模板中。

resource symbolicname 'Microsoft.Authorization/policyassignments@2016-04-01' = {
  scope: resourceSymbolicName or scope
  name: 'string'
  properties: {
    displayName: 'string'
    policyDefinitionId: 'string'
    scope: 'string'
  }
}

属性值

Microsoft.Authorization/policyassignments

名字 描述 价值
名字 资源名称 string (必需)
性能 策略分配的属性。 PolicyAssignmentProperties
作用域 在与部署范围不同的范围内创建资源时使用。 将此属性设置为资源的符号名称,以应用 扩展资源

PolicyAssignmentProperties

名字 描述 价值
displayName 策略分配的显示名称。 字符串
policyDefinitionId 策略定义的 ID。 字符串
作用域 策略分配的范围。 字符串

用法示例

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 verified modules

以下 Azure 验证模块可用于部署该资源类型。

模块 描述
授权 - 策略分配 AVM 授权资源模块 - 策略分配
授权 - 策略分配 - 管理组范围 AVM授权子模块 - 策略分配 - 管理组范围
授权 - 策略分配 - 资源组范围 AVM授权子模块 - 策略分配 - 资源组范围
授权 - 策略分配 - 订阅范围 AVM 子模块授权 - 策略分配 - 订阅范围

Azure 快速入门示例

以下Azure快速启动模板包含部署该资源类型的Bicep示例。

Bicep 文件 描述
Assign 内置策略以审计虚拟机托管磁盘 此模板将内置策略分配给资源组范围以审核虚拟机(VM)托管磁盘。
创建一个Azure Virtual Network Manager并采样VNETs 该模板将Azure Virtual Network Manager和示例虚拟网络部署到指定的资源组中。 它支持多个连接拓扑和网络组成员身份类型。
部署策略 def,并分配到多个管理组 此模板是一个管理组级模板,用于创建策略定义并将该策略分配给多个管理组。
部署策略定义并分配到管理组 此模板是一个管理组级模板,用于创建策略定义并将该策略分配给目标管理组。 目前,该模板无法通过 Azure 门户 部署。

ARM 模板资源定义

可以使用目标操作部署策略分配资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Authorization/policyassignments 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Authorization/policyassignments",
  "apiVersion": "2016-04-01",
  "name": "string",
  "properties": {
    "displayName": "string",
    "policyDefinitionId": "string",
    "scope": "string"
  }
}

属性值

Microsoft.Authorization/policyassignments

名字 描述 价值
apiVersion API 版本 '2016-04-01'
名字 资源名称 string (必需)
性能 策略分配的属性。 PolicyAssignmentProperties
类型 资源类型 “Microsoft.Authorization/policyassignments”

PolicyAssignmentProperties

名字 描述 价值
displayName 策略分配的显示名称。 字符串
policyDefinitionId 策略定义的 ID。 字符串
作用域 策略分配的范围。 字符串

用法示例

Azure Quickstart Templates

以下Azure快速启动模板部署了这种资源类型。

模板 描述
为现有资源组分配内置策略

部署到Azure
此模板将内置策略分配给现有资源组。
Assign 内置策略以审计虚拟机托管磁盘

部署到Azure
此模板将内置策略分配给资源组范围以审核虚拟机(VM)托管磁盘。
创建一个Azure Virtual Network Manager并采样VNETs

部署到Azure
该模板将Azure Virtual Network Manager和示例虚拟网络部署到指定的资源组中。 它支持多个连接拓扑和网络组成员身份类型。
部署策略 def,并分配到多个管理组

部署到Azure
此模板是一个管理组级模板,用于创建策略定义并将该策略分配给多个管理组。
部署策略定义并分配到管理组

部署到Azure
此模板是一个管理组级模板,用于创建策略定义并将该策略分配给目标管理组。 目前,该模板无法通过 Azure 门户 部署。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署策略分配资源类型:

  • 租户* 管理组* 订阅* 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Authorization/policyassignments 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Authorization/policyassignments@2016-04-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      displayName = "string"
      policyDefinitionId = "string"
      scope = "string"
    }
  }
}

属性值

Microsoft.Authorization/policyassignments

名字 描述 价值
名字 资源名称 string (必需)
parent_id 要向其应用此扩展资源的资源的 ID。 string (必需)
性能 策略分配的属性。 PolicyAssignmentProperties
类型 资源类型 “Microsoft.Authorization/policyassignments@2016-04-01”

PolicyAssignmentProperties

名字 描述 价值
displayName 策略分配的显示名称。 字符串
policyDefinitionId 策略定义的 ID。 字符串
作用域 策略分配的范围。 字符串

用法示例

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