ListStackOperationRisks - 检测资源栈操作可能涉及的风险及原因

检测进行资源栈操作可能涉及的风险,并返回风险原因或缺失项。

接口说明

本接口目前支持以下情况:

  • 删除资源栈操作可能涉及的高风险资源,并返回每个资源对应的风险原因。

  • 创建资源栈操作可能出现的创建失败的风险,仅支持检测调用者可能缺失的权限。

调试

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

授权信息

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

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ros:ListStackOperationRisksget
*stack
acs:ros:{#regionId}:{#accountId}:stack/{#stackId}

请求参数

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

资源栈所属的地域 ID。 您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
StackIdstring

资源栈 ID。

4a6c9851-3b0f-4f5f-b4ca-a14bf691****
OperationTypestring

需要检测的操作类型。 取值:

  • DeleteStack:检测删除资源栈操作涉及的高风险资源。

  • CreateStack:创建资源栈操作可能出现的创建失败的风险,仅支持检测调用者可能缺失的权限。

DeleteStack
ClientTokenstring

保证请求的幂等性。该值由客户端生成,并且必须是全局唯一的。 长度不超过 64 个字符,可包含英文字母、数字、短划线(-)和下划线(_)。 更多详情,请参见如何保证幂等性

123e4567-e89b-12d3-a456-42665544****
RamRoleNamestring

RAM 角色名称。

  • 如果指定 RAM 角色,ROS 将根据 RAM 角色的权限创建资源栈,使用角色的凭证代表用户进行接口调用。

  • 如果不指定 RAM 角色,ROS 将使用当前账号相关权限创建资源栈。

RAM 角色名称最大长度为 64 个字节。

test-role
RetainAllResourcesboolean

是否保留该资源栈下的所有资源。 取值:

  • true:保留。

  • false(默认值):不保留。

说明 当 OperationType 取值为 DeleteStack 时该参数有效。
false
RetainResourcesarray

需要保留资源的列表。

说明 当 OperationType 取值为 DeleteStack 时,该参数有效。
string

需要保留的资源。

instance
TemplateBodystring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 或 TemplateScratchId 其中一个参数。
{"ROSTemplateFormatVersion":"2015-09-01"}
TemplateURLstring

包含模板主体的文件的位置。URL 必须指向位于 Web 服务器(HTTP 或 HTTPS)或阿里云 OSS 存储空间(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的模板,模板的最大长度为 524,288 个字节。如未指定 OSS 地域,默认与 RegionId 取值相同。

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 或 TemplateScratchId 其中一个参数。
oss://ros-template/demo
TemplateIdstring

模板 ID。支持共享模板和私有模板。

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 或 TemplateScratchId 其中一个参数。
5ecd1e10-b0e9-4389-a565-e4c15efc****
TemplateVersionstring

模板版本。

说明 当您指定 TemplateId 时,本参数才生效。
v1

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

72108E7A-E874-4A5E-B22C-A61E94AD12CD
RiskResourcesarray<object>

风险信息。

Resourceobject
LogicalResourceIdstring

资源逻辑 ID,即模板定义的资源名称。

MySG
PhysicalResourceIdstring

资源物理 ID,即实际的资源 ID。

sg-bp1dpioafqphedg9****
RequestIdstring

对资源进行风险检测失败时的请求 ID。

说明 当风险检测正常时,不返回该参数。
DF4296CF-F45F-4845-A72B-BE617601DB25
ResourceTypestring

资源类型。

ALIYUN::ECS::SecurityGroup
Codestring

对资源进行风险检测失败时的错误码。

说明 当风险检测正常时,不返回该参数。
NoPermission
Messagestring

对资源进行风险检测失败时的错误信息。

说明 当风险检测正常时,不返回该参数。
You are not authorized to complete this action.
RiskTypestring

风险类型。取值:

  • Referenced:当前资源被其他资源引用。
  • MaybeReferenced:当前资源可能被其他资源引用。
  • DeletionProtection:当前资源开启了删除保护。
  • AdditionalRiskCheckRequired:嵌套资源栈需要额外进行风险检测。
  • OperationIgnored:当前操作对当前资源不生效。
Referenced
Reasonstring

风险原因。

There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.
MissingPolicyActionsarray

调用者所属账号缺少的资源操作列表。

MissingPolicyActionsstring

调用者所属账号缺少的资源操作列表。

["ecs:DescribeInstance", "ros:CreateStack"]

示例

正常返回示例

JSON格式

{
  "RequestId": "72108E7A-E874-4A5E-B22C-A61E94AD12CD",
  "RiskResources": [
    {
      "LogicalResourceId": "MySG",
      "PhysicalResourceId": "sg-bp1dpioafqphedg9****",
      "RequestId": "DF4296CF-F45F-4845-A72B-BE617601DB25",
      "ResourceType": "ALIYUN::ECS::SecurityGroup",
      "Code": "NoPermission",
      "Message": "You are not authorized to complete this action.",
      "RiskType": "Referenced",
      "Reason": "There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group."
    }
  ],
  "MissingPolicyActions": [
    "[\"ecs:DescribeInstance\", \"ros:CreateStack\"]"
  ]
}

错误码

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

变更历史

变更时间变更内容概要操作
2024-01-12API 内部配置变更,不影响调用查看变更详情