Amazon MQ for ActiveMQ ログの設定 - Amazon MQ

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

Amazon MQ for ActiveMQ ログの設定

Amazon MQ が CloudWatch ログにログを発行できるようにするには、ブローカーを作成または再起動する前に、Amazon MQ ユーザーにアクセス許可を追加、Amazon MQ のリソースベースのポリシーを設定する必要があります。

注記

ActiveMQ ウェブコンソールからログを有効にしてメッセージを発行すると、メッセージの内容が に送信 CloudWatch され、ログに表示されます。

以下に、ActiveMQ ブローカーの CloudWatch ログを設定する手順を示します。

CloudWatch Logs でのログ記録の構造を理解する

一般ログおよび監査ログ記録は、高度なブローカー設定時、ブローカー作成時、またはブローカー編集時に有効にすることができます。

一般的なログ記録では、デフォルトのINFOログ記録レベルが有効になり (DEBUG ログ記録はサポートされていません)、 CloudWatch アカウント内のactivemq.logロググループに発行されます。ロググループの形式は次のようになります。

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

監査ログ記録により、ActiveMQ ウェブコンソールを使用して実行JMXされた管理アクションのログ記録が有効になり、 CloudWatch アカウント内のaudit.logロググループに発行されます。ロググループの形式は次のようになります。

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

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 Logs ユーザーガイド」の「ロググループとログストリームの操作」を参照してください。 CloudWatch

Amazon MQ ユーザーへの CreateLogGroup 許可の追加

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

重要

ユーザーがブローカーの作成または再起動を行う前に CreateLogGroup 許可をユーザーに追加しなければ、Amazon MQ はロググループを作成しません。

次の IAMベースのポリシーの例ではlogs:CreateLogGroup、このポリシーがアタッチされているユーザーに アクセス許可を付与します。

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

ここで、ユーザーという用語は、新しいブローカーの設定時に作成した Amazon MQ ユーザーではなく、ユーザーを指しています。ユーザーのセットアップとIAMポリシーの設定の詳細については、 IAMユーザーガイドの「アイデンティティ管理の概要」セクションを参照してください。

詳細については、「Amazon Logs リファレンスCreateLogGroup」の「」を参照してください。 CloudWatch API

Amazon MQ のリソースベースポリシーを設定する

重要

Amazon MQ のリソースベースのポリシーを設定しない場合、ブローカーはログを CloudWatch Logs に発行できません。

Amazon MQ が CloudWatch Logs ロググループにログを発行できるようにするには、以下の Logs APIアクションへのアクセス権を Amazon MQ CloudWatch に付与するようにリソースベースのポリシーを設定します。

  • CreateLogStream – 指定されたロググループの CloudWatch ログログストリームを作成します。

  • PutLogEvents – 指定された CloudWatch Logs ログストリームにイベントを配信します。

次のリソースベースのポリシーは、 logs:CreateLogStreamおよび のアクセス許可logs:PutLogEventsを に付与します AWS。

{ "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 回のみ設定する必要があります。

サービス間での不分別な代理処理の防止

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

Amazon MQ リソースベースのポリシーで aws:SourceArnおよび aws:SourceAccount グローバル条件コンテキストキーを使用して、1 つ以上の指定されたブローカーへの CloudWatch ログアクセスを制限することをお勧めします。

注記

両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合は、aws:SourceAccount 値と、aws:SourceArn 値に含まれるアカウントが、同じアカウント ID を示している必要があります。

次の例は、単一の Amazon MQ ブローカーへの CloudWatch ログアクセスを制限するリソースベースのポリシーを示しています。

{ "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-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9" } } } ] }

以下に示すように、アカウント内のすべてのブローカーへの CloudWatch Logs アクセスを制限するようにリソースベースのポリシーを設定することもできます。

{ "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" } } } ] }

「混乱した代理」セキュリティ問題の詳細については、ユーザーガイドの「混乱した代理問題」を参照してください。