Amazon ElastiCache クラスターの保管時の暗号化をモニタリングする - AWS 規範ガイダンス

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

Amazon ElastiCache クラスターの保管時の暗号化をモニタリングする

作成者: Susanne Kangnoh (AWS)

環境:本稼働

テクノロジー: セキュリティ、アイデンティティ、コンプライアンス、データベース、インフラストラクチャ CloudNative

ワークロード: オープンソース

AWS サービス: Amazon SNS、Amazon CloudWatch、Amazon ElastiCache

[概要]

Amazon ElastiCache は、クラウド内のインメモリデータストアまたはキャッシュ環境を分散するための、高性能、スケーラブル、費用対効果の高いキャッシュソリューションを提供する Amazon Web Services (AWS) サービスです。スループットが高く、レイテンシーが低いメモリ内データストアからデータを取得します。この機能により、キャッシュ、セッションストア、ゲーム、地理空間サービス、リアルタイム分析、queuing. ElastiCache offers Redis および Memcached データストアなどのリアルタイムユースケースで人気があり、どちらもミリ秒未満の応答時間を提供します。

データ暗号化は、権限のないユーザーがRedisクラスターや関連するキャッシュストレージシステムで利用可能な機密データを読み取ることを防ぐのに役立ちます。このデータには、保管中のデータと呼ばれる、永続的なメディアに保存されているデータや、転送中のデータと呼ばれる、ネットワークを介した転送の間に傍受される可能性のあるデータが含まれます。

AtRestEncryptionEnabledパラメータを true に設定することで、レプリケーショングループの作成時に for Redis ElastiCache の保管時の暗号化を有効にできます。このパラメータを有効にすると、同期、バックアップ、スワップ操作中にディスクが暗号化され、Amazon Simple Storage Service (Amazon S3) に保存されたバックアップが暗号化されます。既存のレプリケーショングループ上で保管時の暗号化を有効にすることはできません。レプリケーショングループを作成するときに、以下の 2 つの方法で保管中の暗号化を有効にすることができます

  • [デフォルト] オプションを選択すると、保存時にはサービス管理型の暗号化が使用されます。

  • カスタマーマネージドキーを使用し、 Key Management Service (ARN) からAWSキー ID または Amazon リソースネーム (AWS) を指定しますKMS。

このパターンは、 API呼び出しをモニタリングし、 CreateReplicationGroupオペレーションで Amazon CloudWatch Events イベントを生成するセキュリティコントロールを提供します。このイベントは、Python スクリプトを実行する AWS Lambda 関数を呼び出します。関数はイベントJSON入力からレプリケーショングループ ID を取得し、次のチェックを実行してセキュリティ違反があるかどうかを確認します。

  • AtRestEncryptionEnabledキーが存在するかどうかを確認します。

  • AtRestEncryptionEnabled存在する場合、 は値をチェックして、それが true かどうかを確認します。

  • AtRestEncryptionEnabled値が false に設定されている場合、 は、Amazon Simple Notification Service (Amazon SNS) 通知を使用して、違反を追跡し、指定した E メールアドレスに違反メッセージを送信する変数を設定します。

前提条件と制限

前提条件

  • アクティブ AWS アカウント。

  • 提供されたLambda コードをアップロードする S3 バケットに

  • 違反の通知を受信するメールアドレス

  • ElastiCache すべてのログにアクセスするための APIログ記録が有効になりました。

制約事項

  • この検出コントロールはリージョン別であり、モニタリングする各AWSリージョンにデプロイする必要があります。

  • このコントロールは、仮想プライベートクラウド () で実行されているレプリケーショングループをサポートしますVPC。

  • このコントロールは、以下のノードタイプを実行するレプリケーショングループをサポートします。

    • R5、R4、R3

    • M5、M4、M3

    • T3、T2

製品バージョン

  • ElastiCache for Redis バージョン 3.2.6 以降

アーキテクチャ

ワークフローアーキテクチャ

自動化とスケール

  • AWS Organizations を使用している場合は、AWSCloudformation StackSets を使用して、モニタリングする複数のアカウントにこのテンプレートをデプロイできます。

ツール

