VPC エンドポイントと IAM ポリシーを使用した DynamoDB 接続の保護 - Amazon DynamoDB

VPC エンドポイントと IAM ポリシーを使用した DynamoDB 接続の保護

接続は、Amazon DynamoDB とオンプレミスのアプリケーション間、および同じの AWS リージョン内の DynamoDB と他の AWS リソース間で保護されます。

エンドポイントに必要なポリシー

Amazon DynamoDB には、リージョンのエンドポイント情報を列挙できる DescribeEndpoints API が用意されています。パブリック DynamoDB エンドポイントへのリクエストの場合、API は、IAM または VPC エンドポイントポリシーに明示的または暗黙的な拒否があっても、設定された DynamoDB IAM ポリシーに関係なく応答します。これは、DynamoDB が DescribeEndpoints API の承認を意図的にスキップするためです。

VPC エンドポイントからのリクエストの場合、IAM エンドポイントポリシーと仮想プライベートクラウド (VPC) エンドポイントポリシーの両方が、IAM の dynamodb:DescribeEndpoints アクションを使用して、リクエスト元の ID およびアクセス管理 (IAM) プリンシパルの DescribeEndpoints API コールを承認する必要があります。それ以外の場合、DescribeEndpoints API へのアクセスは拒否されます。

以下は、エンドポイントポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "(Include IAM Principals)", "Action": "dynamodb:DescribeEndpoints", "Resource": "*" } ] }

サービスとオンプレミスのクライアントおよびアプリケーションとの間のトラフィック

プライベートネットワークと AWS との間には 2 つの接続オプションがあります:

  • AWS Site-to-Site VPN 接続。詳細については、AWS Site-to-Site VPN ユーザーガイド「AWS Site-to-Site VPN とは」を参照してください。

  • AWS Direct Connect 接続。詳細については、AWS Direct Connect ユーザーガイド「AWS Direct Connect とは」を参照してください。

ネットワークを介した DynamoDB へのアクセスは、AWS が発行する API を利用して行われます。クライアントは Transport Layer Security (TLS) 1.2 をサポートしている必要があります。TLS 1.3 をお勧めします。クライアントは、Ephemeral Diffie-Hellman (DHE) や Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) などの Perfect Forward Secrecy (PFS) を備えた暗号スイートもサポートする必要があります。これらのモードは、Java 7 以降など、最近のほとんどのシステムでサポートされています。また、リクエストには、IAM プリンシパルに関連付けられたアクセスキー ID およびシークレットアクセスキーによる署名が必要です。または、リクエストへの署名のために一時的にセキュリティ認証情報を生成する AWS Security Token Service (STS) を使用することもできます。

同じリージョン内の AWS リソース間のトラフィック

Amazon Virtual Private Cloud (Amazon VPC) endpoint for DynamoDB は、DynamoDB への接続のみを許可する VPC 内の論理エンティティです。Amazon VPC はリクエストを DynamoDB にルーティングし、レスポンスを VPC にルーティングします。詳細については、Amazon VPC ユーザーガイドの「VPC エンドポイント」を参照してください。VPC エンドポイントからのアクセスのコントロールに使用できるポリシーの例については、「IAM ポリシーを使用して DynamoDB へのアクセスをコントロールします」を参照してください。

注記

Amazon VPC エンドポイントには、AWS Site-to-Site VPN または AWS Direct Connect を使用してアクセスすることはできません。