

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

# Amazon MQ for ActiveMQ ログの設定
<a name="configure-logging-monitoring-activemq"></a>

CloudWatch Logs へのログの発行を Amazon MQ に許可するには、ブローカーを作成および再起動する前に、[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 は、[単一インスタンスブローカー](amazon-mq-broker-architecture.md#single-broker-deployment)か[アクティブ/スタンバイブローカー](amazon-mq-broker-architecture.md#active-standby-broker-deployment)のどちらを使用しているかに応じて、各ロググループ内に 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>

CloudWatch Logs ロググループの作成を Amazon MQ に許可するには、ブローカーを作成または再起動するユーザーに `logs:CreateLogGroup` アクセス許可があることを確認する必要があります。

**重要**  
ユーザーがブローカーの作成または再起動を行う前に `CreateLogGroup` 許可をユーザーに追加しなければ、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 ユーザーガイドの「[ID 管理の概要](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 にログを発行できません。

CloudWatch Logs ロググループへのログの発行を Amazon MQ に許可するには、以下の CloudWatch Logs API アクションに対するアクセス権を Amazon MQ に付与するリソースベースポリシーを設定します。
+ `[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 アカウントごと、リージョンごとに 1 回のみ設定する必要があります。

## サービス間での不分別な代理処理の防止
<a name="security-logging-monitoring-configure-cloudwatch-confused-deputy"></a>

 混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (*呼び出し元サービス*) が、別のサービス (*呼び出し対象サービス*) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐために、 は、アカウント内のリソースへのアクセス権が付与されたサービスプリンシパルを持つすべてのサービスのデータを保護するのに役立つツール AWS を提供します。

 CloudWatch Logs アクセスを指定された 1 つまたは複数のブローカーに制限するには、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)` のグローバル条件コンテキストキーを使用することをお勧めします。

**注記**  
 両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合は、`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)」を参照してください。