AWS サービス

  • Amazon ElastiCache – Amazon ElastiCache では、 AWS クラウドで分散インメモリキャッシュ環境を簡単にセットアップ、管理、スケーリングできます。Redis エンジンと Memcached エンジンの両方で分散キャッシュ環境. ElastiCache works のデプロイと管理に伴う複雑さを排除しながら、高いパフォーマンス、サイズ変更、および費用対効果の高いインメモリキャッシュを提供します。

  • AWS CloudFormation – AWS CloudFormation は、AWSリソースのモデル化とセットアップ、迅速かつ一貫したプロビジョニング、ライフサイクル全体の管理に役立ちます。リソースを個別に管理する代わりに、テンプレートを使用してリソースとその依存関係を記述し、それらをスタックとしてまとめて起動して設定できます。スタックは、複数のAWSアカウントとAWSリージョンにわたって管理およびプロビジョニングできます。

  • AWS Cloudwatch Events – Amazon CloudWatch Events は、 AWS リソースの変更を記述するシステムイベントのほぼリアルタイムのストリームを提供します。 CloudWatch イベントは、運用上の変更が発生すると認識し、必要に応じて、環境への応答、機能のアクティブ化、変更、状態情報の取得のためのメッセージを送信することで、是正措置を講じます。

  • AWS Lambda – AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードの実行をサポートするコンピューティングサービスです。Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケールします。課金は実際に消費したコンピューティング時間に対してのみ発生します。コードが実行されていない場合、料金は発生しません。 

  • Amazon SNS – Amazon Simple Notification Service (Amazon SNS) は、ウェブサーバーや E メールアドレスなど、パブリッシャーとクライアント間のメッセージの送信を調整および管理します。サブスクライバーは、サブスクライブしているトピックに対して発行されたすべてのメッセージを受信します。また、同じトピックのサブスクライバーはすべて同じメッセージを受信します。

コード

このパターンには、次の 2 つのファイルを含む添付ファイルが含まれます。

  • ElasticCache-EncryptionAtRest.zip は、セキュリティコントロール (Lambda コード) を含む圧縮ファイルです。

  • elasticache_encryption_at_rest.yml は、セキュリティコントロールをデプロイする CloudFormation テンプレートです。

これらのファイルの使用方法については、「エピック」セクションを参照してください。

エピック

タスク説明必要なスキル
S3 バケットにコードをアップロードします。

新しい S3 バケットを作成するか、既存の S3 バケットを使用して、添付 ElastiCache-EncryptionAtRest.zip ファイル (Lambda コード) をアップロードします。このバケットは、評価するリソースと同じAWSリージョンに存在する必要があります。

クラウドアーキテクト
CloudFormation テンプレートをデプロイします。

S3 バケットと同じAWSリージョンで Cloudformation コンソールを開き、添付ファイルに提供されているelasticache_encryption_at_rest.ymlファイルをデプロイします。次のエピックでは、テンプレートパラメータの値を指定します。

クラウドアーキテクト
タスク説明必要なスキル
S3 バケット名を入力します。

最初のエピックで作成または選択した S3 バケットの名前を入力します。この S3 バケットには Lambda コードの .zip ファイルが含まれており、評価される CloudFormation テンプレートおよびリソースと同じAWSリージョンに存在する必要があります。 

クラウドアーキテクト
S3 キーを入力します。

S3 バケット内の Lambda コードの.zip ファイルの場所を、先頭にスラッシュを付けずに指定します (例:ElasticCache-EncryptionAtRest.zip または controls/ElasticCache-EncryptionAtRest.zip)。

クラウドアーキテクト
メールアドレスを入力します。

違反の通知を受信するメールアドレスを入力します。 

クラウドアーキテクト
ログレベルを指定します。

ログ記録レベルと詳細レベルを定義します。Info アプリケーションの進行状況に関する詳細な情報メッセージを指定し、デバッグのみに使用されます。Error それでもアプリケーションの実行を継続できるエラーイベントを指定します。Warning 潜在的に危険有害な状況を示します。

クラウドアーキテクト
タスク説明必要なスキル
メールサブスクリプションを確認します。

CloudFormation テンプレートが正常にデプロイされると、指定した E メールアドレスにサブスクリプション E メールメッセージを送信します。通知を受信するには、このメールのサブスクリプションを確認する必要があります。

クラウドアーキテクト

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip