説明
Amazon MQ は保存データを常に暗号化します。EncryptionOptions や KMS キーを省略すると AWS 所有キーによるデフォルトの暗号化が適用され、暗号化が無効になるわけではありません。
組織がカスタマーマネージド KMS キーと個別のキーポリシーを要求する場合、デフォルトのキーでは要件を満たさないことがあります。キーの所有者と使用権限を確認し、ブローカーの認証やネットワークアクセスは別の制御として管理してください。
想定される影響
- 実際のキー管理が、組織の管理・監査要件に合っていない可能性があります。
- カスタマーマネージドキーの無効化・削除や必要な権限の取り消しは、ブローカーの運用に影響する場合があります。
対処方法
- 実際のブローカー設定とキー管理の要件を確認してください。AWS 所有キーが適切なら、
UseAwsOwnedKey: trueで選択を明示できます。 - カスタマーマネージドキーが必要なら、対応するキーと権限を準備して
UseAwsOwnedKey: falseとKmsKeyIdを設定してください。 - CloudFormation で暗号化オプションを変更するとブローカーの置き換えが必要です。メッセージの移行とクライアントの接続を計画し、変更後の送受信を確認してください。
例
対象リージョンの ActiveMQ で対応するインスタンスタイプと、安全に管理したユーザー認証情報を指定してください。エンジンバージョンにはサービスのデフォルトを使用します。公開アクセスは別途検討が必要であり、本番環境のセキュリティ設定全体を示す例ではありません。
デフォルトのキー選択
yaml
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
BrokerInstanceType:
Type: String
BrokerUsername:
Type: String
BrokerPassword:
Type: String
NoEcho: true
Resources:
BasicBroker:
Type: AWS::AmazonMQ::Broker
Properties:
AutoMinorVersionUpgrade: true
BrokerName: MyBasicBroker
DeploymentMode: SINGLE_INSTANCE
EngineType: ACTIVEMQ
HostInstanceType: !Ref BrokerInstanceType
PubliclyAccessible: true
Users:
- ConsoleAccess: true
Groups:
- MyGroup
Password: !Ref BrokerPassword
Username: !Ref BrokerUsername
暗号化オプションを省略しても、保存データは AWS 所有キーで暗号化されます。
キー選択を明示
yaml
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
BrokerInstanceType:
Type: String
BrokerUsername:
Type: String
BrokerPassword:
Type: String
NoEcho: true
Resources:
BasicBroker:
Type: AWS::AmazonMQ::Broker
Properties:
AutoMinorVersionUpgrade: true
BrokerName: MyBasicBroker
DeploymentMode: SINGLE_INSTANCE
EncryptionOptions:
UseAwsOwnedKey: true
EngineType: ACTIVEMQ
HostInstanceType: !Ref BrokerInstanceType
PubliclyAccessible: true
Users:
- ConsoleAccess: true
Groups:
- MyGroup
Password: !Ref BrokerPassword
Username: !Ref BrokerUsername
同じ AWS 所有キーの使用を明示します。カスタマーマネージドキーを使用する例ではありません。