

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 对 Amazon MQ 使用服务相关角色
<a name="using-service-linked-roles"></a>

亚马逊 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)角色。服务相关角色是一种独特类型的 IAM 角色，它与 Amazon MQ 直接相关。服务相关角色由 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 使用名为 MQ 的服务相关角色 **AWSServiceRoleForAmazon——** 亚马逊 MQ 使用此服务相关角色代表您调用服务。 AWS 

 AWSServiceRoleForAmazonMQ 服务相关角色信任以下服务来代入该角色：
+ `mq.amazonaws.com`

Amazon MQ 使用附加到 AWSService RoleForAmazon 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)对指定资源完成以下操作：
+ 操作：对 `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 日志。

------
#### [ 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 不允许您编辑 AWSService RoleForAmazon MQ 服务相关角色。不过，您可以使用 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 服务正在使用该角色，则删除操作可能会失败。如果发生这种情况，请等待几分钟后重试。

**删除 MQ 使用的亚马逊 MQ 资源 AWSService RoleForAmazon**
+ 使用、亚马逊 MQ CLI 或亚马逊 MQ AWS 管理控制台 API 删除您的亚马逊 MQ 经纪商。有关删除代理的更多信息，请参阅[Deleting a broker](amazon-mq-deleting-broker.md)。

**使用 IAM 手动删除服务关联角色**

使用 IAM 控制台 AWS CLI、或 AWS API 删除 AWSService RoleForAmazon MQ 服务相关角色。有关更多信息，请参见《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 | 否 | 