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

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

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

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

保管時の暗号化

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

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

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

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

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

DynamoDB ベース認証に IAM ポリシーを使用する

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

IAM ID (ユーザー、グループ、ロール) にアクセス権限ポリシーをアタッチし、それによって DynamoDB リソースでオペレーションを実行するアクセス権限を付与します。

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

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

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

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

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

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

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

VPC エンドポイントとポリシーを使用して DynamoDB にアクセスする

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

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

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

  • IAM ポリシー —aws:sourceVpce条件を使用すると、指定した VPC エンドポイント経由で DynamoDB テーブルへのすべてのアクセスを強制できます。

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

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

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

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

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