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

Policy Set Definitions - Create Or Update At Management Group

此操作使用给定名称在给定的管理组中创建或更新策略集定义。

PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}?api-version=2023-04-01

URI 参数

名称 必需 类型 说明
managementGroupId
path True

string

管理组的 ID。

policySetDefinitionName
path True

string

pattern: ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$

要创建的策略集定义的名称。

api-version
query True

string

minLength: 1

用于此操作的 API 版本。

请求正文

名称 必需 类型 说明
properties.policyDefinitions True

PolicyDefinitionReference[]

策略定义引用的数组。

properties.description

string

策略集定义说明。

properties.displayName

string

策略集定义的显示名称。

properties.metadata

object

策略集定义元数据。 元数据是一个开放结束的对象,通常是键值对的集合。

properties.parameters

<string,  ParameterDefinitionsValue>

可在策略定义引用中使用的策略集定义参数。

properties.policyDefinitionGroups

PolicyDefinitionGroup[]

描述策略集定义中的策略定义引用组的元数据。

properties.policyType

policyType

策略集定义的类型。 可能的值为 NotSpecified、BuiltIn、Custom 和 Static。

properties.version

string

策略以 #.#.# 格式设置定义版本。

properties.versions

string[]

此策略集定义的可用版本列表。

响应

名称 类型 说明
200 OK

PolicySetDefinition

确定 - 返回有关策略集定义的信息。

201 Created

PolicySetDefinition

创建 - 返回有关策略集定义的信息。

Other Status Codes

CloudError

描述操作失败的原因的错误响应。

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

示例

Create or update a policy set definition at management group level
Create or update a policy set definition with groups at management group level

Create or update a policy set definition at management group level

示例请求

PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement?api-version=2023-04-01

{
  "properties": {
    "displayName": "Cost Management",
    "description": "Policies to enforce low cost storage SKUs",
    "metadata": {
      "category": "Cost Management"
    },
    "policyDefinitions": [
      {
        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
        "policyDefinitionReferenceId": "Limit_Skus",
        "parameters": {
          "listOfAllowedSKUs": {
            "value": [
              "Standard_GRS",
              "Standard_LRS"
            ]
          }
        }
      },
      {
        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "policyDefinitionReferenceId": "Resource_Naming",
        "parameters": {
          "prefix": {
            "value": "DeptA"
          },
          "suffix": {
            "value": "-LC"
          }
        }
      }
    ]
  }
}

示例响应

{
  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
  "type": "Microsoft.Authorization/policySetDefinitions",
  "name": "CostManagement",
  "properties": {
    "displayName": "Cost Management",
    "description": "Policies to enforce low cost storage SKUs",
    "metadata": {
      "category": "Cost Management"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyDefinitions": [
      {
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Limit_Skus",
        "parameters": {
          "listOfAllowedSKUs": {
            "value": [
              "Standard_GRS",
              "Standard_LRS"
            ]
          }
        }
      },
      {
        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Resource_Naming",
        "parameters": {
          "prefix": {
            "value": "DeptA"
          },
          "suffix": {
            "value": "-LC"
          }
        }
      }
    ]
  }
}
{
  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
  "type": "Microsoft.Authorization/policySetDefinitions",
  "name": "CostManagement",
  "properties": {
    "displayName": "Cost Management",
    "description": "Policies to enforce low cost storage SKUs",
    "metadata": {
      "category": "Cost Management"
    },
    "policyDefinitions": [
      {
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Limit_Skus",
        "parameters": {
          "listOfAllowedSKUs": {
            "value": [
              "Standard_GRS",
              "Standard_LRS"
            ]
          }
        }
      },
      {
        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Resource_Naming",
        "parameters": {
          "prefix": {
            "value": "DeptA"
          },
          "suffix": {
            "value": "-LC"
          }
        }
      }
    ]
  }
}

Create or update a policy set definition with groups at management group level

示例请求

PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement?api-version=2023-04-01

