2015年6月17日,星期三

使用子域与Office 365实施AD集成(用于开发/测试)

正如在 Office 365开发中的挑战–以及如何解决,’创建多个Office 365租约来解决以下事实是相当普遍的’目前没有这样的东西“test environment”在Office 365中。但是,如前一篇文章详细讨论的那样,’肯定地说这种方法会带来一些折衷,这通常与环境差异,代码问题,测试,应用程序生命周期管理等有关。本系列文章试图提供一些可能有用的选项和技术:

总结问题

用于开发和测试的非生产租户 通常 缺乏生产环境的某些方面 – things 喜欢 :

  • 目录集成(即用户使用他们的帐户登录“real” Windows account – e.g. “chris@mycompany.com” rather than “onmicrosoft.com” cloud accounts)
  • 在AD和Office 365之间同步用户配置文件数据
  • Yammer SSO(或一般来说Yammer!)

这导致了很多妥协–从无法正确测试真实的用户体验,到有时不得不编写代码以使用不同的“mode”与生产相比,在开发/测试中(也许是因为用户帐户名以不同的方式工作,或者配置文件数据不可用)’t populated).

背景–使用一个AD和多个子域进行Office 365集成

所以,我们’我会考虑一种缓解此问题的方法–一种技术,该技术允许使用完全目录集成和用户帐户数据同步来配置非生产Office 365租约,而无需为每个(以及所有这些)单独的自定义域和Active Directory。 这篇文章实际上是一篇重要的HOW-TO文章,描述了配置过程。 在一个可能同时处理15个以上Office 365实现的团队中,您可能会发现此技术对我们具有吸引力!坦白说,在企业中获取可用于测试Office 365环境的测试广告和域设置可能是一个挑战。–涉及服务器,网络,广告,安全性和操作,IT中有相当多的人可能需要在那里。因此,拥有一个可用于与MULTIPLE Office 365环境进行目录集成的Active Directory的想法对于在许多不同情况下的许多不同团队而言非常有用。

我们在这里做什么
最终,我们实现此目标的方法是执行常规“与Office 365的自定义域集成”配置步骤,但有一些调整。 Office 365管理员和平台人员将非常熟悉标准流程,并且它’s a key element of 杂种 SharePoint / Office 365配置。但是,大多数开发人员将对此东西不太熟悉–但我个人认为’对于使用Office 365的任何技术人员来说,至少要经历一次此过程非常有益。

在这一点上,我需要明确指出,这种方法背后的许多聪明思维实际上来自于我的一位同事 内容和代码 – I’m 真实ly just being the mouth-piece here ;) 特里斯坦·沃特金斯 是内容和代码研究与创新负责人,Tristan做了证明该方法的初步工作–像往常一样出色的工作。

我们实际上要做的是为我们要与Active Directory /域集成的每个不同的Office 365租赁使用一个子域。因此可能是:

  • 客户1.MyCompany.com
  • 客户2.MyCompany.com

当然,您可以替代“Client” with “Project”,或者您有其他任何东西’重新使用不同的租约。

也许:

  • Dev.MyCompany.com
  • Test.MyCompany.com
  • UAT.MyCompany.com

..等等。

最终我们’与这是我们’将有一个AD,可以为多个租户提供帐户。尽管它可能不适用于生产环境,但这确实可以帮助我们实现使开发/测试环境更加完善的使命 喜欢 生产。 Office 365中的用户帐户’t *have* 至 come from AD when cloud identities are used (more on this later), but it can be 有用 至 stay closely with the 模式 l that you’将用于生产并实现AD与O365之间的同步。

你的事’ll need

我们需要准备好以下列表中的每个项目– if not, you’需要购买/获得以下物品:

  • 准备并配置了Office 365租户
  • 顶级域名(例如MyCompany.com)–这必须是您/您的组织已经拥有并已注册的东西
  • 能够管理域的DNS(通常在托管域的ISP处)
  • 能够在您创建的广告中创建用户帐户’ll use

在较高的级别上,我们按照通常的步骤将自定义域添加到Office 365租约中– I’我使用GoDaddy托管我的域/ DNS,而Office 365对此主机托管服务商和其他托管服务商提供了一些有用的集成/简化管理员。但是,使用子域方法,即使我们使用GoDaddy托管我们的域,我们’将需要手动配置我们的DNS记录,而不是可以单击任何“magic buttons”购买或配置域(如此域):

GoDaddy捷径

因此,请注意,尽管Office 365有很多“simplified admin” options if you’重新使用GoDaddy,在大多数情况下,’我会忽略这些,自己做一些额外的配置。

如何:使用子域配置Office 365域集成

供参考,在本演练中’m使用以下命令:

Office 365域

自定义域(顶级)

用于此租赁的子域

b
..so这给出了:

-URL = b .sharepoint.com

-用户名= user1@cobsp.onmicrosoft.com

chrisobrien.com

cob.chrisobrien.com

所以在这里’的过程。首先,我们进入Office 365管理中心,然后进入“Domains”区。到达那里后,我们点击“Add domain” button on the “Manage domains” screen:

新增网域

然后,我们开始逐步完成将自定义域添加到Office 365的配置:

 clip_image006

打“Let’s get started”该屏幕上的链接。在下一个屏幕上(下面),我们应该输入打算用于此Office 365租户的子域/域–如前所述,我们’需要在此处添加DNS记录,因此我们应该为此做好准备。

 clip_image008

输入域后,点击“Next”并查看下面的屏幕。在这里,您无需登录GoDaddy,并让Office 365尝试为您配置。相反,DNS记录需要手动创建,因此请单击“use a TXT record”链接如下图所示:

clip_image010

下一个屏幕提供了您的TXT记录的详细信息’需要在您的托管服务商处添加(以我的情况为GoDaddy):

 clip_image012

这样做有助于验证您确实拥有并控制域和域的事实。’t trying 至 pull some sneaky internet trick. 所以,我们 now need 至 go 至 the control panel of the ISP hosting our domain, and specifically the DNS area. At GoDaddy, it looks 喜欢 this:

 clip_image013

我用“Add Record”链接添加带有Office 365给我的详细信息的TXT记录。完成后,我等待一会儿,然后返回到Office 365并确认我’现在已经完成了这一步。如果我按指定添加了TXT记录,并且DNS已经传播,则应该看到类似以下内容的内容:

 clip_image015

我点击“Next”按钮在这里。这将更新任何用户’来自的电子邮件地址 user1@cobsp.onmicrosoft.comuser1@chrisobrien.com 就我而言:

 clip_image016

然后,您可以选择(手动)添加一些其他用户。如果您计划使用AAD Sync从本地AD同步用户,则您可能会赢得’t使用此选项,但是对于开发/测试环境,您可能需要在此阶段添加几个用户(假设您拥有这些用户的许可证):

 clip_image017

现在我们进入重要部分–添加主要的DNS记录集以支持与您的自定义域的集成:

 clip_image018

Office 365询问您计划使用/集成哪些服务,因此您只需要担心相关的DNS记录:

 clip_image019

在随后的屏幕上,’不幸的是,我们可以通过另一个超级方便的快捷方式链接’t use (because we’重新执行使用子域的非标准操作)J跳过“Add records”简单按钮,然后单击“自己添加这些记录” link:

 clip_image020

接下来的屏幕列出了您需要在主机上添加的所有DNS记录。现在,您需要将该屏幕与DNS面板进行交叉引用–对于列出的每个项目,在管理面板中配置DNS记录。 与标准过程相比,主要区别在于在每个DNS记录中都指定了子域,而不仅仅是顶级域:

clip_image022

这里’s在GoDaddy DNS管理面板中添加记录的示例:

 clip_image013  [1]

clip_image024

一旦您’已添加所有记录,返回到Office 365,然后单击“Okay, I’ve added the records”链接。 Office 365现在将检查您添加的记录,如果成功,您将看到一条确认消息,如下所示:

clip_image026

您的自定义域现已集成,其状态应反映在“Manage domains” admin page:

clip_image027

评论-那么我们现在有什么?
至此,我们现在使用子域将本地AD与Office 365租约集成在一起。但是,我们不’还没有Office 365中实际存在的用户帐户–可以用不同的方式在其中创建帐户,我们需要使用其中一种将身份实际放入Office 365中进行测试。无论我们是否’实际使用这些帐户登录,或直接将其用作“passive”用户。最终,这些是云身份,因此如果这些用户登录,我们的模型将使用云身份验证,而不是其他选项(联合身份验证,例如使用ADFS或类似的身份验证)。

顺便说一句,如果其中一些令人困惑,并且您需要有关Office 365中身份和身份验证的不同选项的良好背景,’d建议从 TechNet上的用户帐户管理.

在Office 365中实际创建用户–AAD同步,手动或批量更新

有或没有自定义域(或子域),都可以通过以下方式创建用户:

  • 在Office 365管理UI中手动
  • 使用PowerShell
  • 使用CSV文件中的批量上传
  • 使用AAD同步
  • 使用Exchange邮箱迁移

换句话说,它’值得记住的是,即使您’已将自定义域与Office 365租约集成在一起,用户*不必*来自AD。但是,如果您想保持生产状态,并且可能要进行从AD到Office 365的同步,那么绝对有可能。

使用AAD Sync将用户从AD同步到Office 365

实施中 同步 通过AD使用此子域方法 向AD域添加备用UPN后缀 (如“分配UPN域后缀” section of 在TechNet上配置Office 365 for SharePoint混合) –这有效地使我们能够将目录中的不同用户匹配到不同的Office 365租约:

 clip_image028

将UPN后缀添加到广告中后, ’然后可以将此后缀分配给各个用户帐户– thus “matching”它们到特定的Office 365租赁和URL域:

clip_image030

我也倾向于将每个帐户集放在不同的OU中,这样我就可以轻松查看每个租户的帐户。

此时,您现在可以实施AAD Sync来同步帐户–您将下载并安装/配置 AAD同步工具 ,这是Office 365管理员熟悉的步骤:

 clip_image032

clip_image034

这将提供FIM和计划的任务,以便持续进行来自AD的同步。然后,在FIM中,您可以将同步限制为特定的租期,以限制您之前放入特定OU的用户:

clip_image036

如果要针对多个Office 365租户执行此操作,请注意此处的一件事是您’将需要FIM和同步工具/任务的多个实例(据我所知’我知道)。由于要进行开发/测试的所有同步内容都不是您的关键任务,因此只需将AAD Sync部署在几个不同的小型VM(即每个租户一个)中,就可以轻松地进行管理。

此时,您’d现在正在同步用户’d从您的AD实例到您的开发/测试Office 365租赁。凉!

最后,唐’不要忘记,如果您希望这些来自AD的测试用户能够登录和使用Office 365服务,’需要在租赁中为其分配许可证。

概要

实现目录集成是 需要 在某些Office 365上下文中(例如,混合以及使用Yammer Enterprise的位置),但是 有用 在许多其他方面也是如此。如果你’重新使用多个Office 365租约来表示非生产环境,’当开发人员/测试人员穿上衣服时会很痛苦’与生产设置匹配,特别是如果您发现自己围绕用户配置文件实现了任何自定义功能。此处详细介绍的方法提供了一个选项,可以简化开发/测试Office 365环境的目录集成,而不会带来通常会伴随的某些基础结构要求和麻烦。

本系列将继续讨论用于改进Office 365开发的选项和技术。其他职位:

2条评论:

亚瑟·N 说过...

嗨,Chis,

很棒的文章,非常感谢您分享这种方法。

一个问题,您是否也将adfs基础结构重用于联邦调查。验证?

亚瑟

马可·舍尔 说过...

我们正在与德国的一个大客户合作,而在没有开发,集成和产品环境的情况下,我们也面临着同样的问题。我们有来自Microsoft咨询服务的人员参与该项目。我们收到的答案是,不支持将一个AD同步到多个Office 365租户。我们也将使用不同的OU,并为云提供唯一的UPN。响应是:不支持。我们不'想要冒险生产环境。
您正在谈论:
Whilst it may not be appropriate for production, this can 真实ly help us with our mission 至 make dev/test environments more 喜欢 production
您有来自Microsoft的任何支持信息吗?可能是同一AD,并且同步中可能包含一些唯一的AD域信息,所以我真的很想'确保没有坏事发生。