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网址,发现还是需要输入账户名和密码,才可以完成登录。

Office 365 Pass-through身份验证及Seamless Single Sign-On的更多相关文章

  1. [ Office 365 开发系列 ] 身份认证

    前言 本文完全原创,转载请说明出处,希望对大家有用. 通常我们在开发一个应用时,需要考虑用户身份认证及授权,Office 365使用AAD(Azure Active Directory)作为其认证机构 ...

  2. 中国版 Office 365 (X-Tenant / Tango) 功能验证报告 - 2 基本步骤

    说明: 1. 前期准备 - 在Azure上模拟出生产环境: 包括父域域控.子域域控.父域的Exchange Server.子域的Exchange Server.对Exchange Server, 需要 ...

  3. 中国版 Office 365 (X-Tenant / Tango) 功能验证报告 - 1 简介

    花了点时间做了一次Office 365 X-Tenant的 POC,对过程做了记录和总结,在这里会陆续分享: (一) 简介 这次POC的系统环境是模拟一个公司的生产环境: 1. 公司总部在国外,拥有 ...

  4. 2017年10月31日结束Outlook 2007与Office 365的连接

    2017 年10月31日 ,微软即将推出 Office 365中Exchange Online邮箱将需要Outlook for Windows的连接,即通过HTTP Over MAPI方式,传统使用R ...

  5. [ Office 365 开发系列 ] Graph Service

    前言 本文完全原创,转载请说明出处,希望对大家有用. 通过[ Office 365 开发系列 ] 开发模式分析和[ Office 365 开发系列 ] 身份认证两篇内容的了解,我们可以开始使用Offi ...

  6. 如何解决Dynamics 365的错误:用户身份验证无效,MSIS0006

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复246或者20170312可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  7. 证明你是你——快速开启Windows Azure多重身份验证

    中国版Windows Azure的多重身份验证(Multi-Factor Authentication)功能已经开放.这个功能说白了就是要“证明你是你”.目前可以支持以下几种验证方式: 手机,短信验证 ...

  8. 使用中国版 Office 365 -- Team Site分享

    Team Site(工作组网站)主要用于团队内部的协同工作,团队(组织机构)内部每个需要使用Team Site的用户都需要一个Office 365的license.但是如果我们需要将Team Site ...

  9. 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证]

    二.使用Azure AD进行身份验证 之所以将Azure AD 作为开始,是应为基本上我们所有应用都需要进行安全管理.Azure Active Directory (Azure AD) 通过以下方式简 ...

随机推荐

  1. AngularJS 的常用特性(五)

    13.使用路由和 $location 切换视图 对于一些单页面应用来说,有时候需要为用户展示或者隐藏一些子页面视图,可以利用 Angular 的 $route 服务来管理这种场景. 你可以利用路由服务 ...

  2. 短视频APP是如何开启你的美好生活的?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯视频云终端团队发表于云+社区专栏 常青, 2008 年毕业加入腾讯,一直从事客户端研发相关工作,先后参与过 PC QQ.手机QQ. ...

  3. chrome和IE下的滚动条样式修改

    火狐下的滚动条样式无法去修改,但chorme下的则可以任意修改,惊喜的是IE竟然是最早实现这一功能的浏览器,IE5都能有效果. chorme下的滚动条样式修改: <!DOCTYPE html&g ...

  4. 扫描网站服务器真实IP的小脚本

    #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- # Date: 2015年9月11日 # Author:蔚蓝行 ...

  5. 2 字节的 UTF-8 序列的字节 2 无效 解决方法

    2 字节的 UTF-8 序列的字节 2 无效 解决方法: 用记事本打开xml文件,另存为 编码 选择 UTF-8,保存替换掉之前的文件,解决问题

  6. iOS系统库头文件中NS_AVAILABLE相关

    转载: NS_AVAILABLE_IOS(5_0) 这个方法可以在iOS5.0及以后的版本中使用,如果在比5.0更老的版本中调用这个方法,就会引起崩溃. NS_DEPRECATED_IOS(2_0, ...

  7. iOS 网络请求数据缓存

    1. NSURLCache简介: iOS对NSURLRequest提供了7种缓存策略:(实际上能用的只有4种) NSURLRequestUseProtocolCachePolicy // 默认的缓存策 ...

  8. Spark你需要知道这些

    谈到 Spark,我们总是强调它比 Hadoop 更高效.为什么它可以更高效呢?是因为它优先使用内存存储?还是因为它拥有比 MapReduce 更简单高效的计算模型? 与 Hadoop 作业的区别 我 ...

  9. Sql Server 中使用日期遍历

    一个存储过程小案例,内容如下: declare @dt datetime set @dt='2016-01-01' while (@dt<='2016-12-31') begin -- 转换字符 ...

  10. @Controller和@RestController的区别(转)

    @Controller和@RestController的区别? 官方文档: @RestController is a stereotype annotation that combines @Resp ...