使用 SSL/HTTPS 加密与亚马逊 Neptune 数据库的连接 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 SSL/HTTPS 加密与亚马逊 Neptune 数据库的连接

引擎版本 1.0.4.0 开始,Amazon Neptune 仅允许使用安全套接字层 (SSL) 连接通过 HTTPS 连接到任何实例或集群端点。

Neptune 至少需要 TLS 版本 1.2,使用以下强密码套件:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

从 Neptune 引擎版本 1.3.2.0 开始,Neptune 使用以下密码套件支持 TLS 版本 1.3:

  • TLS_AES_128_GCM_ SHA256

  • TLS_AES_256_GCM_ SHA384

即使在早期引擎版本中允许 HTTP 连接的地方,默认情况下,任何使用新数据库集群参数组的数据库集群都需要使用 SSL。为了保护您的数据,引擎版本 1.0.4.0 及以上版本的 Neptune 端点仅支持 HTTPS 请求。请参阅使用 HTTP REST 端点连接到 Neptune 数据库实例了解更多信息。

Neptune 自动为 Neptune 数据库实例提供 SSL 证书。您无需请求任何证书。证书在您创建新实例时提供。

Neptune 为您账户中的每个区域的实例分配一个通配符 SSL 证书。 Amazon 证书提供集群终端节点、集群只读终端节点和实例终端节点的条目。

证书详细信息

以下条目包含在提供的证书中:

  • 集群端点 — *.cluster-a1b2c3d4wxyz.region.neptune.amazonaws.com

  • 只读端点 — *.cluster-ro-a1b2c3d4wxyz.region.neptune.amazonaws.com

  • 实例端点 — *.a1b2c3d4wxyz.region.neptune.amazonaws.com

仅支持此处列出的条目。

代理连接

证书仅支持上一节中列出的主机名。

如果您使用的是负载平衡器或代理服务器(例如 HAProxy),则必须使用 SSL 终止并在代理服务器上拥有自己的 SSL 证书。

SSL 传递不起作用,因为提供的 SSL 证书与代理服务器主机名不匹配。

根 CA 证书

Neptune 实例的证书一般将通过操作系统的本地信任存储或 SDK(如 Java SDK)来进行验证。

如果您需要手动提供根证书,可以从 Amazon 信任服务策略存储库中下载 PEM 格式的 Amazon 根 CA 证书

更多信息

有关使用 SSL 连接到 Neptune 端点的更多信息,请参阅设置 Gremlin 控制台以连接到 Neptune 数据库实例使用 HTTP REST 端点连接到 Neptune 数据库实例