

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 连接到 AWS KMS VPC 终端节点
<a name="vpce-connect"></a>

您可以使用 AWS SDK、或， AWS KMS 通过 VPC 终端节点连接到 AWS Tools for PowerShell。 AWS CLI要指定 VPC 端点，请使用其 DNS 名称。

例如，此 [list-keys](https://docs.aws.amazon.com/cli/latest/reference/kms/list-keys.html) 命令使用 `endpoint-url` 参数指定 VPC 终端节点。要使用类似命令，请将示例中的 VPC 终端节点 ID 替换为您账户中的 ID。

```
$ aws kms list-keys --endpoint-url https://vpce-1234abcdf5678c90a-09p7654s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com
```

**所需的权限**  
要使使用 VPC 终端节点的 AWS KMS 请求成功，委托人需要来自两个来源的权限：  
+ [密钥策略](key-policies.md)、[IAM policy](iam-policies.md) 或者[授权](grants.md)必须授予委托人对资源（KMS 密钥或别名）调用操作的权限。
+ VPC 终端节点策略必须授予委托人使用终端节点发出请求的权限。
例如，密钥策略可能授予委托人对特定 KMS 密钥调用 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 的权限。但是，VPC 终端节点策略可能不允许该委托人通过使用终端节点对该 KMS 密钥调用 `Decrypt`。  
或者，VPC 终端节点策略可能允许委托人使用终端节点调[DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)用某些 KMS 密钥。但是，如果委托人没有来自密钥策略、IAM policy 或授权的权限，请求将失败。  
您可以在创建终端节点时创建 VPC 端点策略，并且可以随时更改 VPC 端点策略。使用 VPC 管理控制台或[CreateVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpoint.html)或[ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html)操作。您也可以[使用 AWS CloudFormation 模板](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)创建和更改 VPC 终端节点策略。有关使用 VPC 管理控制台的帮助，请参阅 *AWS PrivateLink 指南*中的[创建接口终端节点](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint)和[修改接口终端节点](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#modify-interface-endpoint)。

**私有主机名**  
如果在创建 VPC 端点时启用了私有主机名，则无需在 CLI 命令或应用程序配置中指定 VPC 端点 URL。标准 AWS KMS DNS 主机名将解析为您的 VPC 端点。 AWS CLI 和默认 SDKs 使用此主机名，因此您可以开始使用 VPC 终端节点连接到 AWS KMS 区域终端节点，而无需更改脚本和应用程序中的任何内容。  
要使用私有主机名，您的 VPC 的 `enableDnsHostnames` 和 `enableDnsSupport` 属性必须设置为 `true`。要设置这些属性，请使用[ModifyVpcAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcAttribute.html)操作。有关详细信息，请参阅《Amazon VPC 用户指南》中的[查看和更新 VPC 的 DNS 属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。**