Active Directory 单点登录

Last reviewed 2023-02-27 UTC

本文介绍如何使用 Microsoft Active Directory Federation Services (AD FS) 和 SAML FederationActive Directory 环境与 Cloud Identity 或 Google Workspace 账号之间设置单点登录

本文假定您了解如何将 Active Directory 身份管理扩展到 Google Cloud,并且已配置用户预配。 本文还假定您拥有在 Windows Server 2016 或更高版本的 Windows Server 上正常运行的 AD FS 4.0 服务器。

要按照本指南操作,您需要了解 Active Directory 网域服务和 AD FS。您还需要一个在 Cloud Identity 或 Google Workspace 中拥有超级用户权限的用户,以及在 Active Directory 中具有 AD FS 服务器的管理员权限的用户。

目标

  • 配置 AD FS 服务器,以便 Cloud Identity 或 Google Workspace 可以将其用作身份提供商。
  • 创建在 Active Directory 与 Cloud Identity 或 Google Workspace 之间匹配身份的声明发布政策。
  • 配置 Cloud Identity 或 Google Workspace 账号,以便将身份验证委派给 AD FS。

费用

如果您使用的是免费版 Cloud Identity,则按照本文中的说明操作不会使用 Google Cloud 的任何收费组件。

准备工作

  1. 验证 AD FS 服务器是否在运行 Windows Server 2016 或更高版本。虽然您也可以使用旧版 Windows Server 和 AD FS 配置单点登录,但必要的配置步骤可能与本文的描述不同。
  2. 确保您了解如何将 Active Directory 身份管理扩展到 Google Cloud
  3. 在 Active Directory 与 Cloud Identity 或 Google Workspace 之间配置用户预配
  4. 请考虑在服务器场配置中设置 AD FS,以免它成为单点故障。启用单点登录后,AD FS 的可用性将确定用户是否可以登录 Google Cloud 控制台。

了解单点登录

通过使用 Google Cloud Directory Sync,您可以自动创建和维护用户,并将其生命周期与 Active Directory 中的用户相关联。

虽然 Google Cloud Directory Sync 会预配用户账号详细信息,但不会同步密码。每当用户需要在 Google Cloud 中进行身份验证时,必须使用 AD FS 和安全断言标记语言 (SAML) 协议将身份验证委派回 Active Directory。此设置可确保只有 Active Directory 可以访问用户凭据,并且会强制实施任何现有的政策或多因素身份验证 (MFA) 机制。此外,它还会在您的本地环境与 Google 之间建立单点登录体验。

如需详细了解单点登录,请参阅单点登录

配置 AD FS

在 Cloud Identity 或 Google Workspace 中启用单点登录之前,您必须先配置 AD FS。

创建信赖方信任

创建新的信赖方信任:

  1. 登录 AD FS 服务器并打开 AD FS Management MMC 管理单元。
  2. 选择 AD FS > Relying Party Trusts
  3. Actions 窗格上,点击 Add trusting party trust
  4. 在向导的 Welcome 页面上,选择 Claims aware,然后点击 Start
  5. Select data source 页面上,选择 Enter data about the relying party manually,然后点击 Next
  6. Specify display name 页面上,输入名称(例如 Google Cloud),然后点击 Next
  7. Configure certificate 页面上,点击 Next
  8. Configure URL 页面上,选择 Enable support for the SAML 2.0 WebSSO protocol,然后输入下列 SSO 服务网址:

    https://www.google.com/a/DOMAIN/acs

    DOMAIN 替换为 Cloud Identity 或 Google Workspace 账号的主域名,然后点击 Next

    启用对 SAML 2.0 WebSSO 协议的支持。

  9. Configure identifiers 页面上,添加以下两个标识符:

    • google.com/a/DOMAIN,将 DOMAIN 替换为 Cloud Identity 或 Google Workspace 账号的主域名。
    • google.com

    然后点击 Next

    依赖方信任标识符。

  10. Choose access control policy 页面上,选择适当的访问权限政策,然后点击 Next

  11. Ready to Add Trust 页面上,查看您的设置,然后点击 Next

  12. 在最后一页上,清除 Configure claims issuance policy 复选框并关闭向导。

    在依赖方信任列表中,您现在会看到新条目。

配置退出登录网址

