服務關聯角色是某個雲端服務在某些情況下,為了完成自身的某個功能,需要擷取其他雲端服務的存取權限而提供的RAM角色。通常情況下,服務關聯角色是在您執行某項操作時,由系統自動建立。在自動建立服務關聯角色失敗或雲訊息佇列 RocketMQ 版不支援自動建立時,您需要手動建立服務關聯角色。
背景資訊
阿里雲存取控制為每個服務關聯角色提供了一個系統權限原則,該策略不支援修改。如果您想瞭解該系統策略的具體內容,可前往指定服務關聯角色的詳情頁面查看。具體資訊,請參見系統策略參考。
支援的服務關聯角色
雲訊息佇列 RocketMQ 版提供以下服務關聯角色,系統將會在您首次使用相關功能時,自動建立對應的服務關聯角色。
例如,您首次使用雲訊息佇列 RocketMQ 版儀錶盤功能時,系統會自動建立AliyunServiceRoleForOns服務關聯角色。
|
角色名稱 |
角色權限原則 |
角色許可權 |
|
AliyunServiceRoleForOns |
AliyunServiceRolePolicyForOns |
雲訊息佇列 RocketMQ 版通過扮演該RAM角色,可獲得如下許可權:
|
|
AliyunServiceRoleForRMQMigration |
AliyunServiceRolePolicyForRMQMigration |
雲訊息佇列 RocketMQ 版通過扮演該RAM角色,擷取訪問Virtual Private Cloud的許可權,以實現自建RocketMQ叢集遷移上雲的功能。 |
|
AliyunServiceRoleForRMQDisasterRecovery |
AliyunServiceRolePolicyForRMQDisasterRecovery |
雲訊息佇列 RocketMQ 版通過扮演該RAM角色,擷取訪問事件匯流排EventBridge的許可權,以實現全球訊息複製的功能。 |
|
AliyunServiceRoleForRMQ |
AliyunServiceRolePolicyForRMQ |
雲訊息佇列 RocketMQ 版5.x系列預設策略。如果您建立雲訊息佇列 RocketMQ 版5.x系列執行個體時,系統會為您完成AliyunServiceRolePolicyForRMQ的自動建立。 |
Serverless 執行個體建立報錯排查
通過 Terraform 或 OpenAPI 建立 RocketMQ 5.x Serverless 執行個體時,如果收到 EntityNotExist.Role 或“建立 ASK 叢集前需要完成服務角色授權”錯誤,可按以下步驟排查:
-
登入RAM 控制台,在角色頁面搜尋
AliyunServiceRoleForRMQ。 -
如果角色不存在,使用阿里雲帳號執行以下命令建立該角色:
aliyun ram CreateServiceLinkedRole --ServiceName rmq.aliyuncs.com --force --region cn-hangzhou -
也可以訪問 RocketMQ 控制台首頁,系統會自動觸發角色建立。
-
角色建立成功後,重新建立執行個體。
報錯資訊中的引導連結 https://www.aliyun.com/product/ack/serverless 指向已下線的 ASK 開通頁面,該頁面已返回 404。請勿建立Container Service(CS)的角色,RocketMQ Serverless 執行個體所需的是 AliyunServiceRoleForRMQ 服務關聯角色。
策略內容
-
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和備忘等。
-
權限原則
在角色詳情頁的{key, select, RAM {RAM 訪問控制} Overview {概覽} Identities {身份管理} Users {用戶} Groups {用戶組} Roles {角色} Settings {設置} Permissions {權限管理} Grants {授權} Troubleshoot {權限診斷} Policies {權限策略} Integrations {集成管理} Providers {SSO 管理} Applications {OAuth 應用(公測)} CloudSSO {多賬號身份權限(雲 SSO)} AccessAnalyzing {訪問分析} Analyzers {分析器} Findings {分析結果} Beta {Beta} Governance {雲治理中心} other {{key}} }頁簽,單擊權限原則名稱,查看權限原則內容。
說明您只能通過服務關聯角色,查看其關聯的權限原則內容,不能在RAM控制台的{key, select, RAM {RAM 訪問控制} Overview {概覽} Identities {身份管理} Users {用戶} Groups {用戶組} Roles {角色} Settings {設置} Permissions {權限管理} Grants {授權} Troubleshoot {權限診斷} Policies {權限策略} Integrations {集成管理} Providers {SSO 管理} Applications {OAuth 應用(公測)} CloudSSO {多賬號身份權限(雲 SSO)} AccessAnalyzing {訪問分析} Analyzers {分析器} Findings {分析結果} Beta {Beta} Governance {雲治理中心} other {{key}} }頁面直接查看該權限原則。
-
信任策略
在角色詳情頁的信任策略頁簽,查看信任策略內容。信任策略是描述RAM角色可信實體的策略,可信實體是指可以扮演RAM角色的實體使用者身份。服務關聯角色的可信實體為雲端服務,您可以通過信任策略中的
Service欄位查看。
關於如何查看服務關聯角色,請參見查看RAM角色。
刪除服務關聯角色
刪除服務關聯角色後,依賴該角色的對應功能將無法正常使用,請謹慎刪除。
當您長時間不使用Security Center或者需要登出阿里雲帳號前,您可能需要在存取控制管理主控台手動刪除服務關聯角色。具體操作,請參見刪除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
具體資訊,請參見系統權限原則。