Amazon MQ の暗号化キー設定の確認

Amazon MQ は保存データをデフォルトで暗号化します。組織が求めるキーの所有者と管理方法を確認し、明示的に設定してください。

説明

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 所有キーの使用を明示します。カスタマーマネージドキーを使用する例ではありません。

参考資料