ADFS 單次登入

誰可以使用此功能?
  • 工作空間擁有者組織擁有者
  • Business+Enterprise 方案

你可以整合 Active Directory Federation Services (ADFS) 執行個體,以協助為成員提供流暢的單次登入。

注意: ADFS 本身並不支援透過 Slack SCIM API 自動取消佈建。在 IDP 中取消佈建成員後,如果你尚未在 ADFS 之外實作 SCIM 佈建解決方案,務必同時在 Slack 中停用成員。


步驟 1:設定 Slack 的 ADFS

建立新的依存方信任

  1. 登入安裝了 ADFS 的伺服器。如需部署 ADFS 上的協助,請查看本指南
  2. 開啟 ADFS 管理控制台,並選取信任關係,然後從左側的控制台樹中選取依存方信任
  3. 按一下右側動作功能表中的「新增依存方信任」。
  4. 選取資料來源步驟中,點選「手動輸入依賴方資料」選項。Select Data Source step, with option to enter data about the replying party manually selected
  5. 接著,在指定顯示名稱標籤中指定應用程式的顯示名稱。建立將其取名為公司名稱 – Slack 之類的名稱。加入你可能需要的任何選用註記。
  6. 選擇個人檔案標籤中,選取 ADFS 個人檔案
  7. 設定認證標籤上,保留認證設定的預設值
  8. 在「設定網址」分頁中,選取「啟用 SAML 2.0 WebSSO 通訊協定的支援」方塊並輸入 SAML 服務端點

    •  Business+ 方案:
    https://yourdomain.slack.com/sso/saml
    •  Enterprise 方案:https://yourdomain.enterprise.slack.com/sso/saml
    Configure URL step, with option to enable support for the SAML 2.0 WebSSO protocol selected
  9. 設定識別碼標籤中,輸入 https://slack.com,然後按一下「新增」。備註:如果你選擇要指定唯一的工作空間網址 (https://[workspacename].slack.com),請務必將相同的值輸入 Slack 中的「服務提供者核發者」欄位。
  10. 新增選用的多因素認證
  11. 選取「允許所有使用者存取此依存方」,接著按一下「下一步」並檢閱設定
  12. 確定切換在精靈關閉時開啟此依存方信任的編輯宣告規則對話方塊,然後選取「關閉」。
  13. 接著,你將為依賴方信任 (在此例中為 Slack 工作空間或 Enterprise 組織) 建立規則或斷言宣告。Slack 只會收到傳出的宣告類型屬性和值,因此屬性清單看起來可能會不一樣。請注意,你需要兩個宣告:一個用於 Slack 屬性,另一個用於 NameID
  14. 按一下「新增規則」。
    List of rules for Slack Attributes and NameID, with buttons to add, edit, or remove rule
  15. 建立規則,將 LDAP 屬性作為宣告傳送。只需要傳出的宣告類型 User.Email,但你也可以加入 first_namelast_nameUser.Username。請記住,傳出的宣告類型需區分大小寫。

    注意:User.Username 的傳送值將對應使用者的使用者名稱,請確定每位使用者的此值都不一樣,沒有重複使用。
    Configure Claim Rule step, showing list of LDAP Attributes and Outgoing Claim Types
  16. 接著,建立另一個規則,以轉移傳入的宣告。
  17. 開啟必要的 NameID 宣告規則,並將傳出的名稱 ID 格式變更為「永久識別碼」,然後按一下「確定」以儲存。
    NameID 宣告規則,顯示對內和對外宣告類型的下拉式功能表

注意:如果你選擇在 Slack 中簽署 AuthnRequest,你需要將產生的 Slack 認證上傳至 ADFS 中的簽章標籤。你也需要確保已在進階標籤中選取加密雜湊演算法 SHA-1。


步驟 2:將 Slack 與 IDP 整合

接著,將 ADFS 詳細資料新增至 Slack 工作空間的認證設定:

  1. 從桌面按一下側欄中的工作空間名稱。
  2. 從功能表選取「工具與設定」,然後按一下「工作空間設定」。
  3. 按一下認證標籤,接著按一下 SAML 認證 (OneLogin、Okta 或你自訂的 SAML 2.0 解決方案) 旁的設定
  4. 輸入 SAML 2.0 端點網址 (SAML 2.0/W-Federation 網址端點)。預設安裝路徑為 /adfs/ls/
    SAML SSO URL and text box with URL entered
  5. 輸入身分提供者核發者。如果不確定這些端點,請在安裝了 ADFS 的裝置上,在 Powershell 中執行 PS C:/> Get-AdfsEndpointIdentity Provider Issuer and text box with IdP Entitiy ID for the service you use entered
  6. 在 ADFS 的加密分頁中,複製整個權杖簽署的 x.509 憑證並貼到「公開憑證」欄位。ADFS's Encryption tab with token-signing field selected
  7. 若要在 Slack 設定一個以上的依存方信任,請展開進階選項功能表。
  8. AuthnContextClass Ref 旁邊,選擇 PasswordProtectedTransport 和 windows (搭配 ADFS 用於內部/外部認證),然後輸入不重複的服務提供者核發者 (應與 ADFS 中的依賴方識別碼相符)。
    Advanced options with AuthnContextClass Ref dropdown menu open
  9. 按一下「儲存

接著,你需要將 ADFS 詳細資料新增至 Enterprise 組織的認證設定:

  1. 從桌面按一下側欄中的工作空間名稱。
  2. 從功能表選取「工具與設定」,然後按一下「組織設定」。
  3. 在左側欄按一下  安全性,然後選取「SSO 設定」。
  4. 輸入 SAML 2.0 端點網址 (SAML 2.0/W-Federation 網址端點)。預設安裝路徑為 /adfs/ls/
    SAML_2.0_Endpoint_URL__Grid_.png
  5. 輸入身分提供者核發者。如果不確定這些端點,請在安裝了 ADFS 的裝置上,在 Powershell 中執行 PS C:/> Get-AdfsEndpointIdentity_Provider_Issuer__grid_.png
  6. 在「公開憑證」欄位中,複製並貼上整個 x.509 憑證。adfs_clint.png
  7. 你可在 Slack 中設定一個以上的依存方信任。在 AuthnContextClass Ref 下方,選擇 PasswordProtectedTransport 和視窗 (搭配 ADFS 用於內部/外部認證)。
  8. 輸入不重複的服務提供者核發者 (應與 ADFS 中的依賴方識別碼相符)。
    service_provider_issuer
  9. 按一下「儲存變更」。

備註:我們很樂意協助你設定,但無法保證連線方式一定能與 Slack 搭配運作。若有問題,請參閱 SAML 授權錯誤疑難排解一文,或是傳送訊息給我們,我們將盡力提供協助。