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

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

接口说明

如果模板所需的策略中包含企业级分布式应用服务 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:GenerateTemplatePolicylist
*Template
acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

请求参数

名称类型必填描述示例值
TemplateURLstring

包含模板主体的文件的位置。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
TemplateBodystring

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

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

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

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

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

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

v1
OperationTypesarray

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

string

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

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

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

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

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

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

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

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

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

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

说明 默认值为所有取值。
["CreateStack"]

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

返回参数

名称类型描述示例值
object
Policyobject

权限策略信息。

Versionstring

版本号。

1
Statementarray<object>

具体权限策略信息。

Statementobject
Effectstring

授权效力。取值:

  • Allow:允许。

  • Deny:拒绝。

Allow
Resourcestring

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

*
Actionarray

对具体资源的操作。

Actionstring

对具体资源的操作。

[ "ram:PassRole" ]
Conditionobject

授权生效的条件。

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

请求 ID。

B288A0BE-D927-4888-B0F7-B35EF84B6E6

示例

正常返回示例

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"
}

错误码

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

变更历史

变更时间变更内容概要操作
2023-06-02OpenAPI 返回结构发生变更查看变更详情
HttpCode错误码错误信息描述
400StackValidationFailed{reason}.资源栈校验失败。reason 为具体原因。
404TemplateNotFoundThe Tempalte ({ ID }) could not be found.模板不存在。ID 为模板 ID。
404TemplateNotFoundThe Template { ID } with version { version } could not be found.模板或指定版本不存在。ID 为模板 ID,version 为模板版本。