翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
監査ログ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" } } } ] }
「混乱した代理」セキュリティ問題の詳細については、ユーザーガイドの「混乱した代理問題」を参照してください。