View a markdown version of this page

RabbitMQ 設定での ARN サポート - Amazon MQ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

RabbitMQ 設定での ARN サポート

Amazon MQ for RabbitMQ は、一部の RabbitMQ 設定の値の AWS ARNs をサポートしています。これは、RabbitMQ コミュニティプラグイン rabbitmq-aws によって有効になります。このプラグインは Amazon MQ によって開発および保守されており、Amazon MQ によって管理されていないセルフホスト RabbitMQ ブローカーでも使用できます。 Amazon MQ

重要な考慮事項
  • aws プラグインによって取得された解決された ARN 値は、実行時に RabbitMQ プロセスに直接渡されます。RabbitMQ ノードの他の場所には保存されません。

  • Amazon MQ for RabbitMQ には、設定された ARNs にアクセスするために Amazon MQ が引き受けることができる IAM ロールが必要です。これは、 を設定することで設定されますaws.arns.assume_role_arn

  • IAM ロールを含むブローカー設定で CreateBroker または UpdateBroker APIs を呼び出すユーザーには、そのロールに対する アクセス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 ロールを使用して AWS Secrets Manager シークレット<role>にアクセスするように設定されています <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 ロールを修正する