服务关联角色

服务关联角色是某个云服务在某些情况下,为了完成自身的某个功能,需要获取其他云服务的访问权限而提供的RAM角色。通常情况下,服务关联角色是在您执行某项操作时,由系统自动创建。在自动创建服务关联角色失败或云消息队列 RocketMQ 版不支持自动创建时,您需要手动创建服务关联角色。

背景信息

阿里云访问控制为每个服务关联角色提供了一个系统权限策略,该策略不支持修改。如果您想了解该系统策略的具体内容,可前往指定服务关联角色的详情页面查看。具体信息,请参见系统策略参考

支持的服务关联角色

云消息队列 RocketMQ 版提供以下服务关联角色,系统将会在您首次使用相关功能时,自动创建对应的服务关联角色。

例如,您首次使用云消息队列 RocketMQ 版仪表盘功能时,系统会自动创建AliyunServiceRoleForOns服务关联角色。

角色名称

角色权限策略

角色权限

AliyunServiceRoleForOns

AliyunServiceRolePolicyForOns

云消息队列 RocketMQ 版通过扮演该RAM角色,可获得如下权限:

AliyunServiceRoleForRMQMigration

AliyunServiceRolePolicyForRMQMigration

云消息队列 RocketMQ 版通过扮演该RAM角色,获取访问专有网络VPC的权限,以实现自建RocketMQ集群迁移上云的功能。

AliyunServiceRoleForRMQDisasterRecovery

AliyunServiceRolePolicyForRMQDisasterRecovery

云消息队列 RocketMQ 版通过扮演该RAM角色,获取访问事件总线EventBridge的权限,以实现全球消息备份的功能。

AliyunServiceRoleForRMQ

AliyunServiceRolePolicyForRMQ

云消息队列 RocketMQ 版5.x系列默认策略。如果您创建云消息队列 RocketMQ 版5.x系列实例时,系统会为您完成AliyunServiceRolePolicyForRMQ的自动创建。

策略内容

  • AliyunServiceRoleForOns

    服务关联角色AliyunServiceRoleForOns被授予的权限策略AliyunServiceRolePolicyForOns的策略内容如下:

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

    服务关联角色AliyunServiceRoleForRMQMigration被授予的权限策略AliyunServiceRolePolicyForRMQMigration的策略内容如下:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "privatelink:CreateVpcEndpoint",
            "privatelink:ListVpcEndpoints",
            "privatelink:GetVpcEndpointAttribute",
            "privatelink:AddZoneToVpcEndpoint",
            "privatelink:ListVpcEndpointZones",
            "privatelink:RemoveZoneFromVpcEndpoint",
            "privatelink:DeleteVpcEndpoint",
            "privatelink:AttachSecurityGroupToVpcEndpoint",
            "privatelink:ListVpcEndpointSecurityGroups",
            "privatelink:DetachSecurityGroupFromVpcEndpoint"
          ],
          "Resource": "*"
        },
        {
          "Action": "ram:DeleteServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "migration.rmq.aliyuncs.com"
            }
          }
        },
        {
          "Action": "ram:CreateServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "privatelink.aliyuncs.com"
            }
          }
        }
      ]
    }
  • AliyunServiceRoleForRMQDisasterRecovery

    服务关联角色AliyunServiceRoleForRMQDisasterRecovery被授予的权限策略AliyunServiceRolePolicyForRMQDisasterRecovery的策略内容如下:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "eventbridge:ListEventStreamings",
            "eventbridge:DeleteEventStreaming",
            "eventbridge:CreateEventStreaming",
            "eventbridge:StartEventStreaming",
            "eventbridge:UpdateEventStreaming",
            "eventbridge:PauseEventStreaming",
            "eventbridge:GetEventStreaming",
            "Ecs:DescribeSecurityGroups"
          ],
          "Resource": "*"
        },
        {
          "Action": "ram:DeleteServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "disaster-recovery.rmq.aliyuncs.com"
            }
          }
        }
      ]
    }
  • AliyunServiceRoleForRMQ

    服务关联角色AliyunServiceRoleForRMQ被授予的权限策略AliyunServiceRolePolicyForRMQ的策略内容如下:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "privatelink:CreateVpcEndpoint",
            "privatelink:ListVpcEndpoints",
            "privatelink:GetVpcEndpointAttribute",
            "privatelink:AddZoneToVpcEndpoint",
            "privatelink:ListVpcEndpointZones",
            "privatelink:RemoveZoneFromVpcEndpoint",
            "privatelink:DeleteVpcEndpoint",
            "privatelink:AttachSecurityGroupToVpcEndpoint",
            "privatelink:ListVpcEndpointSecurityGroups",
            "privatelink:DetachSecurityGroupFromVpcEndpoint",
            "privatelink:UpdateVpcEndpointZoneConnectionResourceAttribute",
            "Ecs:CreateSecurityGroup",
            "Ecs:DeleteSecurityGroup",
            "Ecs:DescribeSecurityGroupAttribute",
            "Ecs:DescribeSecurityGroups",
            "kms:DescribeRegions",
            "kms:GetKmsInstance",
            "kms:ListKeys",
            "kms:ListAliases",
            "kms:ListResourceTags",
            "kms:DescribeKey",
            "kms:TagResource",
            "kms:UntagResource"
          ],
          "Resource": "*"
        },
        {
          "Action": [
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEqualsIgnoreCase": {
              "kms:tag/acs:rocketmq:instance-encryption": "true"
            }
          }
        },
        {
          "Action": "ram:DeleteServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "rmq.aliyuncs.com"
            }
          }
        },
        {
          "Action": "ram:CreateServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "privatelink.aliyuncs.com"
            }
          }
        }
      ]
    }

查看服务关联角色

当服务关联角色创建成功后,您可以在RAM控制台的角色页面查看该服务关联角色的以下信息:

  • 基本信息

    在角色详情页面的基本信息区域,查看角色基本信息,包括角色名称、创建时间、角色ARN和备注等。

  • 权限策略

    在角色详情页的权限管理页签,单击权限策略名称,查看权限策略内容。

    说明

    您只能通过服务关联角色,查看其关联的权限策略内容,不能在RAM控制台的权限策略页面直接查看该权限策略。

  • 信任策略

    在角色详情页的信任策略页签,查看信任策略内容。信任策略是描述RAM角色可信实体的策略,可信实体是指可以扮演RAM角色的实体用户身份。服务关联角色的可信实体为云服务,您可以通过信任策略中的Service字段查看。

关于如何查看服务关联角色,请参见查看RAM角色

删除服务关联角色

重要

删除服务关联角色后,依赖该角色的对应功能将无法正常使用,请谨慎删除。

当您长时间不使用云安全中心或者需要注销阿里云账号前,您可能需要在访问控制管理控制台手动删除服务关联角色。具体操作,请参见删除RAM角色

常见问题

为什么我的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用户被授予该权限策略后,仍然无法自动创建服务关联角色,请为该RAM用户授予以下任一系统权限策略:

  • AliyunMQFullAccess

  • AliyunMQReadOnlyAccess

具体信息,请参见系统权限策略