如果您要让用户可以跨多个应用使用单点登录,请务必允许他们跨多个应用退出登录:

  1. 在 AD FS 管理控制台的 Relying Party Trusts 下方,右键点击刚创建的信任,然后点击 Properties
  2. Endpoints 标签页上,点击 Add SAML
  3. Add an Endpoint 对话框中,配置以下设置:

    1. Endpoint typeSAML Logout
    2. BindingPOST
    3. Trusted URLhttps://ADFS/adfs/ls/?wa=wsignout1.0

      ADFS 替换为 AD FS 服务器的完全限定域名。

      添加端点。

  4. 点击 OK

  5. 点击 OK 以关闭对话框。

配置声明映射

AD FS 在验证用户身份后,会发出 SAML 断言。 此断言会用作已成功进行身份验证的证据。该断言必须标识出已验证身份的用户,这是 NameID 声明的目的。

要启用 Google 登录,以便将 NameID 与用户相关联,NameID 必须包含该用户的主电子邮件地址。根据您在 Active Directory 与 Cloud Identity 或 Google Workspace 之间映射用户的方式,NameID 必须包含 Active Directory 用户的 UPN 或电子邮件地址,并根据需要应用网域替换。

UPN

  1. 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy
  2. 点击 Add rule
  3. Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next
  4. Configure claim rule 页面上,配置以下设置:

    • Claim rule nameName Identifier
    • Incoming claim typeUPN
    • Outgoing claim typeName ID
    • Outgoing name ID formatEmail
  5. 选择 Pass through all claim values,然后点击 Finish

  6. 点击 OK 以关闭声明颁发策略对话框。

UPN:网域替换

  1. 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy
  2. 点击 Add rule
  3. Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next
  4. Configure claim rule 页面上,配置以下设置:

    • Claim rule nameName Identifier
    • Incoming claim typeUPN
    • Outgoing claim typeName ID
    • Outgoing name ID formatEmail
  5. 选择 Replace incoming claim e-mail suffix with a new e-mail suffix,并配置以下设置:

    • New e-mail suffix:Cloud Identity 或 Google Workspace 账号使用的域名。
  6. 点击 Finish,然后点击 OK

电子邮件

  1. 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy
  2. 添加一个规则来查找电子邮件地址:
    1. 在对话框中点击 Add Rule
    2. 选择 Send LDAP Attributes as Claims,然后点击 Next
    3. 在下一页上,应用以下设置:
      1. Claim rule nameEmail address
      2. Attribute StoreActive Directory
    4. 在 LDAP 属性映射列表中添加一行:
      1. LDAP AttributeE-Mail-Addresses
      2. Outgoing Claim TypeE-Mail-Address
    5. 点击 Finish
  3. 添加另一个规则来设置 NameID

    1. 点击 Add rule
    2. Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next
    3. Configure claim rule 页面上,配置以下设置:

      • Claim rule nameName Identifier
      • Incoming claim typeE-Mail-Address
      • Outgoing claim typeName ID
      • Outgoing name ID formatEmail
    4. 选择 Pass through all claim values,然后点击 Finish

    5. 点击 OK 以关闭声明颁发策略对话框。

电子邮件:网域替换

  1. 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy
  2. 添加一个规则来查找电子邮件地址:
    1. 在对话框中点击 Add Rule
    2. 选择 Send LDAP Attributes as Claims,然后点击 Next
    3. 在下一页上,应用以下设置:
      1. Claim rule nameEmail address
      2. Attribute StoreActive Directory
    4. 在 LDAP 属性映射列表中添加一行:
      1. LDAP AttributeE-Mail-Addresses
      2. Outgoing Claim TypeE-Mail-Address
    5. 点击 Finish
  3. 添加另一个规则来设置 NameID 值:

    1. 点击 Add rule
    2. Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next
    3. Configure claim rule 页面上,配置以下设置:

      • Claim rule nameName Identifier
      • Incoming claim typeE-Mail-Address
      • Outgoing claim typeName ID
      • Outgoing name ID formatEmail
  4. 选择 Replace incoming claim e-mail suffix with a new e-mail suffix,并配置以下设置:

    • New e-mail suffix:Cloud Identity 或 Google Workspace 账号使用的域名。
  5. 点击 Finish,然后点击 OK.单点登录

导出 AD FS 令牌签名证书