{
  "properties": {
    "displayName": "Cost Management",
    "description": "Policies to enforce low cost storage SKUs",
    "metadata": {
      "category": "Cost Management"
    },
    "policyDefinitionGroups": [
      {
        "name": "CostSaving",
        "displayName": "Cost Management Policies",
        "description": "Policies designed to control spend within a subscription."
      },
      {
        "name": "Organizational",
        "displayName": "Organizational Policies",
        "description": "Policies that help enforce resource organization standards within a subscription."
      }
    ],
    "policyDefinitions": [
      {
        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
        "policyDefinitionReferenceId": "Limit_Skus",
        "groupNames": [
          "CostSaving"
        ],
        "parameters": {
          "listOfAllowedSKUs": {
            "value": [
              "Standard_GRS",
              "Standard_LRS"
            ]
          }
        }
      },
      {
        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "policyDefinitionReferenceId": "Resource_Naming",
        "groupNames": [
          "Organizational"
        ],
        "parameters": {
          "prefix": {
            "value": "DeptA"
          },
          "suffix": {
            "value": "-LC"
          }
        }
      }
    ]
  }
}

示例响应

{
  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
  "type": "Microsoft.Authorization/policySetDefinitions",
  "name": "CostManagement",
  "properties": {
    "displayName": "Cost Management",
    "description": "Policies to enforce low cost storage SKUs",
    "metadata": {
      "category": "Cost Management"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyDefinitionGroups": [
      {
        "name": "CostSaving",
        "displayName": "Cost Management Policies",
        "description": "Policies designed to control spend within a subscription."
      },
      {
        "name": "Organizational",
        "displayName": "Organizational Policies",
        "description": "Policies that help enforce resource organization standards within a subscription."
      }
    ],
    "policyDefinitions": [
      {
        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Limit_Skus",
        "groupNames": [
          "CostSaving"
        ],
        "parameters": {
          "listOfAllowedSKUs": {
            "value": [
              "Standard_GRS",
              "Standard_LRS"
            ]
          }
        }
      },
      {
        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Resource_Naming",
        "groupNames": [
          "Organizational"
        ],
        "parameters": {
          "prefix": {
            "value": "DeptA"
          },
          "suffix": {
            "value": "-LC"
          }
        }
      }
    ]
  }
}
{
  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
  "type": "Microsoft.Authorization/policySetDefinitions",
  "name": "CostManagement",
  "properties": {
    "displayName": "Cost Management",
    "description": "Policies to enforce low cost storage SKUs",
    "metadata": {
      "category": "Cost Management"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyDefinitionGroups": [
      {
        "name": "CostSaving",
        "displayName": "Cost Management Policies",
        "description": "Policies designed to control spend within a subscription."
      },
      {
        "name": "Organizational",
        "displayName": "Organizational Policies",
        "description": "Policies that help enforce resource organization standards within a subscription."
      }
    ],
    "policyDefinitions": [
      {
        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Limit_Skus",
        "groupNames": [
          "CostSaving"
        ],
        "parameters": {
          "listOfAllowedSKUs": {
            "value": [
              "Standard_GRS",
              "Standard_LRS"
            ]
          }
        }
      },
      {
        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
        "definitionVersion": "1.*.*",
        "policyDefinitionReferenceId": "Resource_Naming",
        "groupNames": [
          "Organizational"
        ],
        "parameters": {
          "prefix": {
            "value": "DeptA"
          },
          "suffix": {
            "value": "-LC"
          }
        }
      }
    ]
  }
}

定义

名称 说明
CloudError

策略操作的错误响应。

createdByType

创建资源的标识的类型。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorResponse

错误响应

Metadata

参数的常规元数据。

ParameterDefinitionsValue

可以提供给策略的参数的定义。

parameterType

参数的数据类型。

ParameterValuesValue

参数的值。

PolicyDefinitionGroup

策略定义组。

PolicyDefinitionReference

策略定义引用。

PolicySetDefinition

策略集定义。

policyType

策略集定义的类型。 可能的值为 NotSpecified、BuiltIn、Custom 和 Static。

systemData

与创建和上次修改资源相关的元数据。

CloudError

策略操作的错误响应。

名称 类型 说明
error

ErrorResponse

错误响应
所有 Azure 资源管理器 API 的常见错误响应,以返回失败操作的错误详细信息。 (这也遵循 OData 错误响应格式。)

