
搭配 Apple 裝置的單一登入簡介
組織常會利用單一登入(SSO),其設計旨在改進使用者登入 App 和網站的體驗。透過 SSO 可使用一般的認證程序來取用多個 App 或系統,無須使用者再次聲明其識別身分。相較於儲存使用者的憑證(例如其密碼)和將其重新用於每個 App 或系統,SSO 會改為使用初次認證提供的代號,給予使用者一次性密碼概念的外觀。
例如,SSO 會在你登入企業網路上的 Active Directory 時發揮作用,然後無須再次輸入你的密碼便能流暢地取用你的企業 App 和網站。所有 App 和系統會設為信任 Active Directory 來識別使用者和提供群組成員資格;這些結合起來即形成安全網域。
Kerberos
Kerberos 是為 SSO 用於大型網路的熱門認證通訊協定。它也是 Active Directory 使用的預設通訊協定。Kerberos 可跨平台運作,使用加密,以及防止重新執行攻擊。它可以使用密碼、憑證識別身份、智慧卡、NFC 裝置或其他硬體認證產品來對使用者進行認證。執行 Kerberos 的伺服器稱為密鑰發布中心(KDC)。若要認證使用者,Apple 裝置必須透過網路連線來聯絡 KDC。
Kerberos 在組織的內部或專用網路上運作良好,因為所有用戶端和伺服器具備直接連接 KDC 的能力。不在企業網路上的用戶端必須使用虛擬專用網路(VPN)來連線並認證。Kerberos 不適用於雲端或網際網路型 App。這是因為這些應用程式沒有直接連接到企業網路。新式認證(如下所述)比較適合雲端或網際網路型 App。
整合至 Active Directory 環境時,macOS 將 Kerberos 優先用於所有認證活動。使用者使用 Active Directory 帳號登入 Mac 時,會從 Active Directory 網域控制器要求 Kerberos 票卷授予票(TGT)。當使用者嘗試在支援 Kerberos 認證的網域上使用任一服務或 App 時,TGT 會用來要求該服務的許可證,無須要求使用者再次認證。若規則設為需要密碼才能解除螢幕保護程式,macOS 會嘗試在認證成功時更新 TGT。
轉送和反查「網域名稱系統」(DNS)記錄對 Kerberize 伺服器的正常運作應是精確的。系統時鐘的時間也很重要,因為任何伺服器和客戶端之時鐘偏移必須小於 5 分鐘。最佳作法是使用「網路時間通訊協定」(NTP)服務,例如 time.apple.com,來自動設定日期與時間。
使用 SSO 的新式認證
新式認證指的是一組由雲端應用程式使用的網路型認證通訊協定。範例包含 SAML 2.0、OAuth 2.0(iOS 16、iPadOS 16.1、visionOS 1.1 或以上版本),以及 Open ID Connect(OIDC)。這些通訊協定透過網際網路正常運作並使用 HTTPS 加密其連線。SAML2 頻繁用於建立組織網路和雲端應用程式之間的同盟。穿越信任網域時會使用同盟,例如,從本地網域取用一組雲端應用程式時。
【注意】若要利用 OAuth 2.0,MDM 解決方案必須針對 OAuth 2.0 與其想要的任何識別身分供應商(IdP)導入伺服器端支援才能支援搭配「使用者註冊」使用。
搭配這些通訊協定的單一登入會因廠商和環境而有所不同。例如,當你在組織的網路上時使用 Active Directory 同盟服務(AD FS),AD FS 會搭配 Kerberos 作業進行 SSO,而在你透過網際網路認證用戶端時,AD FS 可以使用瀏覽器 Cookie。新式認證通訊協定不會規定使用者聲明其識別身分的方式。這些通訊協定在認證來自未知的用戶端時有許多會結合如 SMS 代碼的多重認證使用。部分廠商會在裝置上提供憑證來識別已知的裝置,藉此協助認證程序。
IdP 可以透過使用單一登入延伸功能來在 iOS、iPadOS、macOS 和 visionOS 中支援 SSO。這些延伸功能允許 IdP 為其使用者導入新式認證通訊協定。
支援的 App
iOS、iPadOS 和 visionOS 能為使用類別 NSURLSession
或 URLSession
來管理網路連線與認證的所有 App 提供 SSO 的彈性支援。Apple 為所有開發者提供這些類別,以在他們的 App 中無縫整合網路連線。
任何支援 Kerberos 認證的 Mac App 都可使用 SSO。這包含許多 macOS 內建的 App,如 Safari、「郵件」和「行事曆」,以及包含如檔案共享、螢幕共享及安全殼層(SSH)之類的服務。許多第三方 App 也支援 Kerberos。
設定單一登入
為了設定 SSO,設定會允許行動裝置管理(MDM)解決方案將必要的設定推播到裝置。這會包含設定 userPrincipalName(Active Directory 使用者帳號)和 Kerberos 領域設定,以及設定哪些 App 和 Safari 網頁 URL 應該允許使用 SSO。
在針對所要求之 URL 的前置詞比對字串型態時,會使用簡易字串型態的比對方式。因此,型態必須以 https:// 或 http:// 開頭,且將不會比對相異的埠號。如果 URL 比對型態並未以斜線(/)結尾,則會自動加上斜線。
例如,https://www.betterbag.com/ 符合 https://www.betterbag.com/index.html,但不符合 http://www.betterbag.com 或 https://www.betterbag.com:443/。
單一萬用字元也可用來指定遺漏的子網域。例如,https://*.www.betterbag.com/ 會符合 https://store.betterbag.com/。
Mac 使用者可使用位於「/系統/資源庫/CoreServices/Applications/」的「票券檢視程式」來檢視和管理其 Kerberos 許可證資訊。你可以按一下「許可證」選單並選擇「診斷資訊」來檢視更多資訊。若設定描述檔允許,使用者也可分別使用下列命令列工具來要求、檢視和銷毀 Kerberos 許可證:kinit
、klist
和 kdestroy
。