Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用相互 TLS 的用戶端驗證

貢獻者

視您的安全需求而定、您可以選擇性地設定相互 TLS ( MTLS )來實作強式用戶端驗證。搭配 ONTAP 搭配 OAuth 2.0 部署使用時、 MTLS 保證存取權杖只能由最初核發的用戶端使用。

與 OAuth 2.0 共同使用 TLS

傳輸層安全性( TLS )用於在兩個應用程式(通常是用戶端瀏覽器和 Web 伺服器)之間建立安全的通訊通道。相互 TLS 可透過用戶端憑證提供用戶端的強大識別功能、藉此延伸此功能。在具有 OAuth 2.0 的 ONTAP 叢集中使用時、可透過建立和使用寄件者限制的存取權杖來擴充基礎 MTLS 功能。

傳送者限制的存取權杖只能由最初核發的用戶端使用。若要支援此功能、請提出新的確認聲明 (cnf)插入令牌中。欄位包含內容 x5t#S256 其中包含要求存取權杖時所使用的用戶端憑證摘要。此值由 ONTAP 驗證、作為驗證權杖的一部分。未受寄件者限制的授權伺服器所核發的存取權杖、不包含額外的確認宣告。

您需要將 ONTAP 設定為針對每個授權伺服器分別使用 MTLS 。例如、 CLI 命令 security oauth2 client 包含參數 use-mutual-tls 根據下表所示的三個值來控制 MTLS 處理。

註 在每個組態中、 ONTAP 所採取的結果和行動、都要視組態參數值、以及存取權杖和用戶端憑證的內容而定。表格中的參數是從最少組織到最嚴格的組織。
參數 說明

授權伺服器的 OAuth 2.0 相互 TLS 驗證已完全停用。ONTAP 不會執行 MTLS 用戶端憑證驗證、即使憑證中有確認宣告、或是用戶端憑證隨附 TLS 連線。

要求

如果用戶端提供寄件者限制的存取權杖、則會強制執行 OAuth 2.0 相互 TLS 驗證。也就是說、只有在確認宣告(含屬性)時、才會強制執行 MTLS x5t#S256)存在於存取權杖中。這是預設設定。

必要

對於由授權伺服器發出的所有存取權杖、都會強制執行 OAuth 2.0 相互 TLS 驗證。因此、所有存取權杖都必須受寄件者限制。如果存取權杖中沒有確認宣告、或是用戶端憑證無效、驗證和 REST API 要求就會失敗。

高階實作流程

在 ONTAP 環境中搭配 OAuth 2.0 使用 MTLS 時所涉及的一般步驟如下所示。請參閱 "RFC 8705 : OAuth 2.0 雙向 TLS 用戶端驗證和憑證繫結存取權杖" 以取得更多詳細資料。

步驟 1 :建立及安裝用戶端憑證

建立用戶端身分識別的基礎、是證明客戶端私密金鑰的知識。對應的公開金鑰會放置在用戶端提供的簽署 X.509 憑證中。在較高層級、建立用戶端憑證所涉及的步驟包括:

  1. 產生公開金鑰與私密金鑰配對

  2. 建立憑證簽署要求

  3. 將 CSR 檔案傳送至知名的 CA

  4. CA 會驗證要求並核發簽署的憑證

您通常可以在本機作業系統中安裝用戶端憑證、或直接搭配一般公用程式(例如 Curl )使用。

步驟 2 :將 ONTAP 設定為使用 MTLS

您需要設定 ONTAP 以使用 MTLS 。每個授權伺服器都會分別完成此組態設定。例如、使用 CLI 命令 security oauth2 client 與選用參數搭配使用 use-mutual-tls。請參閱 "在 ONTAP 中部署 OAuth 2.0" 以取得更多資訊。

步驟 3 :用戶端要求存取權杖

用戶端需要從設定為 ONTAP 的授權伺服器要求存取權杖。用戶端應用程式必須在步驟 1 中建立並安裝憑證時使用 MTLS 。

步驟 4 :授權伺服器會產生存取權杖

授權伺服器會驗證用戶端要求並產生存取權杖。在此過程中、它會建立用戶端憑證的訊息摘要、並將其作為確認宣告(欄位 cnf)。

步驟 5 :用戶端應用程式會將存取權杖呈現給 ONTAP

用戶端應用程式會對 ONTAP 叢集進行 REST API 呼叫、並在授權要求標頭中以 * 承載權杖 * 的形式包含存取權杖。用戶端必須使用 MTLS 搭配用於要求存取權杖的相同憑證。

步驟 6 : ONTAP 會驗證用戶端和權杖。

ONTAP 會在 HTTP 要求中接收存取權杖、以及作為 MTLS 處理一部分的用戶端憑證。ONTAP 會先驗證存取權杖中的簽章。根據組態、 ONTAP 會產生用戶端憑證的訊息摘要、並將其與權杖中的確認宣告 cnf 進行比較。如果這兩個值相符、 ONTAP 已確認發出 API 要求的用戶端與最初發出存取權杖的用戶端相同。