AWS KMS VPC エンドポイントへの接続 - AWS Key Management Service

AWS KMS VPC エンドポイントへの接続

AWS SDK、AWS CLI、または AWS Tools for PowerShell を使用して、VPC エンドポイント経由で AWS KMS に接続できます。VPC エンドポイントを指定するには、DNS 名を使用します。

例えば、この list-keys コマンドは、 endpoint-url パラメータを使用して VPC エンドポイントを指定します。こうしたコマンドを使用するには、サンプルの VPC エンドポイント ID を、ご自身のアカウントのものに置き換えてください。

$ aws kms list-keys --endpoint-url https://vpce-1234abcdf5678c90a-09p7654s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com
必要なアクセス許可

VPC エンドポイントを使用する AWS KMS リクエストが成功するには、プリンシパルに 2 つのソースからのアクセス許可が必要です。

  • キーポリシーIAM ポリシー権限が リソース (KMS キーまたはエイリアス) でオペレーションを呼び出すために、プリンシパルにアクセス許可を付与する必要があります。

  • VPC エンドポイントポリシーは、エンドポイントを使用してリクエストを実行するためのアクセス権限をプリンシパルに付与する必要があります。

例えば、キーポリシーがプリンシパルに、特定の KMS キーで Decrypt を呼び出すためのアクセス許可を付与します。ただし、VPC エンドポイントポリシーは、プリンシパルがエンドポイントを使用して、その KMS キー で Decrypt を呼び出すことを許可しない場合があります。

または、VPC エンドポイントポリシーは、プリンシパルがエンドポイントを使用して、特定の KMS キーで DisableKey を呼び出すことを許可する場合もあります。ただし、プリンシパルにキーポリシー、IAM ポリシー、または付与からのアクセス権限がない場合、リクエストは失敗します。

エンドポイントの作成時に VPC エンドポイントポリシーを作成できます。また、VPC エンドポイントポリシーはいつでも変更できます。VPC マネジメントコンソール、または CreateVPcendPoint オペレーションまたは ModifyVPcendPoint オペレーションを使用します。AWS CloudFormation テンプレートを使用して VPC エンドポイントポリシーを作成および変更することもできます。VPC マネジメントコンソールの使用方法については、AWS PrivateLink ガイドの「Create an interface endpoint」および「Modifying an interface endpoint」を参照してください。

プライベートホスト名

VPC エンドポイントの作成時にプライベートホスト名を有効にした場合は、CLI コマンドまたはアプリケーションの設定で VPC エンドポイント URL を指定する必要はありません。標準の AWS KMS DNS ホスト名は VPC エンドポイントに解決されます。AWS CLI と SDK はデフォルトでこのホスト名を使用します。このため、VPC エンドポイントの使用を開始して、スクリプトやアプリケーションで何も変更することなく AWS KMS リージョンエンドポイントに接続できます。

プライベートホスト名を使用するには、VPC の enableDnsHostnames 属性と enableDnsSupport 属性を true に設定する必要があります。これらの属性を設定するには、 ModifyVpcattribute オペレーションを使用します。詳細については、「Amazon VPC ユーザーガイド」の「View and update DNS attributes for your VPC」を参照してください。