一、SSO无缝单一登录认证

SSO顾名思义,可以使登录连接到企业网络计算机的用户实现自动登录。 从而让用户轻松访问基于云的应用程序,而无需使用其他任何本地组件,比如我们这次部署完成之后,只要用户登录域内计算机,那么他再登录微软其他云应用程序,只需输入用户名,无需输入密码即可完成身份验证,访问应用程序。

二、启用无缝SSO的先决条件

SSO无缝单一登录认证是基于“PTA直通身份认证”或“密码哈希同步”两种身份认证方式,也就是说如果要启用SSO,则认证方式必须是二者之一,本次测试我们将接上一章,在PTA直通身份认证的基础上,启用无缝SSO。

三、启用无缝SSO

3.1 通过AAD Connect启用SSO

1.重新运行AAD Connect配置工具,选择PTA直通身份认证或者密码哈希同步登陆方法之后,勾选下方的“Enable Single Sign-on”选项:

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_Office365混合部署

2.在“Enable single sign-on”向导页,提供本地域管理员帐号和密码。

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_02

3.按向导完成配置。

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_03

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_04

完成上述设置之后,即可在AAD Portal中“Azure AD Connect”菜单中查看状态:

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_Office365混合部署_05

配置完成之后,会在本地AD中创建一个命名为AZUREADSSOACC的计算机账号,该计算机账号要严格保护,不可被删除,除域管理员外尽量不要有除默认权限外的其他委派权限。

3.2 使用组策略推送客户端SSO配置

最后一步,我们需要用组策略向终端用户推送两个SSO设定:

  1. https://autologon.microsoftazuread-sso.com网址添加到客户端本地Intranet 区域
  2. 通过“组策略”启用“允许通过脚本更新状态栏”的 Intranet 区域策略

详细配置如下:

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_06

注意:该GPO是针对用户设定,故需推送到用户OU,用户需要注销或者重启计算机生效.

四、测试无缝SSO

1.使用域帐号o365test2@mooing.cc登录域中任意一台计算机,在未获得步骤3中的组策略设定前,登录 https://myapps.microsoft.com 网站,输入用户名之后,会再次要求输入密码,如图:

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_07

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_08

2. 向用户o365test2推送步骤3中的组策略设定,然后重启计算机后登录,再次登录https://myapps.microsoft.com网站,输入用户名后,无需输入密码,成功进入网站。

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_Office365混合部署_09

测试过程中,可以使用其他微软的云应用程序,验证结果应该都不用再输入密码即可进入。

五、滚动更新AZUREADSSO计算机帐户Kerberos密钥

部署无缝SSO后,会在本地AD域中创建名为AZUREADSSOACC的计算机账户,如果该计算机账号泄露,心怀恶意者可以使用计算机账户上的Kerberos 解密密钥为 AD 林中的任意用户生成 Kerberos 票证。 然后,恶意执行组件可以为遭到泄漏的用户模拟 Azure AD 登录。 微软强烈建议定期滚动更新这些 Kerberos 解密密钥,至少每 30 天一次更新一次。

更新方法:

在安装AAD Connect的服务器上,所需Powershell命令:

cd "C:\Program Files\Microsoft Azure Active Directory Connect"
Import-Module .\AzureADSSO.psd1
New-AzureADSSOAuthenticationContext
Get-AzureADSSOStatus | ConvertFrom-Json

$creds = Get-Credential
Update-AzureADSSOForest -OnPremCredentials $creds

以下是各个命令作用说明及相应截图:

New-AzureADSSOAuthenticationContext:要求登录到AzureAD,需要使用Office365订阅的管理员账号。

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_Office365混合部署_10

$creds = Get-Credential:

#提供的本地凭据须以格式(contoso\johndoe 或contoso.com\johndoe) 输入

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_SSO无缝身份认证_11

更新命令运行成功后截图:

Update-AzureADSSOForest -OnPremCredentials$creds

Office365混合部署进阶系列教程三:混合环境下的SSO无缝身份认证_Office365混合部署_12

六、禁用无缝SSO认证

1. 使用 Azure AD Connect 禁用租户上的SSO配置。

运行 Azure AD Connect,选择“更改用户登录页”,并单击“下一步”,取消选中“启用单一登录”选项,按提示完成向导配置。

2. 本地AD域中删除计算机账户AZUREADSSO,即可完成SSO禁用。

下一章,我们一起来了解一下混合环境下的ADFS联合身份认证,在前几年,应该很多混合部署都是用的ADFS联合身份认证,所以我们会花两章来分别介绍ADFS部署和ADFS个性化定制。