Hello 小伙伴們,
這篇文章將視點聚焦在傳遞身份驗證(Pass-through Authentication)上,將分享如何安裝,配置和測試Azure Active Directory(Azure AD)Pass-through Identity Authentication和無縫單點登錄(Seamless SSO)。
回顧
在開始之前,先為大家回顧一下Office 365身份驗證的方式:
Office 365身份驗證方式可以概括為四種,分別為:純雲端Azure AD驗證、活動目錄和密碼同步、聯合身份驗證和傳遞身份驗證,這幾種身份驗證方式的差別可以總結為以下表格。
雲身份 |
活動目錄和密碼同步 |
雲身份+目錄同步(PTA&S-SSO) |
聯合身份 |
|
優勢 |
不需要本地服務器部署 |
賬號來源本地 允許共存 |
單一登錄體驗(Seamless Single Sign-On) 賬號來源本地 無需部署ADFS實現單點登錄 |
單一登錄體驗(Single Sign-On)賬號來源本地 驗證發生在本地AD 可以創建訪問控制策略 |
限制 |
沒有單點登錄 需要管理兩套憑證 不同的密碼策略 沒有訪問控制策略 |
沒有單點登錄 需要部署目錄同步服務器 沒有訪問控制策略 |
沒有訪問控制策略 對Office Pro Plus Activation激活不支持 需要部署目錄同步服務器 |
需要部署ADFS服務器並且要考慮高可用方案 需要部署目錄同步服務器 |
有關於聯合身份驗證並實現單點登錄的具體實現步驟,大家可以參考我的另一篇博客,Office 365實現單點登錄系列(5)—配置單點登錄
--------------------------------------------------------------華麗的分割線-------------------------------------------------------------
回到我們這篇文章的主題,傳遞身份驗證Pass-through Identity Authentication允許用戶使用相同的密碼登錄到本地和雲端的應用程序,這種身份驗證方式使用戶只需要記住一套賬戶和密碼,提高了用戶使用體驗的同時,降低了IT的運維難度。當用戶使用Azure AD登錄時,會直接驗證用戶本地Active Directory的密碼。
無縫單點登錄Seamless Single-Sign On為用戶在公司內網使用加了域的電腦登錄應用服務提供了單點登錄的體驗,同時管理員不需要配置任何本地組件(如AD FS和AD FS Proxy),只需要配置一個沒有DMZ要求的輕量級代理即可完成配置。啟用后,用戶不需要輸入密碼即可登錄Azure AD。
注意:Pass-Through Authentication& Seamless Single Sign-On目前只可以用於全球版的Office 365,暫不支持21V運營的Office 365。
一、 配置域
為了確保用戶可以登錄到Azure AD,您需要將Global O365的域作為備用UPN后綴添加到Active Directory中。在域控服務器上打開Server Manager,點擊Tools,選擇“Active Directory Domains and Trusts”,右鍵單擊“Active Directory Domains and Trusts”,然后選擇“Properties”。
將完整域名添加為“備用UPN后綴”。
打開“Active Directory Users and Computers ”,右鍵單擊“contoso.com”並創建一個名為“Accounts”的新OU,我們將會把測試用戶上傳到這個OU中。
測試用戶全部都放在tetstusers這個notepads里面,里面包含了姓名、賬戶名稱、名、姓以及OU。
創建一個NotePads,輸入相關要同步的信息和UPN 后綴,保存為xxx.ps1文件,右鍵點擊run with powershell。
打開“Active Directory User and Computers”,然后打開“Accounts”查看創建的用戶,選擇一個用戶並查看“Accounts”選項卡,驗證UPN后綴是否已正確添加。
二、 配置Azure AD Connect以及Pass-through Authentication
通過https://www.microsoft.com/en-us/download/details.aspx?id=47594下載最新版本的Azure AD Connect目錄同步工具, 選擇 “Customize”。由於是測試,因此我們將Azure AD Connect裝在DC上面,一般情況下,由於域控服務器工作負載較重,我們不建議Azure AD Connect安裝在DC上面。
保留默認配置,點擊 “Install”。
在“User Sign-in” 頁面選擇 “Pass-through authentication” 身份驗證方式,並啟用Single sign-on,點擊 “Next”。
輸入Office 365全球版的全局管理員憑據,單擊 “Next”。
選擇“contoso.com”作為林,然后點擊“Add Directory”添加目錄。
在“Azure AD登錄配置”頁面上,選擇“Continue without any verified domains”,然后單擊“Next”。在“域和OU過濾”頁面上,可以指定要進行目錄同步的域和OU。
保持“Identifying Users”和“Filtering”默認值,然后單擊“下一步”。
在“Optional Features”頁面中,選擇密碼同步,單擊下一步后點擊install。
接下來我們配置Seamless Single Sign-On,在DC上,打開”Server Manager”,選擇“Group Policy Management”,展開域名 “contoso.com”,右鍵 “Default Domain Policy”進行編輯。
在“Group Policy Management Editor”,按照如下路徑來啟動策略:“User Configuration -> Policies -> Adminitrator Templates -> Windows Components -> Internet Explorer -> Internet Control Panel -> Security Page -> Site to Zone Assignment List”,點擊“Enable”啟動策略,並將所需的URL添加到所有加入域的計算機上的內網區域:
Value Name: https://autologon.microsoftazuread-sso.com Value: 1 Value Name: https://aadg.windows.net.nsatc.net Value: 1
運行Command Prompt,運行組策略更新“gpupdate”。
三、 在Azure Portal上查看Pass-through Authentication 的配置
上文第二大點,我們已經演示了如何配置Azure AD Connect並實現Seamless Single Sign-On的功能,現在我們在Azure門戶上查看剛剛做的配置。
使用全局管理員的賬戶登錄Azure門戶(https://portal.azure.com),點擊 “Azure Active Directory”,選擇 Azure AD Connect,查看“Pass-through Authentication”以及“Seamless Signle Sign-On shows”顯示為啟用。
點擊“Pass-through Authentication” 查看認證代理的詳細信息。
在DC上,打開Server Manager,點擊Tools,選擇“Active Directory Users and Computers”,單擊“View -> Advanced Features”,導航到“Computers” ,確認 “AzureADSSOACC” 計算機賬戶已創建成功。
四、 測試Seamless Single Sign-On
我們可以在加域的機器上(成功)和非加域的機器上(失敗)都測試Seamless SSO ,如果Seamless Single Sign-on 失敗,則會自動退回到Pass-through 認證(機會主義認證)。
1. 創建測試用戶
按照以下路徑添加一個測試用戶:“Control Panel -> User Accounts -> Give other users access to this computer”,點擊“Add”,在User Name輸入“adionne” ,Domain輸入“CONTOSO,點擊下一步,為該用戶賦予“Administrator” 的權限,點擊Finish完成用戶創建。
2. 使用加域機器測試Seamless SSO
在加域的機子上,打開IE,輸入https://myapps.microsoft.com,輸入我們剛剛創建的測試用戶賬戶,無需輸入密碼,就可以成功登錄服務,這是我們使用的就是Seamless SSO進行的登錄。打開Command Prompt,運行“Klist” 命令行,查看以前我們創建的機器賬號的其中一條HTTP SPNs。
關閉游覽器,使用InPrivate window模式打開游覽器,輸入
https://myapps.microsoft.com/m365x306829.onmicrosoft.com沒有輸入用戶名和密碼,我們就可以成功登陸了,這是因為`domain_hint` 查詢參數已經傳遞到Azure AD登錄請求中。
3. 域外機器訪問
在域外的機器訪問https://myapps.microsoft.com鏈接,輸入我們剛剛創建的測試用戶,adionne@m365x306829.onmicrosoft.com,發現我們必須輸入密碼才可以登錄,Seamless SSO失敗。
關閉游覽器窗口,打開Inprivate模式下的游覽器,輸入
https://myapps.microsoft.com/m365x306829.onmicrosoft.com網址,發現還是需要輸入賬戶名和密碼,才可以完成登錄。