本文介绍消息队列 RocketMQ 版服务关联角色 AliyunServiceRoleForOns 的应用场景以及删除该角色的操作步骤。

背景信息

消息队列 RocketMQ 版服务关联角色 AliyunServiceRoleForOns 是消息队列 RocketMQ 版在某些情况下,为了完成自身的某个功能,需要获取其他云服务的访问权限而提供的 RAM 角色。更多关于服务关联角色的信息请参见服务关联角色

应用场景

消息队列 RocketMQ 版需要通过自动创建的消息队列 RocketMQ 版服务关联角色 AliyunServiceRoleForOns 获取访问云监控的权限,以实现监控报警相关功能。

AliyunServiceRoleForOns 权限说明

AliyunServiceRoleForOns 具备的访问权限如下:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "cms:DescribeMetricRuleList",
        "cms:DescribeMetricList",
        "cms:DescribeMetricData"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": "ram:DeleteServiceLinkedRole",
      "Resource": "*",
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "ram:ServiceName": "ons.aliyuncs.com"
        }
      }
    }
  ]
}

删除 AliyunServiceRoleForOns 角色

删除 AliyunServiceRoleForOns 角色后,将无法再继续使用云监控相关功能,请谨慎操作。如需再次使用云监控相关功能,则需重新创建该角色。创建步骤请参见创建服务关联角色

删除服务关联角色的具体操作请参见删除服务关联角色

常见问题

为什么我的 RAM 用户无法自动创建消息队列 RocketMQ 版服务关联角色 AliyunServiceRoleForOns?

如果主账号已经创建了服务关联角色,RAM 用户就会继承该主账号的服务关联角色。如果没有继承,请登录 RAM 控制台为其添加以下权限策略。

{
    "Statement": [
        {
            "Action": [
                "ram:CreateServiceLinkedRole"
            ],
            "Resource": "acs:ram:*:主账号 ID:role/*",
            "Effect": "Allow",
            "Condition": {
              "StringEquals": {
                "ram:ServiceName": "ons.aliyuncs.com"
                }
            }
        }
    ],
    "Version": "1"
}
说明 请将主账号 ID 替换为您实际的阿里云账号(主账号)ID。

如果您的 RAM 用户被授予该权限策略后,仍然无法自动创建服务关联角色 AliyunServiceRoleForOns,请为该 RAM 用户授予以下任一权限策略:

  • AliyunMQFullAccess
  • AliyunMQPubOnlyAccess
  • AliyunMQSubOnlyAccess

以上权限策略的详细说明请参见系统策略