使用 AD FS 验证和管理单一登录

更新时间:2015 年 6 月 25 日

适用于:Azure、Office 365、Power BI、Windows Intune

注意

本主题可能不完全适用于中国的 Microsoft Azure 用户。 有关中国 Azure 服务的详细信息,请参阅 windowsazure.cn

作为管理员,在验证和管理单一登录 (也称为标识联合身份验证) 之前,请查看信息并执行清单中的步骤 :使用 AD FS 实现和管理单一登录

设置单一登录后,应验证它能否正常运行。 另外,可以偶尔执行几个管理任务来使其保持平稳运行状态。

你希望做什么?

  • 验证是否已正确设置了单一登录

  • 管理单一登录

验证是否已正确设置了单一登录

若要验证是否已正确设置单一登录,可以执行以下过程,确认能够使用公司凭据登录到云服务、测试不同使用方案的单一登录,并使用 Microsoft 远程连接分析器。

注意

  • 如果转换而不是添加域,则可能需要长达 24 小时来设置单一登录。

  • 在验证单一登录之前,应完成 Active Directory 同步、同步目录并激活同步用户。 有关详细信息,请参阅 目录同步路线图

若要验证单一登录是否已正确设置,请完成以下步骤。

  1. 在已加入域的计算机上,使用你的企业凭据所用的相同登录名称登录到 Microsoft 云服务。

  2. 在密码框内单击。 如果设置了单一登录,密码框将被着色,你将看到以下消息:“你现在需要在公司>登录<。

  3. 单击公司>链接处<的“登录”。

    如果能够登录,则已设置好单一登录。

针对不同的使用方案对单一登录进行测试

验证单一登录是否完成后,请测试以下登录方案,以确保正确配置单一登录和 AD FS 2.0 部署。 在以下环境中,要求一组用户测试其从浏览器以及丰富的客户端应用程序(如 Microsoft Office 2010)访问云服务服务的访问权限:

  • 通过已加入域的计算机

  • 通过公司网络内部未加入域的计算机

  • 通过公司网络外部进行漫游的加入域的计算机

  • 通过你在公司中使用的不同操作系统

  • 通过家庭计算机

  • 从 Internet 展台 (仅通过浏览器测试对云服务的访问)

  • 例如,从智能手机 (使用 Microsoft Exchange ActiveSync) 的智能手机

使用 Microsoft Remote Connectivity Analyzer

若要测试单一登录连接,可以使用 Microsoft 远程连接分析器。 依次单击“Office 365”选项卡、“Microsoft 单一登录”“下一步”。 按照屏幕提示进行测试。 分析器验证使用公司凭据登录到云服务的能力。 它还会验证一些基本的 AD FS 2.0 配置。

你希望做什么?

计划对令牌签名证书进行更改后更新 Azure AD 的任务不再成为建议

如果你使用的是 AD FS 2.0 或更高版本,Office 365 和 Azure AD 会在你的证书过期之前自动对其进行更新。  你不需要执行任何手动步骤,也不需要以计划任务的形式运行脚本。  为此,你必须让以下两项默认的 AD FS 配置设置生效:

  1. AD FS 属性 AutoCertificateRollover 必须设置为 True,表示 AD FS 会在旧的令牌签名和令牌解密证书过期之前自动生成新的。 如果该值为 False,则表示你使用的是自定义证书设置。  如需全面指导,请转到此处。

  2. 联合身份验证元数据必须可以通过公共 Internet 进行使用。

管理单一登录

可以执行其他一些可选任务或不定期任务来保持单一登录平稳运行。

本部分内容

  • 将 URL 添加到 Internet Explorer 中的“受信任的站点”中

  • 限制用户登录到云服务

  • 查看当前设置

  • 更新信任属性

  • 恢复 AD FS 服务器

  • 自定义本地身份验证类型

将 URL 添加到 Internet Explorer 中的“受信任的站点”中

在设置单一登录的过程中添加或转换你的域后,你可能需要将 AD FS 服务器的完全限定域名添加到 Internet Explorer 的“受信任的站点”列表中。 这可以确保用户在访问 AD FS 服务器时不会收到输入密码的提示。 此更改需要在客户端上进行。 你还可以通过指定一个组策略设置,为你的用户进行此更改,该设置自动将此 URL 添加到已加入域的计算机的“受信任的站点”列表中。 有关详细信息,请参阅 Internet Explorer 策略设置

限制用户登录到云服务

AD FS 为管理员提供了所需的选项,用于定义允许或拒绝用户进行访问的自定义规则。 对于单一登录,应将自定义规则应用于与云服务关联的信赖方信任。 在 Windows PowerShell 中运行 cmdlet 以设置单一登录时,已创建此信任。

