通过指定模板生成模板所需的策略信息。
接口说明
如果模板所需的策略中包含企业级分布式应用服务 EDAS(Enterprise Distributed Application Service),您需要登录阿里云账号,对需要授权的 RAM 用户进行 RAM 权限升级。
本文将提供一个示例,为您介绍如何为模板 ID 为5ecd1e10-b0e9-4389-a565-e4c15efc****的模板生成权限策略。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
ros:GenerateTemplatePolicy |
list |
Template
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| 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。支持共享模板和私有模板。 |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
| TemplateVersion |
string |
否 |
模板版本。仅在指定 TemplateId 时生效。 |
v1 |
| OperationTypes |
array |
否 |
需要生成策略信息的操作类型。 |
|
|
string |
否 |
需要生成策略信息的操作类型。 取值:
说明
默认值为所有取值。 |
["CreateStack"] |
|
| Parameters |
array<object> |
否 |
输入参数。 输入参数中,定义了通过此模板创建资源栈时需要指定的参数,这些参数用来指定每次资源栈创建的细节,例如:用户名、密码、环境相关的 ECS 规格等。 |
|
|
object |
否 |
输入参数。 |
||
| ParameterKey |
string |
否 |
参数的名称。如果未指定模板中定义的参数名称和参数值,ROS 将使用模板中指定的默认值。
说明
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 |
| 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": [
""
]
}
]
}
]
}
]
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。