

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

# 使用 Amazon MQ 的服務連結角色
<a name="using-service-linked-roles"></a>

Amazon MQ 使用 AWS Identity and Access Management (IAM)[ 服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至 Amazon MQ 的一種特殊 IAM 角色類型。服務連結角色由 Amazon MQ 預先定義，並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

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

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

如需關於支援服務連結角色的其他服務的資訊，請參閱[可搭配 IAM 運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)，並尋找 **Service-Linked Role** (服務連結角色) 欄顯示為 **Yes** (是) 的服務。選擇具有連結的**是**，以檢視該服務的服務連結角色文件。

## Amazon MQ 的服務連結角色許可
<a name="slr-permissions"></a>

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

AWSServiceRoleForAmazonMQ 服務連結角色信任下列服務可擔任該角色：
+ `mq.amazonaws.com`

Amazon MQ 使用許可政策 [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/aws-service-role/AmazonMQServiceRolePolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/aws-service-role/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。

------
#### [ JSON ]

****  

```
{
    "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 使用者指南*》中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 建立 Amazon MQ 的服務連結角色
<a name="create-slr"></a>

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

**重要**  
此服務連結角色可以顯示在您的帳戶，如果您於其他服務中完成一項動作時，可以使用支援此角色的功能。若要進一步了解，請參閱[我的 IAM 帳戶中出現的新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。

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

您也可以使用 IAM 主控台，透過 **Amazon MQ** 使用案例建立服務連結角色。在 AWS CLI 或 AWS API 中，使用服務名稱建立`mq.amazonaws.com`服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的「[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」。如果您刪除此服務連結角色，您可以使用此相同的程序以再次建立該角色。

**重要**  
服務連結角色僅針對 Amazon MQ for RabbitMQ 建立。

## 編輯 Amazon MQ 的服務連結角色
<a name="edit-slr"></a>

Amazon MQ 不允許您編輯 AWSServiceRoleForAmazonMQ 服務連結角色。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除 Amazon MQ 的服務連結角色
<a name="delete-slr"></a>

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

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

**刪除 AWSServiceRoleForAmazonMQ 所使用的 Amazon MQ 資源**
+ 使用 AWS 管理主控台、Amazon MQ CLI 或 Amazon MQ API 刪除 Amazon MQ 代理程式。如需刪除使用者的詳細資訊，請參閱 [Deleting a broker](amazon-mq-deleting-broker.md)。

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

使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除 AWSServiceRoleForAmazonMQ 服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Amazon MQ 服務連結角色的支援區域
<a name="slr-regions"></a>

Amazon MQ 在所有提供服務的區域中支援使用服務連結的角色。如需詳細資訊，請參閱 [AWS 區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。


****  

| 區域名稱 | 區域身分 | 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 | 否 | 