GenerateTemplatePolicy - 生成模板所需的策略信息

更新时间:
复制 MD 格式

通过指定模板生成模板所需的策略信息。

接口说明

如果模板所需的策略中包含企业级分布式应用服务 EDAS(Enterprise Distributed Application Service),您需要登录阿里云账号,对需要授权的 RAM 用户进行 RAM 权限升级。

本文将提供一个示例,为您介绍如何为模板 ID 为5ecd1e10-b0e9-4389-a565-e4c15efc****的模板生成权限策略。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

ros:GenerateTemplatePolicy

list

Template

acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

请求参数

名称

类型

必填

描述

示例值

TemplateURL

string

包含模板主体的文件的位置。URL 必须指向位于 Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间(例如:oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou)中的模板,模板最大为 524,288 个字节。

说明

如果 OSS 地域未指定,默认与接口参数 RegionId 相同。

您仅能指定 TemplateBody、TemplateURL、TemplateId 其中一个参数。 URL 的最大长度为:1024 个字节。

oss://ros/template/demo

TemplateBody

string

模板的结构。长度为 1~524,288 个字节。 如果长度较大,建议通过 HTTP POST+Body Param 的方式,将参数放在请求体中进行传递,避免 URL 过长而导致请求失败。

您仅能指定 TemplateBody、TemplateURL、TemplateId 其中一个参数。

{"ROSTemplateFormatVersion":"2015-09-01"}

TemplateId

string

模板 ID。支持共享模板和私有模板。
您仅能指定 TemplateBody、TemplateURL、TemplateId 其中一个参数。

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

模板版本。仅在指定 TemplateId 时生效。

v1

OperationTypes

array

需要生成策略信息的操作类型。

string

需要生成策略信息的操作类型。 取值:

  • CreateStack:调用 CreateStack 创建资源栈。

  • UpdateStack:调用 UpdateStack 更新资源栈。

  • DeleteStack:调用 DeleteStack 删除资源栈。

  • DetectStackDrift:调用 DelectStackDrift 对资源栈进行偏差检查。

  • ListStackOperationRisks:调用 ListStackOperationRisks 并指定 OperationType 参数为 DeleteStack 来列出删除资源栈的风险。

  • GetTemplateEstimateCost:调用 GetTemplateEstimateCost 查询模板中创建资源的预估价格。

  • GetTemplateParameterConstraints:调用 GetTemplateParameterConstraints 查询模板参数的取值。

  • ImportResourcesToStack:调用 CreateChangeSet 并指定 ChangeSetType 取值为 IMPORT 以将资源导入至资源栈中。

  • SignalResource:向资源栈发送信号。

说明

默认值为所有取值。

["CreateStack"]

Parameters

array<object>

输入参数。 输入参数中,定义了通过此模板创建资源栈时需要指定的参数,这些参数用来指定每次资源栈创建的细节,例如:用户名、密码、环境相关的 ECS 规格等。

object

输入参数。
输入参数中,定义了通过此模板创建资源栈时需要指定的参数,这些参数用来指定每次资源栈创建的细节,例如:用户名、密码、环境相关的 ECS 规格等。

ParameterKey

string

参数的名称。如果未指定模板中定义的参数名称和参数值,ROS 将使用模板中指定的默认值。
N 的最大值为:200。 取值示例:

  • Parameters.1.ParameterKey:Name

  • Parameters.2.ParameterKey:Netmode

说明

Parameters 为可选参数。如果需要指定 Parameters,则 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必须同时指定。

Domain

ParameterValue

string

模板中已定义的参数的取值。N 的最大值为 200。

说明

Parameters 为可选参数。若指定了 Parameters,则 Parameters.N.ParameterValue 为必选参数。

PostPaid

GenerateOptions

array

GenerateOptions 用于控制模板权限策略的生成方式。该参数为列表类型,可指定是否解析模板参数以及生成策略的权限范围: ResolveParameters 表示根据传入的 Parameters 或参数默认值解析条件和资源后生成策略

IgnoreParameters 表示不解析参数并按兼容旧逻辑生成策略

MandatoryPolicy 表示仅生成模板执行所需的必要权限

FullPolicy 表示生成完整权限策略

ResolveParameters 与 IgnoreParameters 互斥,MandatoryPolicy 与 FullPolicy 互斥,且 MandatoryPolicy 必须与 ResolveParameters 一起使用。

未指定时,若传入 Parameters 默认使用 ResolveParameters + FullPolicy,否则默认使用 IgnoreParameters + FullPolicy。

string

MandatoryPolicy

关于公共请求参数的详情,请参见公共参数

返回参数

名称

类型

描述

示例值

object

根节点或根目录

Policy

object

权限策略信息。

Version

string

版本号。

1

Statement

array<object>

具体权限策略信息。

array<object>

策略声明的第一条

Effect

string

授权效力。取值:

  • Allow:允许。

  • Deny:拒绝。

Allow

Resource

string

被授权的具体对象。星号(*)表示所有资源。

*

Action

array

对具体资源的操作。

string

对具体资源的操作。

[ "ram:PassRole" ]

Condition

object

授权生效的条件。

{ "StringEquals": { "acs:Service": "fc.aliyuncs.com" } }

RequestId

string

请求 ID。

B288A0BE-D927-4888-B0F7-B35EF84B6E6

PolicyFunctions

array<object>

策略功能配置

array<object>

策略函数列表中的首个元素

Action

string

策略函数中的操作

accept

RequirementLevel

string

策略函数的必要性级别

ActionPolicyFunctions

array<object>

策略功能列表

array<object>

根策略函数的第一个子策略函数

ResourceType

string

策略函数关联的资源类型

stack

LogicalResourceId

string

策略函数的逻辑资源 ID

SLBLoadBalancer_00001

Functions

array<object>

策略功能列表

object

策略功能列表中的第一个函数

Function

string

策略功能中的函数

notContains

RequirementLevel

string

功能要求级别

OperationType

string

操作类型

CreateStack

RelatedProperties

array

关联属性列表

string

关联属性列表中的第一个元素

示例

正常返回示例

JSON格式

{
  "Policy": {
    "Version": "1",
    "Statement": [
      {
        "Effect": "Allow",
        "Resource": "*",
        "Action": [
          "[\n    \"ram:PassRole\"\n]"
        ],
        "Condition": {
          "StringEquals": {
            "acs:Service": "fc.aliyuncs.com"
          }
        }
      }
    ]
  },
  "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6",
  "PolicyFunctions": [
    {
      "Action": "accept",
      "RequirementLevel": "",
      "ActionPolicyFunctions": [
        {
          "ResourceType": "stack",
          "LogicalResourceId": "SLBLoadBalancer_00001",
          "Functions": [
            {
              "Function": "notContains",
              "RequirementLevel": "",
              "OperationType": "CreateStack",
              "RelatedProperties": [
                ""
              ]
            }
          ]
        }
      ]
    }
  ]
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情