配置联合服务器

在计算机上安装 Active Directory 联合身份验证服务 (AD FS) 角色服务后,便可以将此计算机配置为联合服务器。 可以执行以下操作之一:

配置新联合服务器场中的第一台联合服务器

使用 Active Directory 联合身份验证服务配置向导配置新联合服务器场中的第一台联合服务器

注意

在执行此过程之前,请确保你拥有域管理员权限,或者有可用的域管理员凭据。

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

    打开“Active Directory 联合身份验证服务配置向导”

  2. 在“欢迎使用”页面上,选择“在联合服务器场中创建第一个联合服务器”,然后单击“下一步”

  3. 在“连接到 AD DS”页上,使用此计算机加入的 Active Directory (AD) 域的域管理员权限指定一个帐户,然后单击“下一步”。

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

    • 导入包含你前面获取的安全套接字层 (SSL) 证书和密钥的 .pfx 文件。 在步骤 2:为 AD FS 注册 SSL 证书中,你已获取此证书并将其复制到要配置为联合服务器的计算机上。 若要通过向导导入该 .pfx 文件,请单击“导入”,然后浏览到该文件的位置。 出现提示时,输入该 .pfx 文件的密码。

    • 提供联合身份验证服务的名称。 例如 fs.contoso.com。 此名称必须与证书中的使用者名称或使用者可选名称之一匹配。

    • 提供联合身份验证服务的显示名称。 例如 Contoso Corporation。 用户会在 Active Directory 联合身份验证服务 (AD FS) 登录页上看到此名称。

  5. “指定服务帐户”页上指定一个服务帐户。 可以创建或使用现有的组托管服务帐户 (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 帐户名称。

  6. 在“指定配置数据库”页上指定 AD FS 配置数据库,然后单击“下一步”。 可以使用 Windows 内部数据库 (WID) 在此计算机上创建一个数据库,也可以指定 Microsoft SQL Server 的位置和实例名称。

    有关详细信息,请参阅 AD FS 配置数据库的角色

    重要

    如果需要创建 AD FS 场并使用 SQL Server 来存储配置数据,可以使用 SQL Server 2008 及更新版本,包括 SQL Server 2012 和 SQL Server 2014。

  7. 在“查看选项”页面上,验证你的配置选择,然后单击“下一步”

  8. 在“先决条件检查”页上,验证所有先决条件检查是否已成功完成,然后单击“配置”。

  9. 在“结果”页上查看结果并检查是否已成功完成配置,然后单击“完成联合身份验证服务部署所需的后续步骤”。 有关详细信息,请参阅完成 AD FS 安装所要执行的后续步骤。 单击“关闭”退出向导。

通过 Windows PowerShell 配置新联合服务器场中的第一台联合服务器

可以使用新的或现有的 gMSA 帐户或现有的域用户帐户创建新的联合服务器场。

  • 如果要使用新的 gMSA 帐户创建新的联合服务器,请执行以下操作:

    重要

    若要在新联合服务器场中创建第一台联合服务器,你必须拥有域管理员权限。

    1. 在要配置为联合服务器的计算机上,确保已将所需的 SSL 证书导入到“本地计算机\我的存储”目录中。 可以通过在 Windows PowerShell 命令窗口中运行以下命令来验证是否已导入该 SSL 证书:dir Cert:\LocalMachine\My。 该证书将以指纹的形式列在“本地计算机\我的存储”目录中。

    2. 在域控制器上,打开 Windows PowerShell 命令窗口并运行以下命令,以验证是否已在域中创建 KDS 根密钥:Get-KdsRootKey –EffectiveTime (Get-Date).AddHours(-10)。 如果未创建该密钥,因此输出中未显示任何信息,请运行以下命令来创建该密钥:Add-KdsRootKey –EffectiveTime (Get-Date).AddHours(-10)

    3. 在要配置为联合服务器的计算机上,打开 Windows PowerShell 命令窗口并运行以下命令:

      Install-AdfsFarm -CertificateThumbprint <certificate_thumbprint> -FederationServiceName <federation_service_name> -GroupServiceAccountIdentifier <domain>\<GMSA_Name>$
      

      警告

      上一命令末尾的 $ 符号是必需的。

      若要获取 <certificate_thumbprint> 的值,请运行 dir Cert:\LocalMachine\My,然后选择 SSL 证书的指纹。 <federation_service_name> 的值是联合身份验证服务的名称,例如 fs.contoso.com

      注意

      如果这不是你第一次运行此命令,请添加 OverwriteConfiguration 参数。

      注意

      上一命令创建一个 WID 场。 如果要创建 SQL Server 场,则必须已安装并运行 SQL Server 实例。

      可以使用以下命令在使用 SQL Server 实例的新场中创建第一个联合服务器:Install-AdfsFarm -CertificateThumbprint <certificate_thumbprint> -FederationServiceName <federation_service_name> -GroupServiceAccountIdentifier <domain>\<GMSA_name>$ -SQLConnectionString "Data Source=<SQL_Host_Name?\<SQL_instance_ name>;Integrated Security=True",其中 <SQL_Host_Name> 是 SQL Server 运行时所在的服务器的名称,<SQL_instance_name> 是 SQL Server 实例的名称。 如果使用 SQL Server 的默认实例,请使用 SQLConnectionString 值“Data Source=<SQL_Host_Name>;Integrated Security=True”。

      重要

      如果需要创建 AD FS 场并使用 SQL Server 来存储配置数据,可以使用 SQL Server 2008 和更新版本,包括 SQL Server 2012。

  • 如果要使用现有的域用户帐户创建新的联合服务器,请执行以下操作:

    1. 在要配置为联合服务器的计算机上,确保已将所需的 SSL 证书导入到“本地计算机\我的存储”目录中。 可以通过在 Windows PowerShell 命令窗口中运行以下命令来验证是否已导入该 SSL 证书:dir Cert:\LocalMachine\My。 该证书将以指纹的形式列在“本地计算机\我的存储”目录中。

    2. 在要配置为联合服务器的计算机上,打开 Windows PowerShell 命令窗口,然后运行以下命令:$fscred = Get-Credential。 以“域\用户名”格式输入要用于联合身份验证服务帐户的域用户帐户凭据。

    3. 在同一个 Windows PowerShell 命令窗口中运行以下命令:

      Install-AdfsFarm -CertificateThumbprint <certificate_thumbprint> -FederationServiceName <federation_service_name> -ServiceAccountCredential $fscred
      

      若要获取 <certificate_thumbprint> 的值,请运行 dir Cert:\LocalMachine\My,然后选择 SSL 证书的指纹。 <federation_service_name> 的值是联合身份验证服务的名称,例如 fs.contoso.com。

      注意

      如果这不是你第一次运行此命令,请添加 OverwriteConfiguration 参数。

      注意

      上一命令创建一个 WID 场。 如果要创建 SQL Server 场,则必须已安装并运行 SQL Server 实例。

      可以使用以下命令在使用 SQL Server 实例的新场中创建第一个联合服务器:Install-AdfsFarm -CertificateThumbprint <certificate_thumbprint> -FederationServiceName <federation_service_name> -ServiceAccountCredential $fscredential -SQLConnectionString "Data Source=<SQL_Host_Name>\<SQL_instance_ name>;Integrated Security=True",其中 SQL_Host_Name 是 SQL Server 运行时所在的服务器的名称,SQL_instance_name 是 SQL Server 实例的名称。 如果使用 SQL Server 的默认实例,请使用 SQLConnectionString 值“Data Source=<SQL_Host_Name>;Integrated Security=True”。

      重要

      如果需要创建 AD FS 场并使用 SQL Server 来存储配置数据,可以使用 SQL Server 2008 及更新版本,包括 SQL Server 2012 和 SQL Server 2014。

将联合服务器添加到现有的联合服务器场中

重要

在开始本部分中的任何过程之前,请确保已完成步骤 3:安装 AD FS 角色服务

重要

在完成此过程之前,请确保已获取有效的 SSL 服务器身份验证证书。

通过 Active Directory 联合身份验证服务配置向导将联合服务器添加到现有的联合服务器场中

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

    打开“Active Directory 联合身份验证服务配置向导”

  2. 在“欢迎”页上,选择“将联合服务器添加到联合服务器场”,然后单击“下一步”。

  3. 在“连接到 AD DS”页上,使用此计算机加入的 AD 域的域管理员权限指定一个帐户,然后单击“下一步”。

  4. 在“指定场”页上,提供使用 WID 的场中的主联合服务器的名称,或者指定使用 SQL Server 的现有联合服务器场的数据库主机名和数据库实例名称。

    警告

    在 Windows Server® 2012 R2 中,有一种解决方法可以指定 SQL Server 的默认实例。 此方法不是使用用户界面, 改为使用通过 Windows PowerShell 配置新联合服务器场中的第一台联合服务器中的步骤。

    重要

    如果需要创建 AD FS 场并使用 SQL Server 来存储配置数据,可以使用 SQL Server 2008 和更新版本,包括 SQL Server 2012。

  5. 在“指定 SSL 证书”页上,导入包含你此前获取的 SSL 证书和密钥的 .pfx 文件。 此证书是所需的服务身份验证证书。 在步骤 2:为 AD FS 注册 SSL 证书中,你已获取此证书并将其复制到要配置为联合服务器的计算机。 若要通过向导导入该 .pfx 文件,请单击“导入”并浏览到该文件的位置。 出现提示时,输入该 .pfx 文件的密码。

  6. 在“指定服务帐户”页上,指定你在创建场中的第一台联合服务器时配置的同一个服务帐户。 可以使用现有的组托管服务帐户或现有的域用户帐户。

    重要

    指定的帐户必须与此场中主联合服务器上使用的帐户相同。

  7. 在“查看选项”页面上,验证你的配置选择,然后单击“下一步”

  8. 在“先决条件检查”页上,验证所有先决条件检查是否已成功完成,然后单击“配置”。

  9. 在“结果”页上查看结果并检查是否已成功完成配置,然后单击“完成联合身份验证服务部署所需的后续步骤”。 有关详细信息,请参阅完成 AD FS 安装所要执行的后续步骤。 单击“关闭”退出向导。

通过 Windows PowerShell 将联合服务器添加到现有的联合服务器场中

可以使用现有的 gMSA 帐户或现有的域用户帐户将联合服务器添加到现有的场中。

  • 如果要使用现有的 gMSA 帐户将联合服务器加入到场中,请执行以下操作:

    1. 在要配置为联合服务器的计算机上,确保已将所需的 SSL 证书导入到“本地计算机\我的存储”目录中。 可以通过在 Windows PowerShell 命令窗口中运行以下命令来验证是否已导入该 SSL 证书:dir Cert:\LocalMachine\My。 该证书将以指纹的形式列在“本地计算机\我的存储”目录中。

    2. 在要配置为联合服务器的计算机上,打开 Windows PowerShell 命令窗口并运行以下命令。

      Add-AdfsFarmNode -GroupServiceAccountIdentifier <domain>\<GMSA_name>$ -PrimaryComputerName <first_federation_server_hostname> -CertificateThumbprint <certificate_thumbprint>
      

      <domain>\<GMSA_name> 是 AD 域以及该域中你的 gMSA 帐户的名称。 <first_federation_server_hostname> 是此现有场中的主联合服务器的主机名。

      在上一步中运行 dir Cert:\LocalMachine\My 可以获取 <certificate_thumbprint> 的值。

      注意

      如果这不是你第一次运行此命令,请添加 OverwriteConfiguration 参数。

      注意

      上一命令创建一个 WID 场节点。 如果要创建运行 SQL Server 的计算机的服务器场节点,则必须已安装并运行 SQL Server 实例。

      可以使用以下命令将联合服务器添加到使用 SQL Server 实例的现有场:Add-AdfsFarmNode -GroupServiceAccountIdentifier <domain>\<GMSA_name>$ -SQLConnectionString "Data Source=<SQL_Host_Name>\<SQL_instance_ name>;Integrated Security=True",其中 SQL_Host_Name 是 SQL Server 运行时所在的服务器的名称,SQL_instance_name 是 SQL Server 实例的名称。 如果使用 SQL Server 的默认实例,请使用 SQLConnectionString 值“Data Source=<SQL_Host_Name>;Integrated Security=True”。

      重要

      如果需要创建 AD FS 场并使用 SQL Server 来存储配置数据,可以使用 SQL Server 2008 及更新版本,包括 SQL Server 2012 和 SQL Server 2014。

  • 如果要使用现有的域用户帐户将联合服务器加入到场中,请执行以下操作:

    1. 在要配置为联合服务器的计算机上,打开 Windows PowerShell 命令窗口,然后运行以下命令:$fscred = get-credential。 以“域\用户名”格式输入要用于联合身份验证服务帐户的域用户帐户凭据。

    2. 在要配置为联合服务器的计算机上,确保已将所需的 SSL 证书导入到“本地计算机\我的存储”目录中。 可以通过在 Windows PowerShell 命令窗口中运行以下命令来验证是否已导入该 SSL 证书:dir Cert:\LocalMachine\My。 该证书将以指纹的形式列在“本地计算机\我的存储”目录中。

    3. 在同一个 Windows PowerShell 命令窗口中,运行以下命令。

      Add-AdfsFarmNode -ServiceAccountCredential $fscred -PrimaryComputerName <first_federation_server_hostname> -CertificateThumbprint <certificate_thumbprint>
      

      注意

      如果这不是你第一次运行此命令,请添加 OverwriteConfiguration 参数。

      注意

      上一命令创建一个 WID 场节点。 如果要创建运行 SQL Server 的计算机的服务器场节点,则必须已安装并运行 SQL Server 实例。 可以使用以下命令将联合服务器添加到使用 SQL Server 实例的现有场:Add-AdfsFarmNode -ServiceAccountCredential $fscred -SQLConnectionString "Data Source=<SQL_Host_Name>\<SQL_instance_ name>;Integrated Security=True",其中 SQL_Host_Name 是 SQL Server 实例运行时所在的服务器的名称,SQL_instance_name 是 SQL Server 实例的名称。 如果使用 SQL Server 的默认实例,请使用 SQLConnectionString 值“Data Source=<SQL_Host_Name>;Integrated Security=True”。

      重要

      如果需要创建 AD FS 场并使用 SQL Server 来存储配置数据,可以使用 SQL Server 2008 及更新版本,包括 SQL Server 2012 和 SQL Server 2014。

另请参阅

AD FS 部署

Windows Server 2012 R2 AD FS 部署指南

部署联合服务器场