使用 Amazon MQ 的服務連結角色 - Amazon MQ

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon MQ 的服務連結角色

Amazon MQ 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 Amazon MQ 的一種特殊 IAM 角色類型。服務連結角色由 Amazon MQ 預先定義,內含該服務代您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓設定 Amazon MQ 更為簡單,因為您不必手動新增必要的許可。Amazon MQ 定義其服務連結角色的許可,除非另有定義,否則僅有 Amazon MQ 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能連接到任何其他 IAM 實體。

您必須先刪除服務連結角色的相關資源,才能將其刪除。如此可保護您的 Amazon MQ 資源,避免您不小心移除資源的存取許可。

如需關於支援服務連結角色的其他服務的資訊,請參閱可搭配 IAM 運作的 AWS 服務,並尋找 Service-Linked Role (服務連結角色) 欄顯示為 Yes (是) 的服務。選擇具有連結的 Yes (是),以檢視該服務的服務連結角色文件。

Amazon MQ 的服務連結角色許可

Amazon MQ 使用名為 AWSServiceRoleForAmazonMQ 的服務連結角色 — Amazon MQ 會使用此服務連結角色代表您呼叫 AWS 服務。

AWSServiceRoleForAmazonMQ 服務連結角色信任下列服務可擔任該角色:

  • mq.amazonaws.com

Amazon MQ 使用許可政策 AmazonMQServiceRolePolicy,其附加至 AWSServiceRoleForAmazonMQ 服務連結角色,以在指定的資源上完成下列動作:

  • 動作:vpc 資源上的 ec2:CreateVpcEndpoint

  • 動作:subnet 資源上的 ec2:CreateVpcEndpoint

  • 動作:security-group 資源上的 ec2:CreateVpcEndpoint

  • 動作:vpc-endpoint 資源上的 ec2:CreateVpcEndpoint

  • 動作:vpc 資源上的 ec2:DescribeVpcEndpoints

  • 動作:subnet 資源上的 ec2:DescribeVpcEndpoints

  • 動作:vpc-endpoint 資源上的 ec2:CreateTags

  • 動作:log-group 資源上的 logs:PutLogEvents

  • 動作:log-group 資源上的 logs:DescribeLogStreams

  • 動作:log-group 資源上的 logs:DescribeLogGroups

  • 動作:log-group 資源上的 CreateLogStream

  • 動作:log-group 資源上的 CreateLogGroup

當您建立 Amazon MQ for RabbitMQ 代理程式時,AmazonMQServiceRolePolicy 許可政策允許 Amazon MQ 代表您執行下列任務。

  • 使用您提供的 Amazon VPC、子網路和安全群組,為代理程式建立 Amazon VPC 端點。您可以使用為代理程式建立的端點,透過 RabbitMQ 管理主控台、管理 API 或以程式設計方式連線到代理程式。

  • 建立日誌群組,並將代理程式日誌發佈至 Amazon CloudWatch Logs。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVpcEndpoints" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateVpcEndpoint" ], "Resource": [ "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateVpcEndpoint" ], "Resource": [ "arn:aws:ec2:*:*:vpc-endpoint/*" ], "Condition": { "StringEquals": { "aws:RequestTag/AMQManaged": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:vpc-endpoint/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateVpcEndpoint" } } }, { "Effect": "Allow", "Action": [ "ec2:DeleteVpcEndpoints" ], "Resource": "arn:aws:ec2:*:*:vpc-endpoint/*", "Condition": { "StringEquals": { "ec2:ResourceTag/AMQManaged": "true" } } }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "logs:CreateLogStream", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/amazonmq/*" ] } ] }

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的服務連結角色許可

建立 Amazon MQ 的服務連結角色

您不需要手動建立一個服務連結角色。當您第一次建立代理程式時,Amazon MQ 會建立服務連結角色以代表您呼叫 AWS 服務。您建立的所有後續代理程式都會使用相同的角色,而且不會建立新角色。

重要

此服務連結角色可以顯示在您的帳戶,如果您於其他服務中完成一項動作時,可以使用支援此角色的功能。若要進一步了解,請參閱我的 IAM 帳戶中出現的新角色

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。

您也可以使用 IAM 主控台,透過 Amazon MQ 使用案例建立服務連結角色。在 AWS CLI CLI 或 AWS API 中,建立一個服務名稱為 mq.amazonaws.com 的服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的建立服務連結角色。如果您刪除此服務連結角色,您可以使用此相同的程序以再次建立該角色。

編輯 Amazon MQ 的服務連結角色

Amazon MQ 不允許您編輯 AWSServiceRoleForAmazonMQ 服務連結角色。然而,您可使用 IAM 來編輯角色描述。如需詳細資訊,請參閱《IAM 使用者指南》中的編輯服務連結角色

刪除 Amazon MQ 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。然而,在手動刪除服務連結角色之前,您必須先清除資源。

注意

若 Amazon MQ 服務在您試圖刪除資源時正在使用該角色,刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

刪除 AWSServiceRoleForAmazonMQ 所使用的 Amazon MQ 資源
  • 使用 AWS Management Console、Amazon MQ CLI 或 Amazon MQ API 刪除您的 Amazon MQ 代理程式。如需刪除使用者的詳細資訊,請參閱 Deleting a broker

使用 IAM 手動刪除服務連結角色

使用 IAM 主控台、AWS CLI 或 AWS API 來刪除 AWSServiceRoleForAmazonMQ 服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的刪除服務連結角色

Amazon MQ 服務連結角色的支援區域

Amazon MQ 在所有提供服務的區域中支援使用服務連結的角色。如需詳細資訊,請參閱 AWS 區域與端點

區域名稱 區域身分 Amazon MQ 支援
美國東部 (維吉尼亞北部) us-east-1
美國東部 (俄亥俄) us-east-2
美國西部 (加利佛尼亞北部) us-west-1
美國西部 (奧勒岡) us-west-2
亞太區域 (孟買) ap-south-1
亞太區域 (大阪) ap-northeast-3
亞太區域 (首爾) ap-northeast-2
亞太區域 (新加坡) ap-southeast-1
亞太區域 (雪梨) ap-southeast-2
亞太區域 (東京) ap-northeast-1
加拿大 (中部) ca-central-1
歐洲 (法蘭克福) eu-central-1
歐洲 (愛爾蘭) eu-west-1
歐洲 (倫敦) eu-west-2
歐洲 (巴黎) eu-west-3
南美洲 (聖保羅) sa-east-1
AWS GovCloud (US) us-gov-west-1