DynamoDB での予防的セキュリティのベストプラクティス - Amazon DynamoDB

DynamoDB での予防的セキュリティのベストプラクティス

以下のベストプラクティスは、Amazon DynamoDB のセキュリティインシデントの予防に役立ちます。

保管時の暗号化

DynamoDB は、AWS Key Management Service (AWS KMS) に保存されているテーブル、インデックス、ストリーミング、Backup に保存されているすべてのユーザーデータを保存時に暗号化します。この機能は、基になるストレージへの不正アクセスからデータを保護することによって、データ保護の追加レイヤーを提供します。

DynamoDB でユーザーデータを暗号化するために AWS 所有の CMK (デフォルトの暗号化タイプ) を使用するか、AWS マネージド CMK を使用するかを指定できます。詳細については、「保管時の Amazon DynamoDB 暗号化」を参照してください。

IAM ロールを使用した DynamoDB へのアクセス認証

ユーザー、アプリケーション、およびその他の AWS サービスが DynamoDB にアクセスするには、有効な AWS 認証情報が AWS API リクエストに含まれている必要があります。アプリケーションまたは EC2 インスタンスに AWS 認証情報を直接保存しないでください。自動更新されない長期認証情報条件のため、漏洩すると業務に深刻な悪影響が及ぶ可能性があります。IAM ロールでは、AWS サービスおよびリソースにアクセスするために使用できる一時的なアクセスキーを有効にすることができます。

詳細については、「認証」を参照してください。

IAM ポリシーを使用した DynamoDB ベース認可

許可を付与する場合、許可を取得するユーザー、取得する許可の対象となる DynamoDB API、およびそれらのリソースに対して許可される特定のアクションを決定します。最小限の特権の実装は、セキュリティリスクはもちろん、エラーや悪意ある行動によってもたらされる可能性のある影響を減らす上での鍵となります。

IAM アイデンティティ (ユーザー、グループ、ロール) にアクセス権限ポリシーをアタッチし、DynamoDB リソースでオペレーションを実行する許可を付与します。

これを行うには、次を使用します。

詳細に設定されたアクセスコントロールのための IAM ポリシー条件を使用する

DynamoDB でアクセス権限を付与するときは、アクセス権限ポリシーを有効にする方法を決める条件を指定できます。最小限の特権の実装は、セキュリティリスクはもちろん、エラーや悪意ある行動によってもたらされる可能性のある影響を減らす上での鍵となります。

IAM ポリシーを使用して、アクセス許可を付与するときに条件を指定できます。例えば、次の操作を実行できます。

  • テーブルまたはセカンダリインデックス内の項目と属性に対する読み込み専用アクセスをユーザーに許可する許可を付与します。

  • ユーザーのアイデンティティに基づいて、テーブルの特定の属性への書き込み専用アクセスのアクセス権限をユーザーに付与します。

詳細については、「詳細に設定されたアクセスコントロールのための IAM ポリシー条件の使用」を参照してください。

VPC エンドポイントとポリシーを使用した DynamoDB へのアクセス

Virtual Private Cloud (VPC) 内からのみ DynamoDB にアクセスする必要がある場合は、VPC エンドポイントを使用して、必要な VPC からのみのアクセスに制限する必要があります。これにより、トラフィックがオープンインターネットを通過してその環境に晒されるのを防ぐことができます。

DynamoDB の VPC エンドポイントを使用すると、以下を使用してアクセスを制御および制限できます。

  • VPC エンドポイントポリシー — これらのポリシーは DynamoDB VPC エンドポイントに適用されます。DynamoDB テーブルへの API アクセスを制御および制限が許可されます。

  • IAM ポリシー — IAM ユーザー、グループ、またはロールにアタッチされたポリシーで aws:sourceVpce 条件を使用すると、DynamoDB テーブルへのすべてのアクセスが指定の VPC エンドポイントを経由するよう強制できます。

詳細については、「Amazon DynamoDB のエンドポイント」を参照してください。

クライアント側の暗号化を考慮する

機密データや機密データを DynamoDB に保存する場合は、データを可能な限りオリジンの近くで暗号化して、ライフサイクル全体にわたってデータを保護することを検討してください。伝送中および保管時の機密データを暗号化することで、サードパーティーがお客様のプレーンテキストデータを使用することはできません。

Amazon DynamoDB 暗号化クライアントは、DynamoDB に送信する前にテーブルデータを保護するのに役立つソフトウェアライブラリです。

DynamoDB 暗号化クライアントの中核には、テーブル項目を暗号化、署名、検証、復号する項目エンクリプタがあります。テーブル項目に関する情報と、暗号化して署名する項目に関する指示が取り込まれます。選択して設定した暗号化マテリアルプロバイダーから、暗号化マテリアルとその使用方法に関する指示が取得されます。