説明
Amazon MQ に必要なログがないと、ブローカーの障害や管理操作を調査しにくくなります。General は運用ログを提供し、Audit は ActiveMQ の JMX やウェブコンソールによる管理操作を記録します。Audit は RabbitMQ ブローカーには適用されません。
監査ログは、処理したすべてのメッセージの履歴を記録するものではありません。ウェブコンソールから送信したメッセージの内容がログに含まれる場合があるため、ログの機密性とアクセス権限も確認する必要があります。
想定される影響
- 障害や不審な管理操作の原因を調査するための記録が不足する場合があります。
- ログに含まれるメッセージや管理情報が、意図しないユーザーに漏えいするおそれがあります。
対処方法
ブローカーのエンジンと運用目的に合わせて Logs.General を有効にし、ActiveMQ の管理監査が必要な場合は Logs.Audit も有効にしてください。CloudWatch ロググループの作成と配信に必要な権限を用意し、変更適用後に実際の記録を確認してください。ログの保持期間とアクセス権限を制限してください。
例
以前の ActiveMQ の例でログ設定を比較します。エンジンのバージョンとインスタンスタイプを現在サポートされる組み合わせに置き換え、BrokerUsername と BrokerPassword を安全に渡してください。ネットワークとログ配信権限は別途用意してください。
変更前
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: "Create a basic ActiveMQ broker"
Resources:
BasicBroker:
Type: "AWS::AmazonMQ::Broker"
Properties:
BrokerName: MyBasicBroker
DeploymentMode: SINGLE_INSTANCE
EngineType: ActiveMQ
EngineVersion: "5.15.0"
HostInstanceType: mq.t2.micro
PubliclyAccessible: false
Users:
- ConsoleAccess: "true"
Groups:
- MyGroup
Password:
Ref: "BrokerPassword"
Username:
Ref: "BrokerUsername"
Logs:
General: true
一般ログを有効にしていますが、管理操作の監査ログは指定していません。
変更後
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: "Create a basic ActiveMQ broker"
Resources:
BasicBroker:
Type: "AWS::AmazonMQ::Broker"
Properties:
AutoMinorVersionUpgrade: "false"
BrokerName: MyBasicBroker
DeploymentMode: SINGLE_INSTANCE
EncryptionOptions:
UseAwsOwnedKey: true
EngineType: ActiveMQ
EngineVersion: "5.15.0"
HostInstanceType: mq.t2.micro
PubliclyAccessible: false
Users:
- ConsoleAccess: "true"
Groups:
- MyGroup
Password:
Ref: "BrokerPassword"
Username:
Ref: "BrokerUsername"
Logs:
General: true
Audit: true
一般ログと管理操作の監査ログを有効にします。AutoMinorVersionUpgrade: false はロギングの要件ではないため、現在のエンジンの更新ポリシーに合わせて確認してください。