本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
RabbitMQ 組態中的 ARN 支援
Amazon MQ for RabbitMQ 支援某些 RabbitMQ 組態設定值的 AWS ARNs。這是由 RabbitMQ 社群外掛程式 Detectormq-aws
重要考量
-
aws 外掛程式擷取的已解析 ARN 值會在執行時間直接傳遞至 RabbitMQ 程序。它們不會存放在 RabbitMQ 節點上的其他位置。
-
Amazon MQ for RabbitMQ 需要 IAM 角色,Amazon MQ 可以擔任該角色來存取設定的 ARNs。這是透過設定 來設定
aws.arns.assume_role_arn。 -
呼叫 CreateBroker 或 UpdateBroker APIs的使用者,如果代理程式組態包含 IAM 角色,則必須具有該角色的
iam:PassRole許可。 -
IAM 角色必須存在於與 RabbitMQ 代理程式相同的 AWS 帳戶中。組態中的所有 ARNs 必須與 RabbitMQ 代理程式位於相同的 AWS 區域中。
-
Amazon MQ 會在擔任 IAM 角色
aws:SourceArn時新增 IAM 全域條件式金鑰aws:SourceAccount和 。這些值必須用於連接到角色的 IAM 政策中,以進行混淆代理人保護。
支援的金鑰
必要的 IAM 角色
aws.arns.assume_role_arn-
Amazon MQ 擔任以存取其他 AWS 資源的 IAM 角色 ARN。使用任何其他 ARN 組態時為必要。
| 組態金鑰 | 說明 |
|---|---|
aws.arns.ssl_options.cacertfile |
SSL/TLS 用戶端連線的憑證授權機構檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
| 組態金鑰 | 說明 |
|---|---|
aws.arns.management.ssl.cacertfile |
管理介面 SSL/TLS 連線的憑證授權機構檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
| 組態金鑰 | 說明 |
|---|---|
aws.arns.auth_oauth2.https.cacertfile |
OAuth 2.0 HTTPS 連線的憑證授權單位檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
| 組態金鑰 | 說明 |
|---|---|
aws.arns.auth_http.ssl_options.cacertfile |
HTTP 身分驗證 SSL/TLS 連線的憑證授權機構檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
aws.arns.auth_http.ssl_options.certfile |
Amazon MQ 與 HTTP 身分驗證伺服器之間交互 TLS 連線的憑證檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
aws.arns.auth_http.ssl_options.keyfile |
Amazon MQ 與 HTTP 身分驗證伺服器之間交互 TLS 連線的私有金鑰檔案。Amazon MQ 需要使用 AWS Secrets Manager 來存放私有金鑰。 |
| 組態金鑰 | 說明 |
|---|---|
aws.arns.auth_ldap.ssl_options.cacertfile |
LDAP SSL/TLS 連線的憑證授權機構檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
aws.arns.auth_ldap.ssl_options.certfile |
Amazon MQ 與 LDAP 伺服器之間交互 TLS 連線的憑證檔案。Amazon MQ 需要使用 Amazon S3 或 來存放憑證。 |
aws.arns.auth_ldap.ssl_options.keyfile |
Amazon MQ 與 LDAP 伺服器之間交互 TLS 連線的私有金鑰檔案。Amazon MQ 需要使用 AWS Secrets Manager 來存放私有金鑰。 |
aws.arns.auth_ldap.dn_lookup_bind.password |
LDAP DN 查詢繫結的密碼。Amazon MQ 需要使用 將密碼 AWS Secrets Manager 儲存為純文字值。 |
aws.arns.auth_ldap.other_bind.password |
LDAP 其他繫結的密碼。Amazon MQ 需要使用 將密碼 AWS Secrets Manager 儲存為純文字值。 |
IAM 政策範例
如需 IAM 政策範例,包括擔任角色政策文件和角色政策文件,請參閱 CDK 範例實作
如需如何設定 AWS Secrets Manager 和 Amazon S3 資源的步驟使用 LDAP 身分驗證和授權,請參閱 。
相關中介裝置隔離狀態
如需與 ARN 支援問題相關的中介裝置隔離狀態資訊,請參閱:
範例藍本
-
代理程式
b-f0fc695e-2f9c-486b-845a-988023a3e55b已設定為使用 IAM 角色<role>來存取 AWS Secrets Manager 秘密<arn> -
如果提供給 Amazon MQ 的角色沒有 AWS Secrets Manager 秘密的讀取許可,RabbitMQ 日誌中會顯示下列錯誤:
[error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}}此外,代理程式將進入
INVALID_ASSUMEROLE隔離狀態。如需詳細資訊,請參閱 INVALID_ASSUMEROLE。 -
LDAP 身分驗證嘗試將會失敗,並顯示下列錯誤:
[error] <0.254.0> LDAP bind failed: invalid_credentials -
使用適當的許可修正 IAM 角色