Office 365 Pass-through身份验证及Seamless Single Sign-On
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的更多相关文章
- [ Office 365 开发系列 ] 身份认证
前言 本文完全原创,转载请说明出处,希望对大家有用. 通常我们在开发一个应用时,需要考虑用户身份认证及授权,Office 365使用AAD(Azure Active Directory)作为其认证机构 ...
- 中国版 Office 365 (X-Tenant / Tango) 功能验证报告 - 2 基本步骤
说明: 1. 前期准备 - 在Azure上模拟出生产环境: 包括父域域控.子域域控.父域的Exchange Server.子域的Exchange Server.对Exchange Server, 需要 ...
- 中国版 Office 365 (X-Tenant / Tango) 功能验证报告 - 1 简介
花了点时间做了一次Office 365 X-Tenant的 POC,对过程做了记录和总结,在这里会陆续分享: (一) 简介 这次POC的系统环境是模拟一个公司的生产环境: 1. 公司总部在国外,拥有 ...
- 2017年10月31日结束Outlook 2007与Office 365的连接
2017 年10月31日 ,微软即将推出 Office 365中Exchange Online邮箱将需要Outlook for Windows的连接,即通过HTTP Over MAPI方式,传统使用R ...
- [ Office 365 开发系列 ] Graph Service
前言 本文完全原创,转载请说明出处,希望对大家有用. 通过[ Office 365 开发系列 ] 开发模式分析和[ Office 365 开发系列 ] 身份认证两篇内容的了解,我们可以开始使用Offi ...
- 如何解决Dynamics 365的错误:用户身份验证无效,MSIS0006
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复246或者20170312可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- 证明你是你——快速开启Windows Azure多重身份验证
中国版Windows Azure的多重身份验证(Multi-Factor Authentication)功能已经开放.这个功能说白了就是要“证明你是你”.目前可以支持以下几种验证方式: 手机,短信验证 ...
- 使用中国版 Office 365 -- Team Site分享
Team Site(工作组网站)主要用于团队内部的协同工作,团队(组织机构)内部每个需要使用Team Site的用户都需要一个Office 365的license.但是如果我们需要将Team Site ...
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证]
二.使用Azure AD进行身份验证 之所以将Azure AD 作为开始,是应为基本上我们所有应用都需要进行安全管理.Azure Active Directory (Azure AD) 通过以下方式简 ...
随机推荐
- 【.Net】含Unicode的字符串截断 VB.NET C#
Function AnsiLeftB(ByVal strArg As String, ByVal arg1 As Integer) As String Dim unicodeEncoding As E ...
- jquery ajax abort()方法
如果用户频繁点击ajax请求,除最后一个外都是无效的,趁早结束节省资源.也可能出现更严重的问题,最后一个发送的请求,响应未必是最后一个,有可能造成混乱.用jquery的abort方法,可以中途中止aj ...
- ES6 笔记(二)- 总结
在最近进行的项目中,已经全面使用到ES6,这里对ES6进行整理总结.用得比较多的是带*的内容,这些语法.新增类型.模块调用等从代码量上.可读性上.操作上给项目带来了不少便利. 1.语法 1 ...
- 使用Repeater控件实现三层嵌套以及分页效果
PS: 第一次用Repeater控件 记录一下 请忽略我的命名不规范 请忽略我的最终效果图(太丑了) 需要用到的朋友可以自行调整的漂亮点 ====================最终效果图===== ...
- CSS阴影盒子
box-shadow:inset 横向偏移量 纵向偏移量 模糊范围 扩展范围 阴影颜色: 1.inset :(可选) 内阴影,不设置inset,表示盒子外部显示一个投影.也可写在最后. 2.横 ...
- vue+SSM验证码实现
源码:https://github.com/HannahLihui/StudentManager-SSM/tree/master/SSM-git/StudentManager-SSM-master 1 ...
- oracle数据库逐步学习总结【基础二】
原创作品,转载请在文字开头明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10067872.html 接着上一篇,继续总结! 五.oracle表管理 首 ...
- HNCU专题训练_线段树(1)
1.内存控制2.敌兵布阵4.广告牌5.区间第k大数(模板题)6.just a Hook7.I Hate It8.动态的最长递增子序列(区间更新题)9.图灵树10.覆盖的面积14.买票问题16.村庄问题 ...
- mysql数据库定时任务
应用系统运行中,经常需要定时执行一些任务,例如:定时更新汇总数据,定时更新状态数据等,目前 Treesoft数据库管理系统 增加[定时任务]功能,直接通过页面简单配置,即可按调度规则定时执行SQL任务 ...
- ACK-Ackermann, 阿克曼函数
以前好几次在学语言的使用都有实现这个ack函数的经历,今天读本算法书,偶尔又提到了这个,查了下wiki来头好大 Values of A(m, n) m\n 0 1 2 3 4 n 0 1 2 3 4 ...