Amazon MQ for RabbitMQ 的 OAuth 2.0 认证与授权
Amazon MQ for RabbitMQ 支持以下认证与授权方法:
简单认证与授权
在此方法中,代理用户存储在 RabbitMQ 代理内部,并通过 Web 控制台或管理 API 进行管理。虚拟主机、交换机、队列和主题的权限直接在 RabbitMQ 中配置。这是默认方法。有关此方法的更多信息,请参阅代理用户。
OAuth 2.0 认证与授权
在此方法中,代理用户及其权限由外部 OAuth 2.0 身份提供者(IdP)管理。虚拟主机、交换机、队列和主题的用户认证和资源权限通过 OAuth 2.0 提供程序的范围系统进行集中管理。这简化了用户管理,并实现了与现有身份系统的集成。
重要注意事项
-
Amazon MQ for ActiveMQ 代理不支持 OAuth 2.0 集成。
-
Amazon MQ for RabbitMQ 不支持由私有 CA 颁发的服务器证书。
-
RabbitMQ OAuth 2.0 插件不支持令牌自省端点和不透明访问令牌。它也不会执行令牌吊销检查。
-
您必须包含 IAM 权限
mq:UpdateBrokerAccessConfiguration,才能在现有代理上启用 OAuth 2.0。 -
Amazon MQ 会自动创建一个名为
monitoring-AWS-OWNED-DO-NOT-DELETE的系统用户,该用户仅具有监控权限。即使用于已启用 OAuth 2.0 的代理,该用户也使用 RabbitMQ 的内部认证系统,且仅限于回环接口访问。
有关如何为 Amazon MQ for RabbitMQ 代理配置 OAuth 2.0 认证的信息,请参阅 使用 OAuth 2.0 认证与授权。
支持的 OAuth 2.0 配置
Amazon MQ for RabbitMQ 支持 RabbitMQ OAuth 2.0 插件中的所有可配置变量
-
auth_oauth2.https.cacertfile -
auth_oauth2.oauth_providers.{id/index}.https.cacertfile -
management.oauth_client_secret由于 Amazon MQ 不支持此密钥,因此我们不支持将 UAA 用作身份提供程序 (IdP)。
-
management.oauth_resource_servers.{id/index}.oauth_client_secret -
auth_oauth2.signing_keys.{id/index}
OAuth 2.0 认证的其他验证
Amazon MQ 还会对 OAuth 2.0 认证强制执行以下附加验证:
-
所有 URL 必须以
https://开头。 -
支持的签名算法:
Ed25519、Ed25519ph、Ed448、Ed448ph、EdDSA、ES256K、ES256、ES384、ES512、HS256、HS384、HS512、PS256、PS384、PS512、RS256、RS384和RS512。