云服务器ECS的自助问题排查功能可以帮助用户诊断多种云服务器问题。在部分诊断功能发起诊断任务前,需要为云服务器ECS获取访问相关云资源的权限。本文介绍如何通过实例自助问题排查的服务关联角色AliyunServiceRoleForECSSelfService授予诊断服务权限。

前提条件

如果您使用RAM用户进行实例诊断,需先联系阿里云账号授权RAM用户拥有创建关联角色的权限。具体操作,请参见通过脚本编辑模式创建自定义权限策略为RAM用户授权
阿里云账号授权RAM用户使用实例自助问题排查功能的权限策略内容如下。其中,<account ID>是变量,需替换为阿里云账号的UID。
{
    "Statement": [
        {
            "Action": [
                "ram:CreateServiceLinkedRole"
            ],
            "Resource": "acs:ram:*:<account ID>:role/*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ram:ServiceName": [
                        "selfservice.ecs.aliyuncs.com"
                    ]
                }
            }
        }
    ],
    "Version": "1"
}

背景信息

目前实例诊断功能中,需要拥有实例自助问题排查服务关联角色的功能只有实例费用及安全行为审计。更多信息,请参见诊断实例的健康状态

服务关联角色是与某个云服务关联的角色,拥有完成对应操作所必须的权限,阿里云账号和RAM用户均可使用服务关联角色。例如,实例费用及安全行为审计诊断服务需要关联角色AliyunServiceRoleForECSSelfService去查询ActionTrail来获得用户的历史操作行为审计信息。更多服务关联角色的信息,请参见服务关联角色

创建AliyunServiceRoleForECSSelfService

在您发起需要拥有关联角色才可以进行的诊断功能时,系统会检查当前账号是否拥有AliyunServiceRoleForECSSelfService角色,如果不存在则自动创建。该角色已添加权限策略AliyunServiceRolePolicyForECSSelfService,云服务器ECS通过扮演该服务关联角色即可拥有其权限。

服务关联角色的权限策略由对应的云服务定义,不支持自行为服务关联角色添加、修改或删除权限。您可以在RAM控制台查看角色的权限策略以及权限详情。具体操作,请参见查看RAM角色基本信息查看权限策略基本信息

AliyunServiceRolePolicyForECSSelfService权限策略内容如下所示:
{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "ecs:StartInstance",
        "ecs:StopInstance",
        "ecs:DescribeInstances",
        "ecs:CreateSnapshot",
        "ecs:DescribeSnapshots",
        "ecs:DeleteSnapshot",
        "ecs:DescribeDisks",
        "ecs:DescribeDisksFullStatus",
        "ecs:ResetDisk",
        "ecs:DescribeInvocationResults",
        "ecs:DescribeInvocations",
        "ecs:RunCommand",
        "ecs:CreateDiagnosticReport",
        "oos:StartExecution",
        "oos:ListExecutions",
        "oos:ListExecutionLogs",
        "oos:ListTaskExecutions",
        "oos:CancelExecution",
        "actiontrail:LookupEvents"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": "ram:DeleteServiceLinkedRole",
      "Resource": "*",
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "ram:ServiceName": "selfservice.ecs.aliyuncs.com"
        }
      }
    }
  ]
}

删除AliyunServiceRoleForECSSelfService

如果您不再需要使用AliyunServiceRoleForECSSelfService角色时,可以手动删除。
说明 删除服务关联角色前,RAM会先检查这个角色是否仍被云资源使用。如果有,需先找到对应的云资源并手动清理,然后再删除该服务关联角色。更多信息,请参见删除服务关联角色
  1. 登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 在搜索框中,输入AliyunServiceRoleForECSSelfService,自动搜索并展示AliyunServiceRoleForECSSelfService角色。
  4. 在操作列中,单击删除
  5. 单击确定