以 SSO 讓團隊登入
你將會建立甚麼
標題為「你將會建立甚麼」的章節完成本教學後,你將會得到:
- 一條介乎你的 Control Center 伺服器與身分供應商之間的 SAML 連線(我們以 Okta 為例),
- 一名用戶在首次登入時自動完成佈建,以及
- 一套你刻意選擇的工作區成員資格政策。
你需要一部由你管理的伺服器(即伺服器擁有者——此安裝的操作者), 以及一個你可以設定的 IdP 應用程式。請預留 20 分鐘。
1. 開啟單一登入設定
標題為「1. 開啟單一登入設定」的章節登入 Control Center,然後前往 設定 → 伺服器 → 單一登入。畫面上可切換 SAML 與 OpenID Connect,另有一張用戶佈建(SCIM) 卡片。請停留在 SAML。
這個畫面上的所有內容都是伺服器層級:一個 IdP 為每個工作區的人員 完成認證,因此只有伺服器擁有者可以編輯。
2. 貼上 IdP 中繼資料
標題為「2. 貼上 IdP 中繼資料」的章節在 Okta 中開啟應用程式的 Sign On 分頁,複製中繼資料 XML(或 下載後貼上檔案的內容)。回到 Control Center,將它貼到 IdP 中繼資料 XML 並按下測試連線。
彈出提示會報告 IdP 的登入端點——證明中繼資料已解析、憑證已讀取,
而且伺服器能據此建立登入要求(此測試會演練瀏覽器往返以外的
所有環節)。如果失敗,代表該 XML 不是完整的 EntityDescriptor
(Okta 的 SAML 分頁稱之為「Metadata URL」;請開啟該 URL 並複製
它提供的內容)。OpenID Connect 上的同一個按鈕則改為檢查
簽發者的探索文件。若要一併抓出即將到期的憑證,並查看 IdP 是否
認得 Control Center,請使用
第 6 步的檢查器。
3. 在 IdP 註冊 Control Center
標題為「3. 在 IdP 註冊 Control Center」的章節按下複製 SP 中繼資料,交給負責設定 Okta 一方的人(或讀出 對方要求的兩個值):
- ACS URL:
https://<your-server>/saml/acs - 實體 ID:
https://<your-server>/saml
這些 URL 由使用者瀏覽器所連到的來源衍生。如果伺服器在通道或 反向代理之後執行,請確保該來源穩定 (設定 → 伺服器 → 連接與狀態 → 分享此伺服器會顯示公開 URL)——或在 SP 實體 ID 欄位中明確固定實體 ID。
4. 選擇一次登入會授予甚麼
標題為「4. 選擇一次登入會授予甚麼」的章節兩項政策決定首次登入會做甚麼:
- 首次登入時將用戶加入每個工作區——若屬 SSO 即等同信任的 單一團隊部署,請保持開啟。當多個團隊或客戶共用同一部伺服器時, 請將它關掉:這樣每位新加入者都需要明確的工作區邀請,是較安全 的預設值。
- 首次登入時佈建未知用戶——預設為開啟;將它關掉即可拒絕 任何尚未有帳戶的人。
你也可以選擇對應一個載有群組名稱的屬性(Okta 的通常是
groups),並用對應表將群組轉為角色——例如
{"platform-leads": "admin"}。SSO 永遠無法授予擁有者角色。
5. 啟用並實際登入一次
標題為「5. 啟用並實際登入一次」的章節開啟使用 SAML 登入,按下儲存連線,然後在私密瀏覽視窗中
開啟 https://<your-server>/saml/login。在 Okta 登入後,你會回到
網頁用戶端——已登入,帳戶已建立,其成員資格也依你選擇的政策授予。
你在網頁連接畫面輸入伺服器地址的那一刻,同一個進入點就會 出現(以 SAML 登入)——表單會依伺服器提供的內容調整 (OpenID Connect 會顯示以 OpenID Connect 登入)。該按鈕會 在新分頁中開啟登入;當往返完成後,等待中的分頁會自動接上該 工作階段。桌面版的伺服器設定畫面也一樣:輸入伺服器 URL 後,會 出現以 SAML 登入按鈕,它會開啟你的瀏覽器,並在往返完成後讓 應用程式登入。
6. 從本頁檢查
標題為「6. 從本頁檢查」的章節在推行 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.
Test sign-in at your IdP
- Your IdP's sign-in page: it recognizes Control Center's entity ID. You can close the tab.
- An error at your IdP: it names what to fix, usually an unknown entity ID (Entra: AADSTS700016) or a user not assigned to the app.
- Your server's "Sign-in failed" page: also a pass. The IdP accepted the request and posted back to your ACS URL; your server refuses it only because this page started the sign-in, not your server.
下一步
標題為「下一步」的章節- 也讓你的 IdP 掌管生命週期: 以 SCIM 佈建及解除佈建用戶。
- 你的 IdP 使用 OpenID Connect 而非 SAML? 連接 OpenID Connect 供應商。
- 想知道瀏覽器往返實際驗證了甚麼? 單一登入的運作方式。