一個 Office365 租戶是否可以擁有多個 IdP?
我們有一個客戶希望他們的使用者對 SharePoint Online 和 Exchange/Office 365 郵件使用不同的使用者帳戶(聽起來很奇怪,這是有正當理由的)。所有帳戶都在同一個域中,並且客戶已為其租戶配置了 ADFS。我可以在網上找到的所有文章和文章都處理與這種情況完全相反的情況(SSO 或具有一個租戶的多域)。
我想知道的是,我們是否可以使用不同的領域 ID(或類似的東西)配置 SharePoint Online 和 Exchange,以便可以觸發 ADFS 為一個領域與另一個領域使用不同的身份驗證機制。
編輯
根據下面的評論,這裡需要兩個領域 ID(或任何其他解決問題的機制)的原因更有意義。客戶在其組織中基本上有兩種使用者帳戶。大多數是標準的普通使用者帳戶,他們通過 ADFS 提供的 SSO 訪問 O365。
其他類型的使用者通常不登錄工作站,也沒有分配自己的辦公桌。這些使用者使用以通用、公共帳戶持續登錄的共享工作站。當這些使用者訪問共享工作站(我在下面的評論中將它們稱為資訊亭,但這是一種輕微的誤傳)然後嘗試訪問 O365 時,ADFS 將使用者作為通用帳戶登錄。當使用者訪問 SharePoint Online 的主要門戶頁面時,這很好(當使用者訪問安全的子站點時,使用者會獲得訪問被拒絕頁面,但可以選擇以其他使用者身份登錄),但不適用於他們嘗試訪問電子郵件時(他們會收到一個錯誤頁面,因為通用帳戶沒有收件箱並且無法重新驗證)。
我最初的想法是,如果我們可以使用兩個 IdP(或一個帶有兩個 RP 的 ADFS 伺服器),那麼我們可以將 SSO/WIA 用於 SharePoint 領域,然後將表單身份驗證用於 Exchange 領域。我的另一個想法是在 ADFS 中使用聲明規則(它們在 ADFS 3/2012R2 上)如果使用者的 UPN 與模式匹配,則強製表單身份驗證。我的最後一個解決方案是使用 GPO 在 IE 中為公共帳戶禁用 SSO。
答案由Jesper Stahle提供。
您將需要使用 IE 區域來破壞 kiosk 機器上的身份驗證令牌,您可以使用組策略輕鬆實現此目的。
說明:您的使用者將嘗試訪問 Office 365,他們將被重定向到 ADFS 進行身份驗證,ADFS 將讀取他們的 Kerberos TGT 票證,創建令牌並將其轉發到 Office 365 以進行進一步處理。
- 對於在其專用電腦上的使用者:此過程將順利進行,從 ADFS 發送到 Office 365 的令牌將對他們進行身份驗證,並允許他們根據登錄到電腦的帳戶訪問其郵箱。
- 對於 kiosk 機器:這裡的問題是 ADFS 將始終將登錄帳戶的令牌發送到 Office 365 進行進一步處理,而不管坐在機器前面的實際使用者是誰,這將始終導致登錄郵箱打開。
解決方案:為避免將 kiosk 機器上登錄使用者的令牌從 ADFS 發送到 Office 365,您需要告訴 IE 不要將登錄的使用者名/密碼發送到 ADFS,而是為使用者打開一個登錄框坐在機器前面使用自己的特定使用者名/密碼,這可以通過以下方式實現:
- 對於專用機器上的使用者:將 ADFS 連結放在“本地 Intranet 區域”中,如果您這樣做,將啟用 SSO。
- 對於資訊亭機器:將 ADFS 連結放在“受信任的站點”區域中,這將破壞 SSO,並且在使用者訪問 Office 365 時將被要求提供使用者名/密碼。
對於使用組策略將站點放入區域的問題,我建議使用以下內容使用“系統資料庫”條目:
Key Location: Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\YOURADFSLINK Value Name: http Value Type: REG_DWORD Value Data: 1 or 2
“價值數據”1 表示“本地 Intranet 區域”,2 表示“可信站點區域”