AD FS 在验证用户身份后,会将 SAML 断言传递给 Cloud Identity 或 Google Workspace。为了使 Cloud Identity 和 Google Workspace 能够验证该断言的完整性和真实性,AD FS 使用特殊的令牌签名密钥为断言签名,并提供使 Cloud Identity 或 Google Workspace 能够检查签名的证书。

现在,您需要从 AD FS 中导出签名证书:

  1. 在 AD FS 管理控制台中,点击 Service > Certificates
  2. 右键点击 Token-signing 下方列出的证书,然后点击 View Certificate
  3. 选择 Details 标签页。
  4. 点击 Copy to File 以打开“证书导出向导”。
  5. Welcome to the certificate export wizard 上,点击 Next
  6. Export private key 页面上,选择 No, do not export the private key
  7. Export file format 页面上,选择 Base-64 encoded X.509 (.CER),然后点击 Next
  8. File to export 页面上,提供本地文件名,然后点击 Next
  9. 点击 Finish 以关闭对话框。
  10. 将导出的证书复制到本地计算机。

配置 Cloud Identity 或 Google Workspace 账号

完成 AD FS 配置后,您现在可以在 Cloud Identity 或 Google Workspace 账号中配置单点登录了:

  1. 打开管理控制台,然后转到使用第三方身份提供商进行单点登录

    转到“使用第三方身份提供商进行单点登录”

  2. 点击添加单点登录配置文件

  3. 设置采用第三方身份提供商的单点登录设置为已启用

  4. 输入以下设置。在所有网址中,将 ADFS 替换为 AD FS 服务器的完全限定域名:

    1. 登录页面网址https://ADFS/adfs/ls/
    2. 退出页网址https://ADFS/adfs/ls/?wa=wsignout1.0
    3. 更改密码网址https://ADFS/adfs/portal/updatepassword/
  5. 验证证书下,点击上传证书,然后选择先前下载的令牌签名证书。

  6. 点击保存

  7. 退出管理控制台。

测试单点登录

您现在已在 AD FS 和 Cloud Identity 或 Google Workspace 中完成单点登录配置。要检查单点登录是否按预期工作,请运行以下测试:

  1. 选择先前已预配到 Cloud Identity 或 Google Workspace 且未被分配超级用户权限的 Active Directory 用户。具有超级用户权限的用户必须始终使用 Google 凭据登录,因此这些账号不适合测试单点登录。
  2. 打开新的浏览器窗口,然后转到 https://console.cloud.google.com/
  3. 在显示的 Google 登录页面上,输入用户的电子邮件地址,然后点击下一步。如果您使用域名替换,则必须将替换应用于电子邮件地址。

    输入用户的电子邮件地址。

    您会被重定向到 AD FS。如果您已将 AD FS 配置为使用基于表单的身份验证,现在会看到登录页面。

  4. 输入 Active Directory 用户的 UPN 和密码,然后点击登录

    输入 Active Directory 用户的 UPN 和密码。

  5. 成功进行身份验证后,AD FS 会将您重定向回 Google Identity Platform。由于此用户是首次登录,因此系统会询问您是否接受 Google 服务条款和隐私权政策。

  6. 如果您同意这些条款,请点击接受

  7. 您将被重定向到 Google Cloud 控制台,Google Cloud 控制台会要求您确认偏好设置并接受 Google Cloud 服务条款。如果您同意这些条款,请点击,然后点击同意并继续

  8. 在左上角,点击头像图标,然后点击退出登录

    然后,您将被重定向到 AD FS 页面,确认您已成功退出登录。

如果您在登录时遇到问题,则可能会在 AD FS 管理日志中找到其他信息。

请注意,具有超级用户权限的用户不必进行单点登录,因此您仍然可以使用管理控制台来验证或更改设置。

清除数据

如果您不打算让组织一直启用单点登录,请按照以下步骤在 Cloud Identity 或 Google Workspace 中停用单点登录:

  1. 管理控制台中,点击安全 > 设置
  2. 点击设置采用第三方身份提供商的单点登录 (SSO)
  3. 清除设置采用第三方身份提供商的单点登录复选框。
  4. 点击保存

要清除 AD FS 中的配置,请按照下列步骤操作:

  1. 登录 AD FS 服务器并打开 AD FS MMC 管理单元。
  2. 在左侧菜单中,右键点击 Relying Party Trusts 文件夹。
  3. 在依赖方信任列表中,右键点击 Cloud Identity,然后点击 Delete
  4. 点击 Yes 确认删除。

后续步骤