createdByType

创建资源的标识的类型。

说明
User
Application
ManagedIdentity
Key

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorResponse

错误响应

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorResponse[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

Metadata

参数的常规元数据。

名称 类型 说明
assignPermissions

boolean

设置为 true,让 Azure 门户在策略分配期间基于此参数的资源 ID 或资源范围值创建角色分配。 如果要在分配范围之外分配权限,此属性非常有用。

description

string

参数的说明。

displayName

string

参数的显示名称。

strongType

string

通过门户分配策略定义时使用。 提供可供用户选择的值的上下文感知列表。

ParameterDefinitionsValue

可以提供给策略的参数的定义。

名称 类型 说明
allowedValues

object[]

参数的允许值。

defaultValue

object

如果未提供任何值,则为参数的默认值。

metadata

Metadata

参数的常规元数据。

schema

object

使用自定义 JSON 架构在分配期间提供参数输入的验证。 此属性仅支持对象类型参数,并遵循 Json.NET Schema 2019-09 实现。 可以在 https://json-schema.org/ 了解有关在 https://www.jsonschemavalidator.net/使用架构的详细信息,并测试草稿架构。

type

parameterType

参数的数据类型。

parameterType

参数的数据类型。

说明
String
Array
Object
Boolean
Integer
Float
DateTime

ParameterValuesValue

参数的值。

名称 类型 说明
value

object

参数的值。

PolicyDefinitionGroup

策略定义组。

名称 类型 说明
additionalMetadataId

string

包含有关组的其他元数据的资源的资源 ID。

category

string

组的类别。

description

string

组的说明。

displayName

string

组的显示名称。

name

string

组的名称。

PolicyDefinitionReference

策略定义引用。

名称 类型 说明
definitionVersion

string

要使用的策略定义的版本。

effectiveDefinitionVersion

string

正在使用的策略定义的有效版本。 仅当通过$expand查询参数请求时,才存在此参数。

groupNames

string[]

此策略定义引用所属的组的名称。

latestDefinitionVersion

string

可用的策略定义的最新版本。 仅当通过$expand查询参数请求时,才存在此参数。

parameters

<string,  ParameterValuesValue>

引用的策略规则的参数值。 键是参数名称。

policyDefinitionId

string

策略定义或策略集定义的 ID。

policyDefinitionReferenceId

string

此策略定义引用的唯一 ID(在策略集定义中)。

PolicySetDefinition

策略集定义。

名称 类型 说明
id

string

策略集定义的 ID。

name

string

策略集定义的名称。

properties.description

string

策略集定义说明。

properties.displayName

string

策略集定义的显示名称。

properties.metadata

object

策略集定义元数据。 元数据是一个开放结束的对象,通常是键值对的集合。

properties.parameters

<string,  ParameterDefinitionsValue>

可在策略定义引用中使用的策略集定义参数。

properties.policyDefinitionGroups

PolicyDefinitionGroup[]

描述策略集定义中的策略定义引用组的元数据。

properties.policyDefinitions

PolicyDefinitionReference[]

策略定义引用的数组。

properties.policyType

policyType

策略集定义的类型。 可能的值为 NotSpecified、BuiltIn、Custom 和 Static。

properties.version

string

策略以 #.#.# 格式设置定义版本。

properties.versions

string[]

此策略集定义的可用版本列表。

systemData

systemData

与此资源相关的系统元数据。

type

string

资源的类型(Microsoft.Authorization/policySetDefinitions)。

policyType

策略集定义的类型。 可能的值为 NotSpecified、BuiltIn、Custom 和 Static。

说明
NotSpecified
BuiltIn
Custom
Static

systemData

与创建和上次修改资源相关的元数据。

名称 类型 说明
createdAt

string (date-time)

资源创建时间戳(UTC)。

createdBy

string

创建资源的标识。

createdByType

createdByType

创建资源的标识的类型。

lastModifiedAt

string (date-time)

上次修改的资源时间戳(UTC)

lastModifiedBy

string

上次修改资源的标识。

lastModifiedByType

createdByType

上次修改资源的标识的类型。