

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

# ActiveMQ 로그용 Amazon MQ 구성
<a name="configure-logging-monitoring-activemq"></a>

Amazon MQ가 CloudWatch Logs로 로그를 게시하도록 허용하려면 [Amazon MQ 사용자에게 권한을 추가](#security-logging-monitoring-configure-cloudwatch-permissions)하고 브로커를 생성하거나 다시 시작하기 전에 [Amazon MQ에 대한 리소스 기반 정책도 구성](#security-logging-monitoring-configure-cloudwatch-resource-permissions)해야 합니다.

**참고**  
ActiveMQ 웹 콘솔에서 로그를 켜고 메시지를 게시하면 메시지 내용이 CloudWatch로 전송되고 로그에 표시됩니다.

다음 내용에서는 ActiveMQ 브로커에 대한 CloudWatch Logs를 구성하는 단계를 설명합니다.

**Topics**
+ [CloudWatch Logs에서 로깅의 구조 이해](#security-logging-monitoring-configure-cloudwatch-structure)
+ [Amazon MQ 사용자에게 `CreateLogGroup` 권한 추가](#security-logging-monitoring-configure-cloudwatch-permissions)
+ [Amazon MQ에 대한 리소스 기반 정책 구성](#security-logging-monitoring-configure-cloudwatch-resource-permissions)
+ [교차 서비스 혼동된 대리인 방지](#security-logging-monitoring-configure-cloudwatch-confused-deputy)

## CloudWatch Logs에서 로깅의 구조 이해
<a name="security-logging-monitoring-configure-cloudwatch-structure"></a>

브로커를 생성할 때나 브로커를 편집할 때 고급 브로커 설정을 구성하여 *일반* 및 *감사* 로깅을 활성화할 수 있습니다.

일반 로깅은 기본 `INFO` 로깅 수준(`DEBUG` 로깅이 지원되지 않음)을 활성화하고 `activemq.log`를 CloudWatch 계정의 로그 그룹에 게시합니다. 로그 그룹의 형식은 다음과 같습니다.

```
/aws/amazonmq/broker/b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9/general
```

[감사 로깅](http://activemq.apache.org/audit-logging.html)은 JMX를 사용하거나 ActiveMQ 웹 콘솔을 사용하여 수행된 관리 작업의 로깅을 활성화하고 `audit.log`를 CloudWatch 계정의 로그 그룹에 게시합니다. 로그 그룹의 형식은 다음과 같습니다.

```
/aws/amazonmq/broker/b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9/audit
```

[단일 인스턴스 브로커](amazon-mq-broker-architecture.md#single-broker-deployment)가 있는지 또는 [활성/대기 브로커](amazon-mq-broker-architecture.md#active-standby-broker-deployment)가 있는지에 따라 Amazon MQ는 각 로그 그룹 내에 1개 또는 2개의 로그 스트림을 생성합니다. 로그 스트림의 형식은 다음과 같습니다.

```
activemq-b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.log
                activemq-b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-2.log
```

`-1` 및 `-2` 접미사는 개별 브로커 인스턴스를 나타냅니다. 자세한 내용은 *[Amazon CloudWatch Logs 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*의 [로그 그룹 및 로그 스트림 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)을 참조하세요.

## Amazon MQ 사용자에게 `CreateLogGroup` 권한 추가
<a name="security-logging-monitoring-configure-cloudwatch-permissions"></a>

Amazon MQ가 CloudWatch Logs 로그 그룹을 생성하도록 허용하려면 브로커를 생성하거나 재부팅하는 사용자에게 `logs:CreateLogGroup` 권한이 있는지 확인해야 합니다.

**중요**  
사용자가 브로커를 생성하거나 재부팅하기 전에 `CreateLogGroup` 권한을 Amazon MQ 사용자에게 추가하지 않으면 Amazon MQ가 로그 그룹을 생성하지 않습니다.

다음 [IAM 기반 정책](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#identity-based-policies-cwl) 예제에서는 이 정책이 연결된 사용자에 대해 `logs:CreateLogGroup`에 대한 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Action": "logs:CreateLogGroup",
                            "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*"
                        }
                    ]
                    }
```

------

**참고**  
여기서, 사용자는 새 브로커를 구성할 때 생성되는 *사용자*를 나타내며 *Amazon MQ 사용자*가 아닙니다. 사용자 설정 및 IAM 정책 구성에 대한 자세한 내용은 IAM 사용 설명서의 [보안 인증 정보 관리 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html) 섹션을 참조하세요.

자세한 내용은 *Amazon CloudWatch Logs API 참조*의 `[CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)` 단원을 참조하세요.

## Amazon MQ에 대한 리소스 기반 정책 구성
<a name="security-logging-monitoring-configure-cloudwatch-resource-permissions"></a>

**중요**  
Amazon MQ에 대한 리소스 기반 정책을 구성하지 않으면 브로커가 CloudWatch Logs에 로그를 게시할 수 없습니다.

Amazon MQ가 CloudWatch Logs 로그 그룹에 로그를 게시하도록 허용하려면 Amazon MQ에 다음 CloudWatch Logs API 작업에 대한 액세스 권한을 부여하도록 리소스 기반 정책을 구성합니다.
+ `[CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)` - 지정된 로그 그룹에 대한 CloudWatch Logs 로그 스트림을 생성합니다.
+ `[PutLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)` - 지정된 CloudWatch Logs 로그 스트림에 이벤트를 전달합니다.

다음 리소스 기반 정책은 `logs:CreateLogStream` 및 `logs:PutLogEvents`에 대한 권한을 부여합니다 AWS.

------
#### [ JSON ]

****  

```
{ 
                            "Version":"2012-10-17",		 	 	  
                            "Statement": [ 
                                {
                                    "Effect": "Allow",
                                    "Principal": { "Service": "mq.amazonaws.com" },
                                    "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ],
                                    "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*"
                                } 
                            ]
                        }
```

------

이 리소스 기반 정책은 다음 명령과 AWS CLI 같이를 사용하여 구성해야 *합니다*. 이 예제에서 `us-east-1`은 사용자 고유의 정보로 바꿉니다.

```
aws --region us-east-1 logs put-resource-policy --policy-name AmazonMQ-logs \
                        --policy-document "{\"Version\": \"2012-10-17\", \"Statement\":[{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"mq.amazonaws.com\" },
                        \"Action\": [\"logs:CreateLogStream\", \"logs:PutLogEvents\"], \"Resource\": \"arn:aws:logs:*:*:log-group:\/aws\/amazonmq\/*\" }]}"
```

**참고**  
이 예제에서는 `/aws/amazonmq/` 접두사를 사용하기 때문에 리전별로 AWS 계정당 한 번만 리소스 기반 정책을 구성해야 합니다.

## 교차 서비스 혼동된 대리인 방지
<a name="security-logging-monitoring-configure-cloudwatch-confused-deputy"></a>

 혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서 AWS교차 서비스 가장은 혼동된 대리자 문제를 초래할 수 있습니다. 교차 서비스 가장은 한 서비스(*직접 호출하는 서비스*)가 다른 서비스(*직접 호출되는 서비스*)를 직접 호출할 때 발생할 수 있습니다. 직접 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 AWS 제공합니다.

 Amazon MQ 리소스 기반 정책의 전역 조건 컨텍스트 키인 `[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)` 및 `[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)`를 사용하여 하나 이상의 지정된 브로커에 대한 CloudWatch Logs 액세스를 제한하는 것이 좋습니다.

**참고**  
 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 `aws:SourceAccount` 값과 `aws:SourceArn` 값의 계정은 동일한 정책 문에서 사용할 경우 동일한 계정 ID를 사용해야 합니다.

 다음 예제에서는 CloudWatch Logs 액세스를 단일 Amazon MQ 브로커로 제한하는 리소스 기반 정책을 보여줍니다.

------
#### [ JSON ]

****  

```
{
                        "Version":"2012-10-17",		 	 	 
                        "Statement": [
                            {
                            "Effect": "Allow",
                            "Principal": {
                                "Service": "mq.amazonaws.com"
                            },
                            "Action": [
                                "logs:CreateLogStream",
                                "logs:PutLogEvents"
                            ],
                            "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*",
                            "Condition": {
                                "StringEquals": {
                                "aws:SourceAccount": "123456789012",
                                "aws:SourceArn": "arn:aws:mq:us-west-1:123456789012:broker:my-broker:123456789012"
                                }
                            }
                            }
                        ]
                        }
```

------

 또한 다음과 같이 계정의 모든 브로커에 대한 CloudWatch Logs 액세스를 제한하도록 리소스 기반 정책을 구성할 수 있습니다.

------
#### [ JSON ]

****  

```
{
                            "Version":"2012-10-17",		 	 	 
                            "Statement": [
                            {
                                "Effect": "Allow",
                                "Principal": {
                                "Service": [
                                    "mq.amazonaws.com"
                                ]
                                },
                                "Action": [
                                "logs:CreateLogStream",
                                "logs:PutLogEvents"
                                ],
                                "Resource": "arn:aws:logs:*:*:log-group:/aws/amazonmq/*",
                                "Condition": {
                                "ArnLike": {
                                    "aws:SourceArn": "arn:aws:mq:*:123456789012:broker:*"
                                },
                                "StringEquals": {
                                    "aws:SourceAccount": "123456789012"
                                }
                                }
                            }
                            ]
                        }
```

------

혼동된 대리자 보안 문제에 관한 자세한 내용은 *사용 설명서*의 [혼동된 대리자 문제](https://docs.aws.amazon.com/hIAM/latest/UserGuide/confused-deputy.html)를 참조하세요.