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

在 StorageGRID 中為 OIDC 建立 PingFederate 服務供應商連接

貢獻者 netapp-pcarriga

使用 PingFederate 為系統中每個管理節點建立 OpenID Connect (OIDC) 的服務供應商 (SP) 連線。

開始之前
  • 您在PingFedate伺服器上建立SP連線的經驗豐富。

  • 您擁有 "系統管理員參考指南"PingFederate Server 。PingFedate文件提供詳細的逐步指示和說明。

  • 你有"管理員權限"用於 PingFederate 伺服器。

關於這項工作

以下說明概述如何將 PingFederate 伺服器版本 12.1.10 設定為 StorageGRID 的 SSO 供應商。如果您使用的是其他版本的 PingFederate,則可能需要調整這些說明。有關您所用版本的詳細說明,請參閱 PingFederate 伺服器文件。

除非另有說明,否則請使用預設設定。在某些情況下,您可以使用組織要求的設定,例如身分驗證方法設定。

步驟 1:建立資料儲存區

如果還沒有建立資料儲存區,請建立一個以將 PingFederate 連接到 AD FS LDAP 伺服器。

步驟
  1. 前往 System > Data & Credentials Stores

  2. 選擇 New Data Store

  3. 對於類型,選擇 Directory (LDAP)

  4. 選擇*下一步*。

  5. 在 LDAP 組態下:

    • 請輸入*主機名稱*、使用者 DN(使用者名稱)和*密碼*的值。

      使用您"設定身分識別聯盟"在 StorageGRID 中使用的值。

    • 對於 Active Directory,請選擇 LDAP 類型

步驟 2:建立密碼認證資料驗證器

如果您還沒有、請建立密碼認證驗證程式。

步驟
  1. 選擇 Password Credential Validators > Create New instance

  2. 在「類型」標籤上,輸入以下資訊:

    1. 執行個體名稱和執行個體 ID:兩者可以使用相同的值。

    2. 類型:選擇 LDAP Username Password Credential Validator

  3. 選擇*下一步*。

  4. 在「執行個體組態」索引標籤上,輸入以下資訊:

    • LDAP 資料儲存區:選擇您建立的 資料儲存區

    • 搜尋庫:輸入 LDAP 組態 的相關資訊。

    • 搜尋篩選器:輸入 sAMAccountName=${username}

    • 搜尋範圍:選擇*Subtree*。

  5. 選擇*下一步*。

  6. 在「擴充合約」標籤上,新增下列屬性: memberOfobjectGUIDsAMAccountNamesn,以及 userPrincipalName

  7. 選擇 Next > Save

步驟 3:建立 IdP 介面卡執行個體

如果還沒有建立 IdP(身分供應商)介面卡執行個體,請建立一個。

註 StorageGRID 系統中的每個管理節點都必須具有身分識別提供者 (IdP) 連線。這可確保使用者可以安全地登入和登出任何管理節點。您可以為所有管理節點建立單一 IdP 連線(建議),也可以為每個管理節點建立一個不同的 IdP 連線。
步驟
  1. 轉至*驗證*>*整合*>* IDP介面卡*。

  2. 選擇* Create New Instance*(創建新實例*)。

  3. 在「類型」標籤上,輸入以下資訊:

    • 執行個體名稱和執行個體 ID:兩者可以使用相同的值。

    • 類型:選擇 HTML Form IdP Adapter

  4. 選擇*下一步*。

  5. 在「IdP Adapter」索引標籤上,選取「Add a new row to 'Credential Validators'」。

  6. 選擇您建立的密碼認證驗證工具

  7. 選擇*下一步*。

  8. 在「擴充合約」標籤上,新增您為 密碼認證驗證工具 對應的屬性。

  9. 選擇*下一步*。

  10. 在「介面卡屬性」標籤上,選擇「Pseudonym」的 username 屬性。

  11. 選擇 下一步 > 下一步

  12. 查看摘要並選擇 Save

步驟 4:設定 OAuth 伺服器和授權伺服器設定

設定授權伺服器以支援 StorageGRID 接受的授權類型。

步驟
  1. 前往 System > Authorization Server Settings

  2. 請確認已為「重複使用現有持久存取授權」選取下列授權類型:

    • 隱含

    • 授權碼

    • 資源所有者密碼憑證

      註 如果貴公司限制使用 RESOURCE OWNER PASSWORD CREDENTIALS,則只能使用 AUTHORIZATION CODE。
  3. 對於 OAuth 管理 Web 服務設定,請選擇您建立的 密碼認證驗證工具

