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

AIDE REST API 的驗證與授權

貢獻者 dmp-netapp netapp-dbagwell

在使用 ONTAP REST API 和 AIDE 擴充功能之前、您應該瞭解驗證和授權選項。

ONTAP REST API 驗證選項

ONTAP REST API 支援兩種主要的驗證技術。

基本驗證

基本驗證是 HTTP 協定中定義的簡單技術。使用基本驗證,您需要在 API 呼叫的 Authorization 標頭中提供使用者名稱和密碼(組合後以 base64 編碼)。雖然不建議將其用於 AIDE REST API,但仍可用於現有的 ONTAP API 呼叫。

OAuth 2.0 驗證

從 9.14.1 版本開始,ONTAP 也支援 OAuth 2.0。這是一種更安全、更靈活的身份驗證框架。使用 OAuth 2.0 時,您需要從外部身分提供者(IdP)請求存取令牌,並將其包含在每個 HTTP 請求中。

AI Data Engine 和 OpenID Connect

OpenID Connect(OIDC)基於 OAuth 2.0 構建,為使用者和應用程式身份驗證提供安全且標準化的選項。存取 AIDE 功能和相關資料運算節點服務需要 OIDC。在您"在 ONTAP 中為 AIDE 設定 OpenID Connect"之後,對 ONTAP System Manager 和內建 Swagger 頁面的存取將受到 OIDC 身份驗證的保護。

在 ONTAP System Manager 中設定 OIDC 時,OAuth 2.0 會自動啟用並建立一個 OAuth 2.0 用戶端。之後,您可以透過身分識別提供者(IdP)的 token_endpoint 取得存取權杖,該端點通常可以從 IdP 中繼資料 URI 中取得。存取權杖需要包含在 API 呼叫的 Authorization 標頭中,以便對 AIDE 資源進行身份驗證和授權存取。

ONTAP RBAC 實作的增強功能

對 AIDE REST API 的存取受到 ONTAP 基於角色的存取控制(RBAC)框架的保護。使用者必須在 ONTAP 中擁有對應的角色和權限才能存取 AIDE 資源並透過 REST API 執行操作。

還有兩個額外的 ONTAP 角色支援 AIDE。您的身分提供者(IdP)中定義的等效外部角色需要對應到這些 ONTAP 角色,才能提供對 AIDE 資源的必要存取。

註 除了新增的兩個 ONTAP 角色之外、您還需要將外部儲存管理員角色對應到現有的 ONTAP admin 角色。請參閱"AI Data Engine 元件和基於角色的互動""在 ONTAP 中為 AIDE 設定 OpenID Connect"以取得更多資訊。
資料工程師

這是為 AIDE Data Engineer 預先定義的 ONTAP 管理角色。它僅限制對執行 AIDE 資料工程任務所需的端點以及相應的 CLI 命令目錄的存取,包括處理工作區和資料集合、查看作業以及在允許的情況下使用檔案預覽。

資料科學家

這是為 AIDE Data Scientist 預先定義的第二個 ONTAP 管理角色。它同樣限制了對 AIDE Data Scientist 工作流程所需的 REST API 和對應 CLI 命令目錄的存取。

取得存取權杖

您需要取得存取權杖才能使用 REST API 呼叫。權杖要求是在 ONTAP 之外執行、確切的程序取決於授權伺服器及其組態。您可以透過網頁瀏覽器、使用 curl 命令或使用程式設計語言來要求權杖。為了說明目的、以下提供如何使用 curl 從 Microsoft Entra ID 要求存取權杖的範例。

開始之前

請注意以下事項:

  • 您必須"在 ONTAP 中為 AIDE 設定 OpenID Connect"擁有一個支援 AIDE 的叢集。

  • 確定您的 IdP 的 token_endpoint,通常可透過 OIDC 元資料 URI 取得。

  • 根據您的 IdP 找到組態的適當值,例如 CLIENT_ID。

  • TENANT_ID、CLIENT_ID 和 CLIENT_SECRET 等組態參數採用 UUID 格式。USERNAME 和 PASSWORD 為純文字憑證。

  • 您也可以選擇在 Bash shell 中定義變數值,以便與 curl 指令一起使用。

步驟
  1. 在本機工作站的 CLI 發出下列命令,根據您的環境提供變數值:

    curl --location "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode "grant_type=password" \
    --data-urlencode "client_id=$CLIENT_ID" \
    --data-urlencode "client_secret=$CLIENT_SECRET" \
    --data-urlencode "scope=$SCOPE/.default" \
    --data-urlencode "username=$USERNAME" \
    --data-urlencode "password=$PASSWORD"
  2. 檢閱回應並擷取存取權杖,以便在 REST API 呼叫中使用。