

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

# 选择外部密钥存储代理连接选项
<a name="choose-xks-connectivity"></a>

在创建外部密钥库之前，请选择决定与外部密钥库组件 AWS KMS 通信方式的连接选项。您选择的连接选项决定了规划过程的剩余步骤。

如果要创建外部密钥存储库，则需要确定 AWS KMS 与[外部密钥存储代理](keystore-external.md#concept-xks-proxy)的通信方式。此选项将决定您需要哪些组件以及如何配置它们。 AWS KMS 支持以下连接选项。
+ [公有端点连接](#xks-connectivity-public-endpoint)
+ [VPC 端点服务连接](#xks-vpc-connectivity)

选择能满足性能和安全目标的选项。

在开始之前，[请确认您需要外部密钥存储](keystore-external.md#do-i-need-xks)。大多数客户都可以使用由密钥材料支持的 KMS AWS KMS 密钥。

**注意事项**
+ 如果您的外部密钥存储代理构建到外部密钥管理器中，则您的连接可能是预先确定的。有关详细信息，请参阅外部密钥管理器或外部密钥存储代理的文档。
+ 即使在正在运行的外部密钥存储上，您也可以[更改外部密钥存储代理的连接选项](update-xks-keystore.md)。但是，必须仔细规划和执行该过程，以尽可能减少中断和避免错误，并确保继续访问加密数据的加密密钥。

## 公有端点连接
<a name="xks-connectivity-public-endpoint"></a>

AWS KMS 使用公共端点通过互联网连接到外部密钥存储代理（XKS 代理）。

此连接选项更易于设置和维护，并且可以与某些密钥管理模型很好地匹配。但是，此选项可能无法满足某些组织的安全要求。

![公有端点连接](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/xks-public-endpoint-60.png)


**要求**

如果您选择公有端点连接，则需要满足以下条件。
+ 您的外部密钥存储代理必须可以在可公开路由的端点上访问。
+ 您可以将同一个公有端点用于多个外部密钥存储，前提是这些外部密钥存储使用不同的[代理 URI 路径](create-xks-keystore.md#require-path)值。
+ 对于具有公共终端节点连接的外部密钥存储库，以及任何具有 VPC 终端节点服务连接的外部密钥存储库 AWS 区域，即使密钥存储库位于不同的位置，您也不能使用相同的终端节点 AWS 账户。
+ 您必须获得由外部密钥存储支持的公有证书颁发机构颁发的 TLS 证书。有关列表，请参阅 [Trusted Certificate Authorities](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities)（受信任的证书颁发机构）。

  TLS 证书上的主题公用名（CN）必须与外部密钥存储代理的[代理 URI 端点](create-xks-keystore.md#require-endpoint)中的域名相匹配。例如，如果公有端点是 `https://myproxy.xks.example.com`，即 TLS，则 TLS 证书上的 CN 必须为 `myproxy.xks.example.com` 或 `*.xks.example.com`。
+ 确保与外部密钥存储代理 AWS KMS 之间的任何防火墙都允许进出代理上端口 443 的流量。 AWS KMS 通过端口 443 进行通信。 IPv4此值不可配置。

有关外部密钥存储的所有要求，请参阅 [Assemble the prerequisites](create-xks-keystore.md#xks-requirements)（汇编先决条件）。

## VPC 端点服务连接
<a name="xks-vpc-connectivity"></a>

AWS KMS 通过创建与您创建和配置的 Amazon VPC 终端节点服务的接口终端节点来连接到外部密钥存储代理（XKS 代理）。您负责[创建 VPC 端点服务](vpc-connectivity.md)并将您的 VPC 连接到外部密钥管理器。

您的终端节点服务可以使用任何[支持的 network-to-Amazon VPC 选项](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)进行通信，包括[AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/)。

此连接选项的设置和维护更为复杂。但是它使用了 AWS PrivateLink，这样就可以在不使用公共互联网的情况下私下 AWS KMS 连接到您的 Amazon VPC 和外部密钥存储代理。

您可以在您的 Amazon VPC 中找到外部密钥存储代理。

![VPC 端点服务连接 – VPC 中的 XKS 代理](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/xks-proxy-in-vpc-60.png)


或者，您可以将外部密钥存储代理放在外部， AWS 云 并仅使用您的 Amazon VPC 终端节点服务进行安全通信 AWS KMS。

![VPC 终端节点服务连接-外部的 XKS 代理 AWS](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/xks-proxy-via-vpc-60.png)


您也可以将外部密钥存储连接到另一个密钥存储库拥有的 Amazon VPC 终端节点服务 AWS 账户。两者都 AWS 账户 需要[必要的权限](authorize-xks-key-store.md#authorize-xks-managers)才能允许与 VPC 终端节点服务 AWS KMS 之间的通信 

**了解更多：**
+ 查看创建外部密钥存储的过程，包括[汇编先决条件](create-xks-keystore.md#xks-requirements)。这将帮助您确保在创建外部密钥存储时拥有所需的所有组件。
+ 了解如何[控制对外部密钥存储的访问](authorize-xks-key-store.md)，包括外部密钥存储管理员和用户所需的权限。
+ 了解 AWS KMS 记录外部密钥存储的 [Amazon CloudWatch 指标和维度](monitoring-cloudwatch.md#kms-metrics)。我们强烈建议您创建警报来监控外部密钥存储，以便您就可以检测出性能和操作问题的早期迹象。