跳至內容

以 SSO 讓團隊登入

完成本教學後,你將會得到:

  • 一條介乎你的 Control Center 伺服器與身分供應商之間的 SAML 連線(我們以 Okta 為例),
  • 一名用戶在首次登入時自動完成佈建,以及
  • 一套你刻意選擇的工作區成員資格政策。

你需要一部由你管理的伺服器(即伺服器擁有者——此安裝的操作者), 以及一個你可以設定的 IdP 應用程式。請預留 20 分鐘。

登入 Control Center,然後前往 設定 → 伺服器 → 單一登入。畫面上可切換 SAML 與 OpenID Connect,另有一張用戶佈建(SCIM) 卡片。請停留在 SAML。

這個畫面上的所有內容都是伺服器層級:一個 IdP 為每個工作區的人員 完成認證,因此只有伺服器擁有者可以編輯。

在 Okta 中開啟應用程式的 Sign On 分頁,複製中繼資料 XML(或 下載後貼上檔案的內容)。回到 Control Center,將它貼到 IdP 中繼資料 XML 並按下測試連線。

彈出提示會報告 IdP 的登入端點——證明中繼資料已解析、憑證已讀取, 而且伺服器能據此建立登入要求(此測試會演練瀏覽器往返以外的 所有環節)。如果失敗,代表該 XML 不是完整的 EntityDescriptor (Okta 的 SAML 分頁稱之為「Metadata URL」;請開啟該 URL 並複製 它提供的內容)。OpenID Connect 上的同一個按鈕則改為檢查 簽發者的探索文件。若要一併抓出即將到期的憑證,並查看 IdP 是否 認得 Control Center,請使用 第 6 步的檢查器。

按下複製 SP 中繼資料,交給負責設定 Okta 一方的人(或讀出 對方要求的兩個值):

  • ACS URL:https://<your-server>/saml/acs
  • 實體 ID:https://<your-server>/saml

這些 URL 由使用者瀏覽器所連到的來源衍生。如果伺服器在通道或 反向代理之後執行,請確保該來源穩定 (設定 → 伺服器 → 連接與狀態 → 分享此伺服器會顯示公開 URL)——或在 SP 實體 ID 欄位中明確固定實體 ID。

兩項政策決定首次登入會做甚麼:

  • 首次登入時將用戶加入每個工作區——若屬 SSO 即等同信任的 單一團隊部署,請保持開啟。當多個團隊或客戶共用同一部伺服器時, 請將它關掉:這樣每位新加入者都需要明確的工作區邀請,是較安全 的預設值。
  • 首次登入時佈建未知用戶——預設為開啟;將它關掉即可拒絕 任何尚未有帳戶的人。

你也可以選擇對應一個載有群組名稱的屬性(Okta 的通常是 groups),並用對應表將群組轉為角色——例如 {"platform-leads": "admin"}。SSO 永遠無法授予擁有者角色。

開啟使用 SAML 登入,按下儲存連線,然後在私密瀏覽視窗中 開啟 https://<your-server>/saml/login。在 Okta 登入後,你會回到 網頁用戶端——已登入,帳戶已建立,其成員資格也依你選擇的政策授予。

你在網頁連接畫面輸入伺服器地址的那一刻,同一個進入點就會 出現(以 SAML 登入)——表單會依伺服器提供的內容調整 (OpenID Connect 會顯示以 OpenID Connect 登入)。該按鈕會 在新分頁中開啟登入;當往返完成後,等待中的分頁會自動接上該 工作階段。桌面版的伺服器設定畫面也一樣:輸入伺服器 URL 後,會 出現以 SAML 登入按鈕,它會開啟你的瀏覽器,並在往返完成後讓 應用程式登入。

在推行 SSO 之前,或當登入失敗時,可在此檢查各個環節。檢查器完全 在你的瀏覽器中執行:它會讀取你在本分頁貼上的中繼資料,並套用與 伺服器相同的規則。若提供伺服器地址,它亦會向該伺服器查詢 SAML 登入是否已開啟。

它能抓出應用程式中測試連線看不到的問題:即將到期的簽署 憑證、堅持每個要求都須簽署的 IdP,以及(透過測試登入)IdP 究竟 是否認得 Control Center。

Runs in your browserYour metadata is read in this tab and never uploaded. Add a server address and your browser also asks that server which sign-in methods it offers.

The address your users open. Adds a reachability check and a test sign-in.

Only if you pinned one in the app.