步驟 5:定義範圍

在 PingFederate 中定義範圍。

步驟
  1. 前往 System > OAuth Settings > Scope Management

  2. 在「通用範圍」標籤上,如果 openidemailprofile 的值尚不存在,請新增這些值。

步驟 6:設定 IdP 介面卡對應

設定 IdP Adapter Mapping,將 IdP 的屬性對應到核發給用戶端的持久授權,例如存取權杖或重新整理權杖。

步驟
  1. 前往 Authentication > Policy Contract Grant Mapping

  2. 選擇「IdP Adapter Grant Mapping」。

  3. 從「來源介面卡執行個體」下拉式選單中,選擇您建立的HTML 表單介面卡

  4. 選擇 新增映射 > 合約履行

  5. 在「來源」下,為 USER_KEY 和 USER_NAME 選擇 Adapter

  6. 在「值」下,選擇 sAMAccountName 作為 USER_KEY,選擇 username 作為 USER_NAME。

  7. 選擇「下一步」>「下一步」進入摘要頁面。

  8. 選擇*保存*。

步驟 7:設定資源擁有者憑證映射

設定資源擁有者憑證映射,以確保在驗證期間正確驗證使用者憑證。

步驟
  1. 前往 Authentication > Policy Contract Grant Mapping

  2. 選擇「Resource Owner Credentials Grant Mapping」。

  3. 從「來源密碼驗證器執行個體」下拉式選單中,選擇您建立的密碼認證驗證工具

  4. 選擇 新增映射 > 合約履行

  5. 新增 USER_KEY 的映射:

    • 在「來源」下,選取 Password Credential Validator

    • 在「值」下,選擇 sAMAccountName

  6. 選擇「下一步」>「下一步」進入摘要頁面。

  7. 選擇*保存*。

步驟 8:建立或匯入簽署憑證

如果您尚未建立簽署憑證、請建立或匯入簽署憑證。

步驟
  1. 請前往*安全*>*簽署與解密金鑰與憑證*。

  2. 選擇 Create New,然後輸入以下資訊:

    • 通用名稱(CN):這應該是伺服器的完整網域名稱(FQDN)。

    • 組織(Org):請輸入您的組織名稱。

    • 國家:請提供兩位字母的國家代碼,例如,美國為 US。

    • 金鑰演算法:選擇合適的金鑰演算法,例如 RSA

    • 金鑰長度:設定為 2048 位元。

    • 簽署演算法:選擇 RSA with SHA256 作為簽署演算法,以確保安全的加密操作。

步驟 9:設定存取權杖管理

StorageGRID 使用存取權杖來驗證和授權 PingFederate 中的 API 請求。

步驟
  1. 導覽至 Applications > Access Token Management

  2. 選擇* Create New Instance*(創建新實例*)。

  3. 在「類型」標籤上,輸入以下資訊:

    • 執行個體名稱和執行個體 ID:兩者可以使用相同的值。

    • 類型:驗證該值是否為 JSON Web Tokens

  4. 選擇*下一步*。

  5. 在「執行個體組態」索引標籤中,輸入以下憑證資訊:

    • 密鑰 ID:輸入密鑰的唯一識別碼。

    • 憑證:新增您建立的 證書

    • JWS 演算法:選擇 RSA using SHA256

    • 活動簽章憑證金鑰 ID:選擇您在此步驟中建立的 金鑰 ID

  6. 選擇 下一步 > 下一步

  7. 在「存取令牌屬性合約」標籤上,選擇 USER_KEY 作為主體屬性名稱,選擇 username 作為擴充合約。

  8. 選取*「Add*」。

  9. 選擇 Next > Next > Next 以瀏覽至摘要頁面。

  10. 選擇*保存*。

步驟 10:設定存取令牌映射

設定存取權杖對應,以使用您建立的存取權杖。

步驟
  1. 前往 Applications > Access Token Mappings

  2. 選取 Access Token Mappings

  3. 選擇 新增映射

  4. 對於內容,請選擇 Default

  5. 對於 Access Token Manager,請選擇您建立的 存取權杖

  6. 選擇 Next > Contract Fulfillment

  7. 在「來源」下,為使用者名稱選擇 Persistent Grant

  8. 在「值」下,選擇 USER_KEY 作為使用者名稱。

  9. 選擇 Next > Save

步驟 11:設定 OpenID Connect 原則

定義 OpenID Connect 原則,以供用戶端存取根據 OpenID 規範對應的屬性。

