Office365 联合身份验证服务配置-单点登录(SSO)

简介:

上篇文章我们介绍了office365国际版本及office365国内版本的功能介绍,今天主要说一下office365环境内配置实现SSO,其实说到sso相信大家已经很熟悉了(我们同样在之前的文章中有介绍windows azure部署sso)单点登录,当然也有叫目录集成的说法。那在office365上实现SSO会有什么效果呢?如果我们的机构内部已经在使用本地的 Active Directory,则可将其与我们的 Azure AD 目录相集成,借此可自动执行基于云的管理任务,并可向用户提供更加简化的登录体验。 Azure AD 支持以下两种目录集成功能: l 目录同步 - 用于将本地目录对象(用户、组、联系人)与云同步,以帮助减小管理开销。设置目录同步后,管理员可将本地 Active Directory 中的目录对象设置到云租户 中。 单一登录 (SSO) - 当用户登录到公司网络后访问微软云服务时,用于向用户提供更加 简化的身份验证体验。为了设置单一登录,还需要在本地部署安全令牌服务。设置单一 登录后,用户可以使用公司内部环境的 Active Directory 凭据(用户名和密码)访问 云及其现有本地资源中的服务。那具体怎么做呢,大概分为两步:1.通过dirsync工具将本地的Active Direcroy信息同步到Office365下。2.通过配置ADFS联合身份验证后,通过本地用户的域信息进行验证登录

域环境准备:

image

Hostname:internal-DC

Internal:10.10.1.254

Domain Name:Iternalsoft.com

Role:DC、CA

Hostname:ADFSServer

Internal:10.10.1.10

Role:ADFS

Hostname:SyncServer

Internal:10.10.1.20

Role:Syncserver

Hostname:internal-TMG

Internal :10.10.1.1

External:124.x.x.x

Role:TMG

首先呢,我们是准备域环境了,我们已在之前准备好了,域名:iternalsoft.com

同时根据自己的需求新建自定义的OU名称,然后在对应的OU下新建用户。

我们新建了一个Iternalsoft的组织单元,然后在该组织单元下新建了两个子OU,然后分别命名为Internal_Admins、Iternal_Users,然后我们在不同的OU下新建gavin用户及bob用户

image

我们设置gavin的权限,给改用户授予iternalsoft.com这个域内的所有权限:

Domain admins、enterprise admins、schema admins

image

同时我们也注册了一个国内版本的office365;

Office登录地址为: https://partner.outlook.cn

image

环境准备好后,我们就开始准备其他服务角色了,接下来我们准备安装ADFS服务,我们在此使用windows server 2012R2作为服务载体,首先在windows2012R2系统上安装ADFS角色进行配置、然后定义计算机名及ip地址

Hostname:ADFSServer

Ip:10.10.1.10

image

计算机准备好后,我们首先需要为ADFS申请一张带私钥的证书,在此我们选择安装iis然后为ADFS申请证书;

通过服务器管理器---添加角色和功能----iis服务

image

安装后,我们单击服务器证书

image

我们打开服务器证书----创建证书申请

image

我们为证书定义一个名称,注意这个名称一定是adfs+domainname.com

Adfs.iternalsoft.com

image

通过填写的信息保存生成一个证书申请文件

image

我们单击浏览内部CA服务器,然后单击申请证书

image

使用base64编码的CMC或PKCS维恩见提交一个证书和申请

image

然后我们将提交证书申请生成的证书文件打开将内部信息复制粘贴到申请框内,然后选择证书模板为:web服务器,单击提交

image

然后下载证书

image

下载证书完成

image

我们完成证书申请

image

我们选择下载的证书,然后填写一个好记的名称,然后证书存放位置:个人

image

然后我们选择刚才完成的证书----右击导出----该导出导出含有私钥

image

导出带私钥的证书为pfx格式的,然后设置一个证书密码

image

带私钥的证书完成导出

image

ADFS服务安装配置前的准备已经做好,接下来我们就是安装ADFS角色及配置了,安装功能角色有两种方式,一种是手动安装一个是通过powershell命令来安装

1.通过 Windows PowerShell 安装 AD FS 服务器角色

将计算机加域,然后通过domain admins用户登录

在要配置为联合服务器的计算机上,打开 Windows PowerShell 命令窗口并运行以下命令:Install-windowsfeature adfs-federation –IncludeManagementTools

image

2.通过添加角色和功能向导安装 AD FS 服务器角色

打开服务器管理器。为此,请在"开始"屏幕上单击"服务器管理器",或者在桌面上的任务栏中单击"服务器管理器"。在"仪表板"页上的"欢迎"磁贴的"快速启动"选项卡中,单击"添加角色和功能"。也可以在"管理"菜单中单击"添加角色和功能"

"开始之前"页上,单击"下一步"

"选择安装类型"页上,单击"基于角色或基于功能的安装",然后单击"下一步"

"选择目标服务器"页上,单击"从服务器池中选择服务器",确认目标计算机已突出显示,然后单击"下一步"

选择服务器角色页上,单击“Active Directory 联合身份验证服务,然后单击下一步

