翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ElastiCache Well-Architected レンズのセキュリティの柱
セキュリティの柱は、情報とシステムの保護に焦点を当てています。主なトピックは、データの機密性と完全性、権限ベースの管理による誰が何を実行できるのかの特定と管理、システムの保護、セキュリティイベントを検出するための制御の確立です。
トピック
SEC 1: ElastiCache データへの許可されたアクセスを制御するためにどのような措置を講じているか。
質問レベルの紹介: すべての ElastiCache クラスターは、VPC 内の Amazon Elastic Compute Cloud インスタンス、サーバーレス関数 (AWS Lambda)、またはコンテナ (Amazon Elastic Container Service) からアクセスできるように設計されています。最もよく遭遇するシナリオは、同じ Amazon Virtual Private Cloud (Amazon Virtual Private Cloud) の Amazon Elastic Compute Clou インスタンスから ElastiCache クラスターにアクセスすることです。Amazon EC2 インスタンスからクラスターに接続するには、Amazon EC2 インスタンスにクラスターへのアクセスを許可する必要があります。VPC で実行されている ElastiCache クラスターにアクセスするには、クラスターへのネットワーク進入を許可する必要があります。
質問レベルのメリット: クラスターへのネットワーク進入は VPC セキュリティグループによって制御されます。セキュリティグループは、Amazon EC2 インスタンスの仮想ファイアウォールとして機能し、受信トラフィックと送信トラフィックを制御します。インバウンドルールはインスタンスへの受信トラフィックを制御し、アウトバウンドルールはインスタンスからの送信トラフィックをコントロールします。ElastiCache の場合、クラスターを起動するときに、セキュリティグループを関連付ける必要があります。これにより、インバウンドとアウトバウンドのトラフィックルールがクラスターを構成するすべてのノードに適用されるようになります。さらに、ElastiCache はプライベートサブネットにのみデプロイするように設定されているため、VPC のプライベートネットワーク経由でのみアクセスできます。
-
[必須] クラスターに関連付けられているセキュリティグループは、クラスターへのネットワークの進入とアクセスを制御します。デフォルトでは、セキュリティグループにはインバウンドルールが定義されていないため、ElastiCache への進入パスはありません。これを有効にするには、送信元 IP アドレス/範囲、TCP タイプのトラフィック、ElastiCache クラスターのポート (たとえば、Valkey および Redis OSS 用の ElastiCache のデフォルトポート 6379) を指定するインバウンドルールをセキュリティグループに設定します。VPC 内のすべてのリソース (0.0.0.0/0) など、非常に広範囲の進入ソースを許可することは可能ですが、特定のセキュリティグループに関連付けられた Amazon EC2 インスタンスで実行されている Valkey または Redis OSS クライアントへのインバウンドアクセスのみを許可するなど、インバウンドルールはできるだけ細かく定義することをお勧めします。
[リソース]:
-
〔必須] AWS Identity and Access Management ポリシーは、ElastiCache データへのアクセスを許可する AWS Lambda 関数に割り当てることができます。この機能を有効にするには、 アクセス
AWSLambdaVPCAccessExecutionRole
許可を持つ IAM 実行ロールを作成し、そのロールを AWS Lambda 関数に割り当てます。[リソース]: Amazon VPC 内の Amazon ElastiCache にアクセスするための Lambda 関数の設定: チュートリアル: Amazon VPC 内の Amazon ElastiCache にアクセスするための Lambda 関数の設定
SEC 2: アプリケーションでは、ネットワークベースの制御に加えて、ElastiCache への追加の認可が必要か。
質問レベルの概要: 個々のクライアントレベルでクラスターへのアクセスを制限または制御する必要がある場合は、AUTH コマンドを使用して認証することをお勧めします。ElastiCache 認証トークンは、オプションでユーザーとユーザーグループを管理できるため、クライアントがコマンドとアクセスキーを実行できるようにする前に ElastiCache がパスワードを要求できるため、データプレーンのセキュリティが向上します。
質問レベルのメリット: データの安全性を維持するために、ElastiCache はデータの不正アクセスから保護するメカニズムを提供します。これには、承認されたコマンドを実行する前にクライアントが ElastiCache に接続するために使用するロールベースのアクセス制御 (RBAC) AUTH または AUTH トークン (パスワード) を強制することが含まれます。
-
〔最良] Redis OSS 用の ElastiCache バージョン 6.x 以降、Valkey 用の ElastiCache バージョン 7.2 以降では、ユーザーグループ、ユーザー、アクセス文字列を定義して認証と認可のコントロールを定義します。ユーザーをユーザーグループに割り当ててから、ユーザーグループをクラスターに割り当てます。RBAC を利用するには、クラスターの作成時に RBAC を選択し、転送中の暗号化を有効にする必要があります。RBAC を利用するには、TLS をサポートする Valkey または Redis OSS クライアントを使用していることを確認します。
[リソース]:
-
〔最良] 6.x for Redis OSS より前の ElastiCache バージョンでは、強力なトークン/パスワードを設定し、AUTH の厳格なパスワードポリシーを維持するだけでなく、パスワード/トークンを更新することをお勧めします。ElastiCache は一度に最大 2 つの認証トークンを管理できます。また、クラスターを変更して、認証トークンの使用を明示的に要求することもできます。
SEC 3: コマンドが誤って実行され、データが失われたり失敗するリスクはあるか。
質問レベルの導入: 誤って実行されたり、悪意のある攻撃者によって実行されたりすると、オペレーションに悪影響を及ぼす可能性のある Valkey または Redis OSS コマンドが多数あります。これらのコマンドは、パフォーマンスとデータ安全性の観点から、意図しない結果をもたらす可能性があります。例えば、開発者が開発環境で日常的に FLUSHALL コマンドを呼び出している場合、間違って本番システムでこのコマンドを呼び出そうとすると、誤ってデータが失われる可能性があります。
質問レベルのメリット: Redis OSS 用の ElastiCache バージョン 5.0.3 以降では、ワークロードに支障をきたす可能性のある特定のコマンドの名前を変更することができます。コマンドの名前を変更すると、クラスターでコマンドが誤って実行されるのを防ぐことができます。
-
[必須]
[リソース]:
SEC 4: ElastiCache を使用して保存中のデータの暗号化をどのように実現しているか。
質問レベルの紹介: ElastiCache はインメモリデータストアですが、クラスターの標準オペレーションの一部として保持 (ストレージ上) される可能性のあるデータを暗号化できます。これには、Amazon S3 に書き込まれたスケジュールバックアップと手動バックアップ、および同期およびスワップオペレーションの結果としてディスクストレージに保管されたデータが含まれます。M6g および R6g ファミリーのインスタンスタイプには、常時オンのインメモリ暗号化も備わっています。
質問レベルの利点: ElastiCache は、データセキュリティを向上させるために、保管時の暗号化をオプションで提供します。
-
[必須] 保管時の暗号化は、ElastiCache クラスター (レプリケーショングループ) に対してその作成時にのみ有効にできます。既存のクラスターを変更して、保管中のデータの暗号化を開始することはできません。デフォルトでは、保管中の暗号化に使用されるキーは ElastiCache が提供および管理します。
[リソース]:
-
[最良]メモリ内にあるデータを暗号化する Amazon EC2 インスタンスタイプ (M6g や R6g など) を活用します。可能な場合は、保管中の暗号化に独自のキーを管理することを検討してください。より厳格なデータセキュリティ環境では、 AWS Key Management Service (KMS) を使用してカスタマーマスターキー (CMK) を自己管理できます。ElastiCache と の統合により AWS Key Management Service、ElastiCache クラスターの保管中のデータの暗号化に使用されるキーを作成、所有、管理できます。
[リソース]:
SEC 5: 転送中のデータを ElastiCache でどのように暗号化するか。
質問レベルの導入: 一般要件として、転送中のデータ漏えいを防止することが必要です。これには、分散システムのコンポーネント内のデータだけでなく、アプリケーションクライアントとクラスターノード間のデータも含まれます。ElastiCache は、クライアントとクラスター間、およびクラスターノード自体間で転送中のデータを暗号化できるようにすることで、この要件をサポートします。M6g および R6g ファミリーのインスタンスタイプには、常時オンのインメモリ暗号化も備わっています。
質問レベルのメリット: Amazon ElastiCache 転送時の暗号化は、ある場所から別の場所に移動するときに、データの最も脆弱なポイントでのデータのセキュリティを強化できるオプション機能です。
-
〔必須] 転送時の暗号化は、作成時にクラスター (レプリケーショングループ) でのみ有効にできます。データの暗号化または復号化には追加の処理が必要なため、転送中の暗号化を実装すると、パフォーマンスにいくらか影響があることに注意してください。この影響について理解するため、転送中の暗号化を有効にする前と後にワークロードのベンチマークを行うことをお勧めします。
[リソース]:
SEC 6: コントロールプレーンリソースへのアクセスをどのように制限するか。
質問レベルの紹介: IAM ポリシーと ARN によりElastiCache for Valkey および Redis OSS のきめ細かなアクセスコントロールが可能になり、クラスターの作成、変更、削除をより厳密に制御できます。
質問レベルのメリット: レプリケーショングループ、ノードなどの Amazon ElastiCache リソースの管理を、IAM ポリシーに基づいて特定の権限を持つ AWS アカウントに制限できるため、リソースのセキュリティと信頼性が向上します。
-
〔必須] 特定の AWS Identity and Access Managementポリシーを AWS ユーザーに割り当てることで Amazon ElastiCache リソースへのアクセスを管理し、どのアカウントがクラスターでどのアクションを実行できるかをより細かく制御できます。
[リソース]:
SEC 7: セキュリティイベントをどのように検出して対応しているか。
質問レベルの紹介: ElastiCache は RBAC を有効にしてデプロイするとき、CloudWatch メトリクスをエクスポートしてユーザーにセキュリティイベントを通知します。これらのメトリクスは、接続する RBAC ユーザーに許可されていない認証、キーのアクセス、コマンドの実行の試みが失敗したことを特定するのに役立ちます。
さらに、 AWS 製品とサービスのリソースは、デプロイを自動化し、すべてのアクションと変更をログに記録して後でレビュー/監査できるようにすることで、ワークロード全体を保護するのに役立ちます。
質問レベルのメリット: イベントをモニタリングすることで、組織は要件、ポリシー、手順に従って対応できるようになります。これらのセキュリティイベントのモニタリングと対応を自動化すると、全体的なセキュリティ体制が強化されます。
-
[必須] RBAC 認証と認可の失敗に関連する発行済みの CloudWatch メトリクスをよく理解しておきます。
-
AuthenticationFailures = Valkey または Redis OSS への認証の試みに失敗
-
KeyAuthorizationFailures = ユーザーによる許可のないキーへのアクセスの試みの失敗
-
CommandAuthorizationFailures = ユーザーによる許可のないコマンドの実行の試みの失敗
[リソース]:
-
-
[最良] これらのメトリクスにアラートと通知を設定し、必要に応じて対応することをお勧めします。
[リソース]:
-
[最良] Valkey または Redis OSS ACL LOG コマンドを使用して詳細を収集します
[リソース]:
-
[最良] ElastiCache のデプロイとイベントのモニタリング、ロギング、分析に関連する AWS 製品とサービスの機能についてよく理解しておきます。
[リソース]: