

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# RabbitMQ 구성의 ARN 지원
<a name="arn-support-rabbitmq-configuration"></a>

RabbitMQ용 Amazon MQ는 일부 RabbitMQ 구성 설정의 값에 대해 AWS ARNs을 지원합니다. 이는 RabbitMQ 커뮤니티 플러그인 [rabbitmq-aws](https://github.com/amazon-mq/rabbitmq-aws)에 의해 활성화됩니다. 이 플러그인은 Amazon MQ에서 개발 및 유지 관리하며 Amazon MQ에서 관리하지 않는 자체 호스팅 RabbitMQ Amazon MQ 브로커에서도 사용할 수 있습니다.

**중요 고려 사항**  
aws 플러그인에서 검색한 확인된 ARN 값은 런타임 시 RabbitMQ 프로세스로 직접 전달됩니다. RabbitMQ 노드의 다른 위치에 저장되지 않습니다.
RabbitMQ용 Amazon MQ에는 구성된 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 역할 수정