选择功能页上,单击下一步。系统已预先选择了所需的必备组件。你不需要选择任何其他功能。

“Active Directory 联合身份验证服务(AD FS)”页上,单击下一步

确认确认安装选择页上的信息后,单击安装

安装进度页上,确认已正确安装所有项目,然后单击关闭

安装完成后,我们开始配置ADFS服务

在服务器管理器的“仪表板”页上,单击“通知”标志,然后单击“在服务器上配置联合身份验证服务”

此时将启动Active Directory 联合身份验证服务配置向导”

image

配置指导

image

我们用当前的用户即可,可根据自己的环境架构来选择即可

image

通过下拉的方式选择ADFS服务的证书文件。然后定义一个联合身份验证的显示名称,在此我们为了方便使用ADFS

image

我们发现提示警告,其实我们可以忽略,但是为了不出现其他的未知问题,我们还是根据提示解决这个错误提示。我们单击详细错误后,发现需要在DC的powershell下执行以下命令

image

我们在DC上执行以下命令

Add-kdsRootKey –EffectiveTime(Get-Date).Addhours(-10)

image

执行后,我们回到ADFS配置,发现没有之前的警告提示了,我们为服务指定一个账户。在此我也同样适用gavin这个用户作为服务账户适用

image

指定数据库—我们在此选择默认即可。建议还是使用默认内置数据库

image

ADFS配置的条件检查,条件满足,开始配置

image

配置完成

image

ADFS服务定义好后,我们需要在office365添加自定义域;

添加自定义域的目的是为了跟我本地的Active Directory进行目录集成,我们打开office365的portal页面---单击域----添加域

image

我们输入自定义域名-----iternalsoft.com

image

Office365为了验证添加的自定义域的真实及所有者,需要在域内的dns上添加一条txt记录;

@ MS=ms42202505 3600 TXT

image

我们使用的是万网的域名供应商,我们打开域名解析,添加txt记录

image

我们添加后再次确认---我已添加记录

image

稍等1分钟后再次尝试通过,验证通过,继续下一步

image

我们跳过这些信息,可根据自己的需求选择

image

我们选择第一个,因为我们使用的是自定域的域名,如果选择第二个选项的话,我们需要更改自定义域iternalsoft.com的NS名称,不建议更改,所以我们选择第一种

image

因为我们要使用office365内的Exchange、lync服务,所以需要在iternalsoft.com自定义域内添加一些解析记录。

image

添加以下记录:TXT  SRV   MX

image

image

添加好后,我们可以以单击---好的,我已添加记录

image

我们在万网的解析记录上添加提示的记录

image

单击后我们发现验证配置,单击完成

image

显示自定义域名

image

ADFS及office365的自定义域添加完成后,我们需要安装和配置目录同步工具,目的是为了从Active Directory到office365的同步,

首先是下载同步工具---dirsync

https://bposast.vo.msecnd.net/dirsync/7020.0/dirsync.exe

image

同样我们在使用windows2012R2系统做为同步服务器,所以需要安装netframwork3.5.1,我们安装的时候需要挂载windows2012R2的系统光盘,然后我们需要将该计算机加域、然后用域管理员登录,根据提示下一步

image

选择安装路径

image

正在安装该组件

image

安装完成

image

勾选立即启动配置想到选项---完成

image  

根据提示下一步

image

为了验证office365的有效性,我们需要根据提示输入office365的portal用户管理员账户级密码;

image

然后输入本地Active Directory的管理员账户及密码;我们在签名介绍了,该用户具有iternalsoft.com域内的所有权限、domain admins、enterprise admins、schema amdins

image

勾选启用混合部署---下一步

image

勾选启用密码同步---下一步

image

配置完成

image

立即同步目录

image

我们回到office365上,查看活动的用户---已将本地的两个用户同步到office365上了;

状态是----已与Active Directory同步

image

本地的Active Directory用户同步到office365后,我们需要激活Active Directory同步

单击office365活动用户,左上角启用同步

image

然后查看激活状态,激活已同步的用户

image

激活状态

image

提示Active Directory同步已激活

image

接下来我们需要给Office365域自定义域信任关系,如果不自定义信任关系的话,我们目前还是无法通过本地用户登录office365的portal页面

首先是需要安装用于 Windows PowerShell 的 Windows Azure Active Directory 模块

下载软件

http://go.microsoft.com/fwlink/p/?linkid=236297

image

下载后安装,提示缺少依赖组件

image

提前需要安装microsoft online service插件

http://www.microsoft.com/zh-cn/download/details.aspx?id=41950

image

安装office online sevices组件

image

安装后,我们再次安装windows poershell的windows azure active directorty模块

image

image

工具安装完成后,我们需要借用该工具进行office365跟Active Directory进行信任关系的创建。

右击以管理员方式运行 Microsoft Azure Active Directory 模块。

1.

1
connect-msolservice

链接office365页面信息—进行验证配置

image

没有提示任何错误就说明验证成功通过

image

2.

1
2
Convert-MsolDomainToFederated -DomainName domain.com
Convert-MsolDomainToFederated -DomainName iternalsoft.com

