Windows azure 联合身份验证服务配置(SSO)

时间:2015-01-12 16:49:49   收藏:0   阅读:2813

Windows azure 联合身份验证服务配置(SSO)


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

我们首先打开windows azure 的portal页面,里面有一个Active Directory服务,其实这个AD服务跟本地的AD功能上相差甚远,也可以说是不在同一个层次上,也许在不久的将来就跟本地的AD就差不多了,windows azure的AD服务主要提供portal页面上的sharepoint 服务的验证,其他的也就没什么效果了。

技术分享

单击仪表盘我们可以看见一些配置。我们呢,首先添加本地域名

技术分享

输入本地域名,通过勾选我们计划配置此域为使用本地ACTIVE DIRECTORY进行单点登录

技术分享

添加完成。

技术分享

添加完成后,跳转到目录集成页面

技术分享

我们首先是单击已激活该服务同步。

技术分享

选择已激活,保存

技术分享

警告信息。

技术分享

技术分享

接下来我们可以根据提示进行配置目录集成了。

技术分享

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

下载安装程序:我们在本地安装一个新的操作系统。然后加域,同时下载程序。

技术分享

我们知道windows 2012系统默认是安装了netframwork4.5的,所以我们需要安装netframwork3.5.1即可

技术分享

安装完成

技术分享

再次安装同步工具;注:使用本地的administrator账户登录,不能通过域用户登陆了

技术分享

开始安装

技术分享


提示安装组件


完成安装

技术分享

启动配置

技术分享

开始配置

技术分享

我们需要输入windos azure的portal页面登录管理员

技术分享

技术分享

该用户必须提供公司本地的Active Directory 目录服务具有的企业管理员权限账户的凭据,次账户运行Mictosoft Azure Active Directory 同步工具的计算机所加入的Active directory林中国必须具有企业管理员权限

技术分享

技术分享

必须勾选同步密码,不然同步过去的用户无法登陆

技术分享

开始配置:

技术分享

配置完成

技术分享

配置完成后,立即同步

技术分享

技术分享

我们再次回到windows azure portal页面

技术分享

页面信息变了

技术分享

我们在windows azure portal查看同步过来的用户信息

技术分享

技术分享

我们通过该用户信息登录尝试

技术分享

我们发现可以 登录,但是登录后提示没有订阅,见到以下页面就能说明是通过本地的信息验证通过的,如果需要改用户成功登录的话,我们需要给改用户委派订阅。

技术分享


单击设置---管理员

技术分享

我们选择授权的用户进行添加


添加完成

技术分享

最后我们查看FIMSyncadmin成员

技术分享

技术分享

我们查看域的状态

技术分享


本地的Active Directory信息同步过去了,但是我们无法通过本地的域信息进行验证登录,所以我们还需要配置联合身份验证服务(ADFS),配置后我们可以通过本地的Active Direcroy信息进行验证登录。在此我们通过2012R2系统自带的ADFS进行配置。

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

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

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

技术分享

安装成功

技术分享
通过添加角色和功能向导安装 AD FS 服务器角色

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

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

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

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

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

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

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

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

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

ADFS证书申请:

因为在配置ADFS的时候需要一张证书,我们安装iis服务,然后申请证书

技术分享

技术分享

技术分享

填写证书服务名称,我们建议按照严格的证书申请方法来申请,我们定义名称为adfs.iiosoft.com,及其他的组织信息,然后单击下一步来玩完成

技术分享

技术分享

我们通过内部的CA服务器进行证书申请提交

技术分享

技术分享

技术分享

技术分享

技术分享

完成证书申请操作

技术分享

因为我们需要一张带私钥的证书,所以我们需要导出证书文件

技术分享

输入证书自定义密码

技术分享

我们开始配置ADFS服务

http://technet.microsoft.com/zh-cn/library/dn528860.aspx

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

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

技术分享

“连接到 AD DS页上,指定对此计算机加入到的 AD 域拥有域管理员权限的帐户,然后单击“下一步”

