

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 SSL/HTTPS 加密 Amazon Neptune 資料庫的連線
<a name="security-ssl"></a>

Amazon Neptune 僅允許透過 HTTPS 與任何執行個體或叢集端點進行 Secure Sockets Layer (SSL) 連線。

Neptune 至少需要 TLS 1.2 版，使用以下強式密碼套件：
+ `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256`
+ `TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384`
+ `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`
+ `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384`

從 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 資料庫執行個體](access-graph-sparql-http-rest.md)。

Neptune 會自動為您的 Neptune 資料庫執行個體提供 SSL 憑證。您不需要請求任何憑證。憑證會在您建立新執行個體時提供。

Neptune 會將單一萬用字元 SSL 憑證指派給您帳戶中每個 AWS 區域的執行個體。此憑證為叢集端點、叢集唯讀端點、執行個體端點提供項目。

**憑證詳細資訊**  
提供的憑證包含以下項目：
+ 叢集端點 - `*.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 Trust Services 政策儲存庫](https://www.amazontrust.com/repository/)下載 PEM 格式的 [Amazon 根 CA 憑證](https://www.amazontrust.com/repository/AmazonRootCA1.pem)。

**詳細資訊**  
如需使用 SSL 連線至 Neptune 端點的詳細資訊，請參閱 [設定 Gremlin 主控台來連線至 Neptune 資料庫執行個體](access-graph-gremlin-console.md) 和 [使用 HTTP REST 端點連線到 Neptune 資料庫執行個體](access-graph-sparql-http-rest.md)。