image

在此我们就基本完成了所有的安装及配置工作,接下来就是验证和管理单点登录

首先是输入office365登录页面https://partner.outlook.cn

同时输入本地AD同步到Office365的用户

Gavin@iternalsoft.com,然后不输入密码,单击密码输入会自动重定向

image

提示正在重定向

image

我们发现在重定向的过程中页面显示错误

image

我们发现无法登录,原因是因为adfs.iternalsoft.com 这个域名在域内没有解析记录,所以会在重定向的时候显示错误。所以我们需要在内部dns上添加adfs这个解析记录

Adfs的解析域名指向adfsserver服务器即可

image

域名解析添加完成

image

接下来我们通过ping来测试解析的添加,解析正常

image

我们再次访问尝试,发现重定向完成,跳转到验证页面了,

image

我们输入账户及密码后,我们尝试访问

image

我们输入有效的账户级密码后,发现登录还是失败,对此失败的问题很简单理解,原因时候没有激活同步的用户,所以会发生错误

image

接下来激活已经同步的用户---活动用户---选择用户试图----为激活的用户

image

我们选择为激活哦的用户----单击激活已同步的用户

image

然后为该用户分配许可证-------然后单击激活即可

image

激活完成

image

然后我们再次通过https://partner.outlook.cn 尝试访问登录

image

image

提示验证的话,一般都是重定向成功的。

image

登录成功了,我们第一次登录是需要选择登录的选择时区---

image

选择时区后,我们单击登录,登录成功了。

image

我们最后再说一个登陆的问题,我们最后再说一个登陆的问题。比如我们本地是使用域用户登录,然后访问windows azure的portal也是使用本地的域用户等,每次登录都需要输入账户及密码。这样很不方便。但是我们可以通过设置浏览器来提高登录的效率,但是这样不安全。单击浏览器工具----internet设置---安全---本地intranet---站点

image

选择高级—

image

Adfs服务的FQDN名称---adfs.iternalsoft.com

注:不是ADFS服务器的FQDN哦;ADFS服务是运行在windows或者其他os上的应用服务。而ADFS服务器是承载ADFS应用服务的介质;添加后保存确认,然后关闭浏览器重新访问即可。大家为了测试不必清楚浏览器缓存,因为据了解ie的cokie不对windows azure的服务做缓存

image

发现登录后无法查看office365的管理页面,具体见下一篇

最后我们我们也可以通过以下工具进行测试office365的单点登录是否正常

https://testconnectivity.microsoft.com/?tabid=1

选择office365单点登录

image

输入有效的单点登录用户后开始执行测试

image

我们发现错误,其实通过以下状态,我们得知是已经成功验证了,之所以有失败,原因是adfs的证书是通过内部的ca证书申请的,在外部的话不受信任,所以可以忽略

image

image

image




本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1615706,如需转载请自行联系原作者

相关文章
|
9月前
|
存储 NoSQL 应用服务中间件
SSO(单点登陆)
SSO(单点登陆)
|
12月前
|
XML 安全 JavaScript
单点登录必知的两个著名协议:SAML、OAuth2
单点登录必知的两个著名协议:SAML、OAuth2
Jasny SSO是否支持多种身份提供者?
Jasny SSO是否支持多种身份提供者?
|
XML 安全 数据格式
Jasny SSO是否支持SAML认证?底层原理是什么?
Jasny SSO是否支持SAML认证?底层原理是什么?
|
Web App开发 测试技术
【自然框架之SSO】实现SSO的一个初步想法
单点登录呀单点登录。最近要做一个单点登录的功能,本来是不熟悉的,但是没办法硬着头皮上吧。好在有网络,有博客园。查找了好多资料,汇总一下得出了一种想法。 基于cookies的一种sso的实现方式。先看图     分为三块,用户的浏览器,网站应用和SSO登录验证。
823 0
|
XML 数据格式
SSO场景系列:实现 Google G Suite 到阿里云的单点登录
本文介绍从 Google G Suite (作为IdP)到阿里云(作为SP)进行SSO联合登录的一种配置方法,用于帮助客户理解企业如何使用外部 IdP 与阿里云服务进行身份联合的端到端配置流程。
2986 0
|
数据中心
基于 Confluence 6 数据中心的 SAML 单点登录设置你的身份提供者
如果你希望 Confluence 提供 SSO,将需要将 Confluence 添加到你的 IdP 中。一些后续的步骤将会与你的 IdP 有关,但是你通常需要: 在你的 IdP 中定义一个 'application' 提供你应用的一些数据,包括在你授权界面中需要的数据。
1321 0
|
网络协议
SSO场景系列:实现Microsoft AD到阿里云的单点登录
在文章合规与安全:阿里云与企业身份系统的集成中,我们介绍了阿里云与企业身份系统的集成,可以配置云账号下的子账号通过企业身份系统登陆。本文以Windows Server 2012 R2为例,介绍如何配置Microsoft AD作为阿里云的单点登录IdP。
8266 0
|
网络协议 数据库 数据安全/隐私保护