有关如何限制用户登录到服务的详细信息,请参阅 基于传入声明创建允许或拒绝用户的规则。 有关运行 cmdlet 以设置单一登录的详细信息,请参阅安装 Windows PowerShell 以使用 AD FS 进行单一登录

查看当前设置

如果随时要查看当前的 AD FS 服务器和云服务设置,则可以打开Microsoft Azure Active Directory模块进行Windows PowerShell并运行Connect-MSOLService,然后运行Get-MSOLFederationProperty –DomainName <domain>。 这样,就可以检查 AD FS 服务器上的设置是否与云服务中的设置一致。 如果这些设置不匹配,则你可以运行 Update-MsolFederatedDomain –DomainName <domain>。 有关详细信息,请参阅下一节“更新信任属性”。

注意

如果需要支持多个顶级域(例如 contoso.com 和 fabrikam.com),则必须将 SupportMultipleDomain 开关用于任何 cmdlet。 有关详细信息,请参阅支持多个顶级域

你希望做什么?

更新信任属性

在以下情况下,必须更新云服务中的单一登录信任属性:

  • URL 更改: 如果对 AD FS 服务器的 URL 进行更改,则必须更新信任属性。

  • 主令牌签名证书已更改:更改主令牌签名证书会触发 AD FS 服务器事件查看器的事件 ID 334 或事件 ID 335。 建议你定期检查事件查看器,至少每周一次。

    若要查看 AD FS 服务器的事件,请执行以下步骤。

    1. 单击「开始」,然后单击“控制面板”。 在“类别”视图中,依次单击“系统和安全性”“管理工具”“事件查看器”

    2. 若要查看 AD FS 的事件,请在事件查看器的左窗格中,依次单击“应用程序和服务日志”、“AD FS 2.0”和“管理员”。

  • 令牌签名证书每年过期: 令牌签名证书对于联合身份验证服务的稳定性至关重要。 如果更改,需要通知 Azure AD 有关此更改的信息。 否则,对云服务发出的请求将会失败。

若要手动更新信任属性,请执行以下步骤。

注意

如果需要支持多个顶级域(例如 contoso.com 和 fabrikam.com),则必须将 SupportMultipleDomain 开关用于任何 cmdlet。 有关详细信息,请参阅支持多个顶级域

  1. 打开用于 Windows PowerShell 的 Microsoft Azure Active Directory 模块。

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

  3. 运行 Connect-MsolService –Credential $cred。 此 cmdlet 会将你连接到云服务。 通过工具运行任何其他已安装的 cmdlet 之前,必须创建你将连接到云服务的上下文。

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

    注意

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

  5. 运行 Update-MSOLFederatedDomain –DomainName <domain>。 此 cmdlet 会将 AD FS 中的设置更新到云服务中,并配置两者之间的信任关系。

你希望做什么?

恢复 AD FS 服务器

一旦你丢失主服务器并且无法恢复它,就需要提升另一个服务器以便成为主服务器。 有关详细信息,请参阅 AD FS 2.0 - 如何在 WID 场中设置主联合服务器

注意

如果某个 AD FS 服务器失败,并且已设置高可用性场配置,用户仍可访问云服务。 如果失败的服务器是主服务器,则在你将另一个服务器提升为主服务器之前,将无法对服务器场配置执行任何更新。

如果你丢失了服务器场中的所有服务器,则必须使用以下步骤重新建立信任。

注意

如果需要支持多个顶级域(例如 contoso.com 和 fabrikam.com),则必须将 SupportMultipleDomain 开关用于任何 cmdlet。 使用 SupportMultipleDomain 开关时,通常需要对每个域运行该过程。 但是,若要恢复 AD FS 服务器,只需对你的某个域执行该过程一次。 恢复服务器后,所有其他单一登录域都将连接到云服务。 有关详细信息,请参阅支持多个顶级域

  1. 打开Microsoft Azure Active Directory模块。

  2. 运行 $cred=Get-Credential。 在此 cmdlet 提示你输入凭据后,键入你的云服务管理员帐户凭据。

  3. 运行 Connect-MsolService –Credential $cred。 此 cmdlet 会将你连接到云服务。 通过工具运行任何其他已安装的 cmdlet 之前,必须创建你将连接到云服务的上下文。

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

    注意

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

  5. 运行 Update-MsolFederatedDomain –DomainName <domain>,其中 <域> 是要更新属性的域。 此 cmdlet 将更新属性并且建立信任关系。

  6. 运行 Get-MsolFederationProperty –DomainName <domain>,其中 <域> 是要查看其属性的域。 然后,可以比较主 AD FS 服务器的属性和云服务中的属性,以确保它们匹配。 如果不匹配,请再次运行 Update-MsolFederatedDomain –DomainName <domain> 以同步这些属性。

另请参阅

概念

清单:使用 AD FS 实现和管理单一登录
单一登录路线图