VPC エンドポイント によるサービスのアクセスコントロール - Amazon Virtual Private Cloud

VPC エンドポイント によるサービスのアクセスコントロール

エンドポイントを作成するときは、接続先のサービスへのアクセスを制御するエンドポイントポリシーを、エンドポイントにアタッチできます。エンドポイントのポリシーは、JSON 形式で記述される必要があります。すべてのサービスがエンドポイントポリシーをサポートしているわけではありません。

Amazon S3 へのエンドポイントを使用する場合、Amazon S3 バケットポリシーを使用して、特定のエンドポイントまたは特定の VPC からのバケットへのアクセスを制御できます。詳細については、「Amazon S3 バケットポリシーの使用」を参照してください。

VPC エンドポイント ポリシーの使用

VPC エンドポイントポリシーは、エンドポイントの作成時または変更時にエンドポイントにアタッチする IAM リソースポリシーです。エンドポイントの作成時にポリシーをアタッチしない場合、サービスへのフルアクセスを許可するデフォルトのポリシーがアタッチされます。サービスがエンドポイントポリシーをサポートしていない場合、エンドポイントはサービスへのフルアクセスを許可します。エンドポイントポリシーは、IAM ユーザーポリシーやサービス固有のポリシー (S3 バケットポリシーなど) を上書き、または置き換えません。これは、エンドポイントから指定されたサービスへのアクセスを制御するための別のポリシーです。

1 つのエンドポイントに複数のポリシーを関連付けることはできません。ただし、ポリシーはいつでも変更できます。ポリシーを変更した場合、変更が適用されるまで数分かかることがあります。ポリシーの詳細については、IAM ユーザーガイドの「IAM ポリシーの概要」を参照してください。

エンドポイントポリシーは、他の IAM ポリシーと同様にすることができます。ただし、以下のことに注意してください。

  • 指定されたサービスに関連するポリシーの一部のみが機能します。エンドポイントポリシーを使用して、VPC のリソースによる他のアクションの実行を許可することはできません。たとえば、Amazon S3 へのエンドポイント用のエンドポイントポリシーに EC2 アクションを追加しても、効果はありません。

  • ポリシーには、プリンシパル要素を含める必要があります。ゲートウェイエンドポイントに関する追加情報については、「ゲートウェイエンドポイントのエンドポイントポリシー」を参照してください。

  • エンドポイントポリシーのサイズが 20,480 文字を超えることはできません (空白を含む)。

次のサービスでは、エンドポイントポリシーをサポートします。

ゲートウェイエンドポイントのエンドポイントポリシー

ゲートウェイエンドポイントに適用されるエンドポイントポリシーの場合、Principal 要素を特定の IAM ロールまたはユーザーに制限することはできません。"*" を指定して、すべての IAM ロールおよびユーザーへのアクセス権を付与できます。"AWS":"AWS-account-ID" または "AWS":"arn:aws:iam::AWS-account-ID:root" 形式で Principal を指定した場合、アクセス権は AWS アカウントのルートユーザーのみに付与され、アカウントのすべての IAM ユーザーとロールには付与されません。

ゲートウェイエンドポイントの使用を特定のプリンシパルに制限するには、エンドポイントポリシーの Condition 要素を使用し、AWS: PrincipalArn 条件キーを指定します。次に例を示します。

"Condition": { "StringEquals": { "aws:PrincipalArn": "arn:aws:iam::123456789012:user/endpointuser" } }

Amazon S3 および DynamoDB のエンドポイントのポリシーの例については、以下のトピックを参照してください。

セキュリティグループ

デフォルトでは、特にアウトバウンドアクセスを制限していない限り、Amazon VPC セキュリティグループですべてのアウトバウンドトラフィックが許可されます。

インターフェイスエンドポイントの作成時に、VPC で作成されたエンドポイントネットワークインターフェイスにセキュリティグループを関連付けることができます。セキュリティグループを指定しないと、エンドポイントネットワークインターフェイスには、VPC のデフォルトのセキュリティグループが自動的に関連付けられます。セキュリティグループのルールが、エンドポイントネットワークインターフェイスと VPC 内のリソース (サービスと通信するリソース) との通信を許可することを確認する必要があります。

ゲートウェイエンドポイントについては、セキュリティグループのアウトバウンドルールが制限されている場合、VPC からエンドポイントで指定されたサービスへのアウトバウンドトラフィックを許可するルールを追加する必要があります。これを行うには、アウトバウンドルールでサービスの AWS プレフィックスリスト ID を送信先として使用できます。詳細については、「セキュリティグループの変更」を参照してください。