

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

# RabbitMQ 設定での ARN サポート
<a name="arn-support-rabbitmq-configuration"></a>

Amazon MQ for RabbitMQ は、一部の RabbitMQ 設定の値の AWS ARNs をサポートしています。これは、RabbitMQ コミュニティプラグイン [rabbitmq-aws](https://github.com/amazon-mq/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`と を追加します。これらの値は、[混乱した代理保護](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)のためにロールにアタッチされた IAM ポリシーで使用する必要があります。

**Topics**
+ [サポートされるキー](#arn-support-supported-keys)
+ [IAM ポリシーのサンプル](#arn-support-iam-policy-samples)
+ [関連するブローカーの隔離状態](#arn-support-quarantine-states)
+ [シナリオの例](#arn-support-example-scenario)

## サポートされるキー
<a name="arn-support-supported-keys"></a>

`aws.arns.assume_role_arn`  
Amazon MQ が他の AWS リソースにアクセスするために引き受ける IAM ロール ARN。他の ARN 設定を使用する場合に必要です。

### AMQP エンドポイント
<a name="arn-support-amqp-endpoint"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.ssl\_options.cacertfile | SSL/TLS クライアント接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 

### RabbitMQ 管理プラグイン
<a name="arn-support-management-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.management.ssl.cacertfile | 管理インターフェイス SSL/TLS 接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 

### RabbitMQ OAuth 2.0 プラグイン
<a name="arn-support-oauth2-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.auth\_oauth2.https.cacertfile | OAuth 2.0 HTTPS 接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 

### RabbitMQ HTTP 認証プラグイン
<a name="arn-support-http-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| 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 、 を使用してプライベートキーを保存する必要があります。 | 

### RabbitMQ LDAP プラグイン
<a name="arn-support-ldap-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| 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 ポリシーのサンプル
<a name="arn-support-iam-policy-samples"></a>

ロールの引き受けポリシードキュメントやロールポリシードキュメントを含む IAM ポリシーの例については、[CDK サンプル実装](https://github.com/aws-samples/amazon-mq-samples/blob/main/rabbitmq-samples/rabbitmq-ldap-activedirectory-sample/lib/rabbitmq-activedirectory-stack.ts#L232)を参照してください。

 AWS Secrets Manager と Amazon S3 リソースを設定する手順[LDAP 認証と認可の使用](rabbitmq-ldap-tutorial.md)については、「」を参照してください。

## 関連するブローカーの隔離状態
<a name="arn-support-quarantine-states"></a>

ARN サポートの問題に関連するブローカーの隔離状態については、以下を参照してください。
+ [RABBITMQ\_INVALID\_ASSUMEROLE](troubleshooting-action-required-codes-invalid-assumerole.md)
+ [RABBITMQ\_INVALID\_ARN\_LDAP](troubleshooting-action-required-codes-invalid-arn-ldap.md)
+ [RABBITMQ\_INVALID\_ARN](troubleshooting-action-required-codes-invalid-arn.md)

## シナリオの例
<a name="arn-support-example-scenario"></a>
+ ブローカー`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](troubleshooting-action-required-codes-invalid-assumerole.md)」を参照してください。
+ LDAP 認証の試行は、次のエラーで失敗します。

  ```
  [error] <0.254.0> LDAP bind failed: invalid_credentials
  ```
+ 適切なアクセス許可を持つ IAM ロールを修正する