

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

# 简单认证与授权
<a name="rabbitmq-simple-auth-broker-users"></a>

## Amazon MQ for RabbitMQ 代理用户
<a name="rabbitmq-basic-elements-user"></a>

**注意**  
本主题介绍如何使用 RabbitMQ 的默认内部身份验证和授权机制管理代理用户。有关所有支持的身份验证和授权方法的信息，请参阅适用于 [RabbitMQ 身份验证和授权的 Amazon M](rabbitmq-authentication.md) Q。

 每个 AMQP 0-9-1 客户端连接都有一个关联的用户。此用户必须经过身份验证。每个客户端连接还以虚拟主机 (vhost) 为目标。用户必须拥有该虚拟主机的一组权限。用户可能有权**配置**、**写入**和**读取**虚拟主机中的队列和交换器。建立连接时，您可以指定用户凭据和目标虚拟主机。

 当您首次创建 Amazon MQ for RabbitMQ 代理程序时，Amazon MQ 使用您提供的登录凭证创建带有 `administrator` 标签的 RabbitMQ 用户。然后，您可以通过 RabbitMQ [管理 API](https://www.rabbitmq.com/management.html) 或 RabbitMQ Web 控制台添加和管理用户。您还可以使用 RabbitMQ Web 控制台或管理 API 来设置或修改用户权限和标签。

**注意**  
不通过 Amazon MQ [用户](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id-users.html) API 存储或显示 RabbitMQ 用户。

**重要**  
Amazon MQ for RabbitMQ 不支持用户名“guest”，并会在您创建新代理时删除默认的访客账户。Amazon MQ 还将定期删除任何由客户创建的名为“guest”的账户。

 要使用 RabbitMQ 管理 API 创建新用户，请使用以下 API 终端节点和请求体。用新的登录*password*凭证替换*username*和。

```
PUT /api/users/username HTTP/1.1
        
    {"password":"password","tags":"administrator"}
```

**重要**  
 请勿在代理用户名中添加个人身份信息（PII）或其他机密或敏感信息。其他 AWS 服务（包括 CloudWatch 日志）可以访问经纪人的用户名。代理用户名不适合用于私有或敏感数据。
如果您无法访问所有管理员账户，请参阅[恢复代理访问权限](troubleshooting-rabbitmq.md#rabbitmq-broker-recovery)以使用 IAM 身份验证进行恢复。

`tags` 键是必需的，并且是用逗号分隔的用户标签列表。Amazon MQ 支持 `administrator`、`management`、`monitoring` 和 `policymaker` 用户标签。

您可以使用以下 API 终端节点和请求体为单个用户设置权限。将 *vhost* 和 *username* 替换为您的信息。对于默认虚拟主机 `/`，使用 `%2F`。

```
PUT /api/permissions/vhost/username HTTP/1.1

    {"configure":".*","write":".*","read":".*"}
```

**注意**  
`configure`、`read` 和 `write` 键都是必需的。

通过使用通配符 `.*` 值，则此操作将向用户授予指定虚拟主机中所有队列的读取、写入和配置权限。有关通过 RabbitMQ 管理 API 管理用户的更多信息，请参阅 [RabbitMQ 管理 HTTP API](https://rawcdn.githack.com/rabbitmq/rabbitmq-server/main/deps/rabbitmq_management/priv/www/api/index.html)。