技术分享选择带有私钥的证书文件;

“指定服务属性”页上执行以下操作,然后单击“下一步”

导入包含你前面获取的 SSL 证书和密钥的 .pfx 文件。如查看有关部署 AD FS 的要求的“证书要求”部分中所述,必须获取此证书并将它复制到要配置为联合服务器的计算机上。若要通过向导导入该 .pfx 文件,请单击“导入”并浏览到该文件的位置。出现提示时,请指定该 .pfx 文件的密码。

提供联合身份验证服务的名称。例如 fs.contoso.com。此名称必须与证书中的使用者名称或使用者可选名称之一匹配。提供联合身份验证服务的显示名称。例如 Contoso Corporation。将在 AD FS 登录页上向用户显示此名称。

技术分享

我们选择刚才导出的带私钥的证书文件

技术分享导入成功

技术分享

“指定服务帐户”页上指定一个服务帐户。可以创建或使用现有的组托管服务帐户 (gMSA),也可以使用现有的域用户帐户。如果选择创建新 gMSA 的选项,请指定新帐户的名称。如果选择使用现有 gMSA 或域帐户的选项,请单击“选择...”按钮以选择一个帐户。

使用 gMSA 的好处是可以利用它的自动协商密码更新功能。

注意:如果要使用 gMSA,则运行 Windows Server 2012 操作系统的环境中必须至少有一个域控制器。

如果禁用了 gMSA 选项并看到类似于“由于尚未设置 KDS 根密钥,因此组托管服务帐户不可用”的错误消息,可以通过在 Active Directory 域中 Windows Server 2012 或更高版本的域控制器上执行以下 Windows PowerShell 命令,在域中启用 gMSA:Add-KdsRootKey –EffectiveTime (Get-Date).AddHours(-10)。然后返回到向导,依次单击“上一步”按钮和“下一步”按钮以重新进入“指定服务帐户”页。现在应该已启用 gMSA,你可以选择它并输入所需的 gMSA 帐户名。

技术分享我们需要在DC上执行以下命令

技术分享

因为我们本地有一个SQL 数据库的,所以我们选择了指定的数据库,其实建议选择默认的数据库即可。

技术分享

技术分享

先决条件检查

技术分享初始化数据库

技术分享

提示错误,其实该错误可以忽略

技术分享

提示错误,所以我们需要在DC上执行一个命令:技术分享技术分享我们查看ADFS相关的服务器配置信息

技术分享

ADFS配置完后,我们还需要最重要的一步,需要在ADFSAzure AD之间建立信任关系

http://technet.microsoft.com/zh-cn/library/jj205461.aspx

我们首先是在ADFS下安装azure powershell

技术分享准备好以上工作后,我们需要在本地的Active Directoryazure Active Directory之间创建信任关系了。

http://technet.microsoft.com/zh-cn/library/jj151815.aspx

技术分享

Windows azure AD模块下载链接:

https://bposast.vo.msecnd.net/MSOPMW/Current/amd64/AdministrationConfig-zh-hans.msi



技术分享

下载后我们开始安装:提示错误,

技术分享

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

技术分享

开始安装online services

技术分享完成安装

技术分享

开始安装windows azure AD模块

技术分享

安装完成,因为该软件非常小,所以比较快

技术分享

以管理员运行:

技术分享

添加域:

http://technet.microsoft.com/zh-cn/library/jj205461.aspx#BKMK_ConvertDomain

要联合的每个域必须添加为单一登录域,或者必须从标准域转换为单一登录域。添加或转换域会在 AD FS Microsoft Azure Active Directory (Microsoft Azure AD) 之间建立信任。

打开 Microsoft Azure Active Directory 模块。

运行 $cred=Get-Credential。当 cmdlet 提示你输入凭据时,键入云服务管理员帐户凭据。

技术分享

运行 Connect-MsolService –Credential $cred。此 cmdlet 会将你连接到 AzureAD。在运行该工具安装的任何附加 cmdlet 之前,需要创建将你连接到 Azure AD 的上下文。

技术分享

运行 Set-MsolAdfscontext -Computer<AD FS primary server>,其中 <AD FS primaryserver> 是主 AD FS 服务器的内部 FQDN 名称。此 cmdlet 创建将你连接到 AD FS 的上下文。

备注:如果已在主 AD FS 服务器上安装了 Microsoft Azure Active Directory 模块,则不需要运行此 cmdlet。

技术分享

运行 New-MsolFederatedDomain –DomainName<domain>,其中 <domain> 是需要添加并需要启用单一登录的域。此 cmdlet 添加将针对联合身份验证进行配置的新顶级域或子域。

 备注使用 New-MsolFederatedDomain cmdlet 添加顶级域后,将无法使用 New-MsolDomain cmdlet 添加标准域(非联合)

技术分享

请使用 New-MsolFederatedDomain cmdlet 的结果提供的信息,联系域注册机构以创建所需的 DNS 记录。这将验证你是否拥有该域。请注意,这可能需要长达 15 分钟的传播时间,具体取决于注册机构。将更改传播到整个系统中可能需要长达 72 小时。有关详细信息,请参阅向任何域名注册机构验证域

再次运行 New-MsolFederatedDomain,并指定同一域名以完成此过程。

我们需要在dns上添加txt记录; txt=MS=ms94955184

技术分享我们在内部dns上添加txt记录

技术分享

技术分享

添加后我们再回到windows azure portal页面进行查看AD域验证信息:

技术分享

转换域

将现有域转换为单一登录域时,每个许可用户将成为联合用户,并使用其现有 Active Directory 企业凭据(用户名和密码)来访问你的云服务。目前不可能执行单一登录的分阶段部署,但可以使用生产型 Active Directory 林中的一组生产用户试点单一登录。有关详细信息,请参阅Run a pilot to test single signon before setting it up(optional)

 备注

最好在用户最少的时候(如周末)执行转换,以减少对用户的影响。

若要将现有域转换为单一登录域,请执行以下步骤。

打开 Microsoft AzureActive Directory 模块。

运行 $cred=Get-Credential。当 cmdlet 提示你输入凭据时,键入云服务管理员帐户凭据。

运行 Connect-MsolService –Credential $cred。此 cmdlet 会将你连接到 Azure AD。在运行该工具安装的任何附加cmdlet 之前,需要创建将你连接到 AzureAD 的上下文。

运行 Set-MsolAdfscontext -Computer <AD FSprimary server>,其中 <AD FSprimary server> 是主 AD FS 服务器的内部 FQDN 名称。此 cmdlet 创建将你连接到 AD FS 的上下文。

 备注

如果已在主 AD FS 服务器上安装了 Microsoft Azure Active Directory 模块,则不需要运行此 cmdlet。

运行 Convert-MsolDomainToFederated–DomainName <domain>,其中 <domain>

是要进行转换的域。此 cmdlet 将该域从标准身份验证更改为单一登录。

技术分享

 备注

若要验证转换是否正常工作,请通过运行 Get-MsolFederationProperty –DomainName <domain>(其中 <domain> 是你要查看其设置的域),来比较 AD FS 服务器与 Azure AD 中的设置。如果设置不匹配,你可以运行 Update-MsolFederatedDomain –DomainName <domain> 来同步设置。

操作完成后,我们再次回到windows azure portal页面查看同步信息:

技术分享为了保证我们通过本地的AD用户验证,我们还需要在windows portal页面上添加管理员

技术分享技术分享

我们在windowsazure.cn的登录页面进行登录的时候,输入本地用户名输入的时候,单击密码数据框的时候自动进行重定向

技术分享正在重定向

技术分享重定向完成,输入有效的本地AD账户信息进行验证登录

技术分享




本文出自 “高文龙” 博客,请务必保留此出处http://gaowenlong.blog.51cto.com/451336/1602467

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!