步驟
  1. 前往 Applications > OAuth Clients

  2. 選擇「OpenId Connect 原則管理」>「新增原則」。

  3. 在「管理原則」索引標籤上,輸入下列資訊:

    • 原則 ID:原則的唯一識別碼。

    • 原則名稱:原則的描述性名稱。

    • ACCESS TOKEN MANAGER:選擇您建立的 存取權杖

    • ID TOKEN LIFETIME:設定 ID 令牌所需的壽命,例如 60 分鐘或 1 小時。

    • 在 ID 令牌中包含使用者資訊:勾選此方塊可在 ID 令牌中包含使用者詳細資訊。

  4. 選擇*下一步*。

  5. 在「屬性契約」標籤上,移除您建立的 資料儲存區 不需要的任何現有屬性。僅保留您希望從 Ping Authentication 傳遞到 StorageGRID 的屬性。

    註 這是關鍵的一步。它決定了 ID 權杖中包含哪些屬性值。StorageGRID 在驗證過程中繼承這些值。
  6. 選擇 下一步 > 下一步

  7. 在「屬性來源和使用者尋找」標籤上,選取 Add Attribute Source。然後輸入以下資訊:

    • ATTRIBUTE SOURCE ID 和 ATTRIBUTE SOURCE DESCRIPTION:兩者可以使用相同的值。

    • 活動資料儲存區:選擇您建立的 資料儲存區

  8. 選擇*下一步*。

  9. 在LDAP目錄搜尋索引標籤上:

    1. 輸入*基礎DN*、此DN應與StorageGRID 您在知識庫中輸入的LDAP伺服器值完全相符。

    2. 從「根物件類別」下拉式選單中選擇 objectClass

    3. 從「屬性」下拉式選單中,為每個要對應的物件類別新增一個屬性。例如:

      • InetOrgPerson:新增 displayName、givenName 或 HomePhone。

      • 使用者:新增 LocalID 或 userPrincipalName (upn)。

      • 頂部:新增 memberOf 或名稱。

      • 人員:新增 sn。

  10. 選擇*下一步*。

  11. 在LDAP Filter(LDAP篩選器)索引標籤上、輸入* sAMAccountName=${userName}*。

    您需要自訂 LDAP 篩選器,以確保 StorageGRID 能根據您組織的特定 Active Directory 或 LDAP 結構擷取使用者屬性。請諮詢您的 LDAP/AD 系統管理員,以取得適合您設定的篩選器表示式。

  12. 選擇 Save 並審查摘要。

  13. 在「合約履行」標籤上,輸入以下資訊:

    • 來源:選擇您建立的LDAP 資料儲存區

    • 值:將每個屬性合約對應至各自的值。

  14. 選擇 下一步 > 下一步

  15. 查看摘要並選擇 Save

  16. 前往「應用程式」>「OAuth 用戶端」>「OpenID Connect 原則管理」。

  17. 確認您建立的原則已設定為預設原則。

步驟 12:為 OAuth 伺服器建立 OAuth 用戶端

建立新的 OAuth 用戶端,以設定必要的用戶端憑證並授權 PingFederate 與 StorageGRID 之間的連線。

步驟
  1. 前往 Applications > OAuth Clients

  2. 選擇 Add Client,然後輸入以下資訊:

    • 用戶端 ID:請輸入唯一值。

    • 用戶端驗證:選取 Client Secret

    • 用戶端密碼:選擇 CHANGE SECRET > Generate Secret

      這將為用戶端產生密鑰。請儲存此密鑰以備後用。

    • 重新導向 URI:請在「重新導向 URI」區段中提供 StorageGRID 返回 URL。這些 URL 應與 StorageGRID 中為 OAuth 設定的 URL 相符:例如:

    • https://<Admin IP or Hostname>/api/v4/oidc-callback

    • https://<Admin IP or Hostname>/api/v4/oidc-logged-out

    • 允許的授權類型:請選擇以下選項:

      • 授權碼:用於啟動 OAuth 流程。

      • Refresh Token:當存取權杖過期時,取得新的權杖。

      • Resource Owner Password Credentials:如果您需要直接存取使用者憑證進行驗證。

    • OPENID CONNECT:選擇 RSA using SHA-256 作為 ID Token 簽章演算法。

    • 登出模式:選擇 OIDC Back-Channel

    • 前端通道登出 URI、後端通道登出 URI 和登出後重新導向 URI:新增 StorageGRID 登出 URI: https://<Admin IP or Hostname>/api/v4/oidc-logged-out

  3. 選擇*保存*。

接下來

建立 SP 連線後,"使用 OIDC 設定 SSO"