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-urlhttps://vpce-1234abcdf5678c90a-09p7654s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com
- 必要なアクセス許可
-
VPC エンドポイントを使用する AWS KMS リクエストが成功するには、プリンシパルに 2 つのソースからのアクセス許可が必要です。
例えば、キーポリシーがプリンシパルに、特定の 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」を参照してください。