本文介绍如何使用 Microsoft Active Directory Federation Services (AD FS) 和 SAML Federation 在 Active 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的任何收费组件。
准备工作
- 验证 AD FS 服务器是否在运行 Windows Server 2016 或更高版本。虽然您也可以使用旧版 Windows Server 和 AD FS 配置单点登录,但必要的配置步骤可能与本文的描述不同。
- 确保您了解如何将 Active Directory 身份管理扩展到 Google Cloud。
- 在 Active Directory 与 Cloud Identity 或 Google Workspace 之间配置用户预配。
- 请考虑在服务器场配置中设置 AD FS,以免它成为单点故障。启用单点登录后,AD FS 的可用性将确定用户是否可以登录 Google Cloud 控制台。
了解单点登录
通过使用 Google Cloud Directory Sync,您可以自动创建和维护用户,并将其生命周期与 Active Directory 中的用户相关联。
虽然 GCDS 会预配用户账号详细信息,但不会同步密码。每当用户需要在Google Cloud中进行身份验证时,必须将身份验证委派回 Active Directory,然后通过使用 AD FS 和安全断言标记语言 (SAML) 协议来完成身份验证。此设置可确保只有 Active Directory 可以访问用户凭据,并且会强制实施任何现有的政策或多因素身份验证 (MFA) 机制。此外,它还会在您的本地环境与 Google 之间建立单点登录体验。
如需详细了解单点登录,请参阅单点登录
创建 SAML 配置文件
如需使用 AD FS 配置单点登录,您需要先在 Cloud Identity 或 Google Workspace 账号中创建 SAML 配置文件。SAML 配置文件包含与您的 AD FS 实例相关的设置,包括其网址和签名证书。
您稍后可以将 SAML 配置文件分配给特定群组或组织部门。
如需在 Cloud Identity 或 Google Workspace 账号中创建新的 SAML 配置文件,请执行以下操作:
在管理控制台中,前往使用第三方身份提供商进行单点登录。
依次点击第三方单点登录配置文件 > 添加 SAML 配置文件。
在 SAML 单点登录配置文件页面上,输入以下设置:
- 名称:
AD FS
IDP 实体 ID:
https://
ADFS /adfs/services/trust登录页面网址:
https://
ADFS /adfs/ls/退出账号页面网址:
https://
ADFS /adfs/ls/?wa=wsignout1.0更改密码网址:
https://
ADFS /adfs/portal/updatepassword/
在所有网址中,将
ADFS
替换为 AD FS 服务器的完全限定域名。暂时不要上传验证证书。
- 名称:
点击保存。
随即显示的 SAML 单点登录配置文件页面包含两个网址:
- 实体 ID
- ACS 网址
在下一部分中配置 AD FS 时,您需要使用这些网址。
配置 AD FS
您可以通过创建信赖方信任来配置 AD FS 服务器。
创建信赖方信任
创建新的信赖方信任:
- 连接到 AD FS 服务器并打开 AD FS Management MMC 管理单元。
- 选择 AD FS > Relying Party Trusts。
- 在 Actions 窗格上,点击 Add trusting party trust。
- 在向导的 Welcome 页面上,选择 Claims aware,然后点击 Start。
- 在 Select data source 页面上,选择 Enter data about the relying party manually,然后点击 Next。
- 在 Specify display name 页面上,输入名称(例如
Google Cloud
),然后点击 Next。 - 在 Configure certificate 页面上,点击 Next。
在配置网址页面上,选择启用对 SAML 2.0 WebSSO 协议的支持,然后输入 SAML 配置文件中的 ACS 网址。然后点击下一步。
在 Configure identifiers 页面上,添加 SAML 配置文件中的实体 ID。
然后点击下一步。
在 Choose access control policy 页面上,选择适当的访问权限政策,然后点击 Next。
在 Ready to Add Trust 页面上,查看您的设置,然后点击 Next。
在最后一页上,清除 Configure claims issuance policy 复选框并关闭向导。
在依赖方信任列表中,您会看到新条目。
配置退出登录网址
如果您要让用户可以跨多个应用使用单点登录,请务必允许他们跨多个应用退出登录:
- 打开您刚刚创建的信赖方信任。
- 选择端点标签页。
点击添加 SAML 并配置以下设置:
- Endpoint type:SAML Logout
- Binding:POST
可信网址:
https://
ADFS /adfs/ls/?wa=wsignout1.0将
ADFS
替换为 AD FS 服务器的完全限定域名。
点击 OK。
点击 OK 以关闭对话框。
配置声明映射
AD FS 在验证用户身份后,会发出 SAML 断言。
此断言会用作已成功进行身份验证的证据。该断言必须标识出已验证身份的用户,这是 NameID
声明的目的。
要启用 Google 登录,以便将 NameID
与用户相关联,NameID
必须包含该用户的主电子邮件地址。根据您在 Active Directory 与 Cloud Identity 或 Google Workspace 之间映射用户的方式,NameID
必须包含 Active Directory 用户的 UPN 或电子邮件地址,并根据需要应用网域替换。
- 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy。
- 点击 Add rule。
- 在 Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next。
在 Configure claim rule 页面上,配置以下设置:
- Claim rule name:
Name Identifier
- Incoming claim type:UPN
- Outgoing claim type:Name ID
- Outgoing name ID format:Email
- Claim rule name:
选择 Pass through all claim values,然后点击 Finish。
点击 OK 以关闭声明颁发策略对话框。
- 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy。
- 点击 Add rule。
- 在 Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next。
在 Configure claim rule 页面上,配置以下设置:
- Claim rule name:
Name Identifier
- Incoming claim type:UPN
- Outgoing claim type:Name ID
- Outgoing name ID format:Email
- Claim rule name:
选择 Replace incoming claim e-mail suffix with a new e-mail suffix,并配置以下设置:
- New e-mail suffix:Cloud Identity 或 Google Workspace 账号使用的域名。
点击 Finish,然后点击 OK。
- 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy。
- 添加一个规则来查找电子邮件地址:
- 在对话框中点击 Add Rule。
- 选择 Send LDAP Attributes as Claims,然后点击 Next。
- 在下一页上,应用以下设置:
- Claim rule name:
Email address
- Attribute Store:Active Directory
- Claim rule name:
- 在 LDAP 属性映射列表中添加一行:
- LDAP Attribute:E-Mail-Addresses
- Outgoing Claim Type:E-Mail-Address
- 点击 Finish。
添加另一个规则来设置
NameID
:- 点击 Add rule。
- 在 Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next。
在 Configure claim rule 页面上,配置以下设置:
- Claim rule name:
Name Identifier
- Incoming claim type:E-Mail-Address
- Outgoing claim type:Name ID
- Outgoing name ID format:Email
- Claim rule name:
选择 Pass through all claim values,然后点击 Finish。
点击 OK 以关闭声明颁发策略对话框。
- 在信赖方信任列表中,选择刚刚创建的信任,然后点击 Edit claim issuance policy。
- 添加一个规则来查找电子邮件地址:
- 在对话框中点击 Add Rule。
- 选择 Send LDAP Attributes as Claims,然后点击 Next。
- 在下一页上,应用以下设置:
- Claim rule name:
Email address
- Attribute Store:Active Directory
- Claim rule name:
- 在 LDAP 属性映射列表中添加一行:
- LDAP Attribute:E-Mail-Addresses
- Outgoing Claim Type:E-Mail-Address
- 点击 Finish。
添加另一个规则来设置
NameID
值:- 点击 Add rule。
- 在 Add transform claim rule 向导的 Choose rule type 页面上,选择 Transform an incoming claim,然后点击 Next。
在 Configure claim rule 页面上,配置以下设置:
- Claim rule name:
Name Identifier
- Incoming claim type:E-Mail-Address
- Outgoing claim type:Name ID
- Outgoing name ID format:Email
- Claim rule name:
选择 Replace incoming claim e-mail suffix with a new e-mail suffix,并配置以下设置:
- New e-mail suffix:Cloud Identity 或 Google Workspace 账号使用的域名。
点击 Finish,然后点击 OK.单点登录
导出 AD FS 令牌签名证书
AD FS 在验证用户身份后,会将 SAML 断言传递给 Cloud Identity 或 Google Workspace。为了使 Cloud Identity 和 Google Workspace 能够验证该断言的完整性和真实性,AD FS 使用特殊的令牌签名密钥为断言签名,并提供使 Cloud Identity 或 Google Workspace 能够检查签名的证书。
请执行以下操作,从 AD FS 中导出签名证书:
- 在 AD FS 管理控制台中,点击 Service > Certificates。
- 右键点击 Token-signing 下方列出的证书,然后点击 View Certificate。
- 选择 Details 标签页。
- 点击 Copy to File 以打开“证书导出向导”。
- 在 Welcome to the certificate export wizard 上,点击 Next。
- 在 Export private key 页面上,选择 No, do not export the private key。
- 在 Export file format 页面上,选择 Base-64 encoded X.509 (.CER),然后点击 Next。
- 在 File to export 页面上,提供本地文件名,然后点击 Next。
- 点击 Finish 以关闭对话框。
- 将导出的证书复制到本地计算机。
填写 SAML 配置文件
您可以使用签名证书完成 SAML 配置文件的配置:
返回管理控制台,然后依次前往安全 > 身份验证 > 第三方身份提供商的单点登录服务。
打开您之前创建的
AD FS
SAML 配置文件。点击 IDP 详细信息部分以修改设置。
点击上传证书,然后选择您从 AD FS 导出的令牌签名证书。
点击保存。
您的 SAML 配置文件已完成,但您仍需要分配它。
分配 SAML 配置文件
选择应应用新 SAML 配置文件的用户:
在管理控制台中,点击使用第三方身份提供商的单点登录页面上的管理单点登录配置文件分配 > 管理。
在左侧窗格中,选择您要为哪个群组或组织部门应用单点登录配置文件。如要将此配置文件应用于所有用户,请选择根组织部门。
在右侧窗格中,选择其他单点登录 (SSO) 个人资料。
在菜单中,选择您之前创建的
AD FS - SAML
SSO 配置文件。点击保存。
重复上述步骤,将 SAML 配置文件分配给其他群组或组织部门。
测试单点登录
您已完成单点登录配置。您可以检查单点登录是否按预期运行。
选择满足下列条件的 Active Directory 用户:
- 用户已预配到 Cloud Identity 或 Google Workspace。
Cloud Identity 用户没有超级用户权限。
具有超级管理员权限的用户账号必须始终使用 Google 凭据登录,因此这些账号不适合测试单点登录。
打开新的浏览器窗口,然后转到 https://console.cloud.google.com/。
在显示的 Google 登录页面上,输入用户的电子邮件地址,然后点击下一步。如果您使用域名替换,则必须将替换应用于电子邮件地址。
您会被重定向到 AD FS。如果您已将 AD FS 配置为使用基于表单的身份验证,则会看到登录页面。
输入 Active Directory 用户的 UPN 和密码,然后点击登录。
成功进行身份验证后,AD FS 会将您重定向回 Google Cloud 控制台。由于此用户是首次登录,因此系统会询问您是否接受 Google 服务条款和隐私权政策。
如果您同意这些条款,请点击接受。
您将被重定向到 Google Cloud 控制台,Google Cloud 控制台会要求您确认偏好设置并接受 Google Cloud 服务条款。如果您同意这些条款,请点击是,然后点击同意并继续。
在左上角,点击头像图标,然后点击退出登录。
您将被重定向到 AD FS 页面,确认您已成功退出登录。
如果您在登录时遇到问题,则可能会在 AD FS 管理日志中找到其他信息。
请注意,具有超级用户权限的用户不必进行单点登录,因此您仍然可以使用管理控制台来验证或更改设置。
可选:为网域专用服务网址配置重定向
从内部门户或文档链接到 Google Cloud 控制台时,您可以使用特定于网域的服务网址来改善用户体验。
与 https://console.cloud.google.com/
等常规服务网址不同,网域专用服务网址包含您的主网域名称。如果未经身份验证的用户点击指向特定于网域的服务网址的链接,系统会立即将其重定向到 AD FS,而不是先显示 Google 登录页面。
网域专用服务网址的示例包括:
Google 服务 | 网址 | 徽标 |
---|---|---|
Google Cloud 控制台 | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com |
|
Google 文档 | https://docs.google.com/a/DOMAIN |
|
Google 表格 | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com
|
|
Google 协作平台 | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com |
|
Google 云端硬盘 | https://drive.google.com/a/DOMAIN |
|
Gmail | https://mail.google.com/a/DOMAIN |
|
Google 群组 | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com |
|
Google Keep | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com
|
|
Looker Studio | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com |
|
YouTube | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/
|
如需配置网域专用服务网址以便其重定向到 AD FS,请执行以下操作:
在管理控制台的使用第三方身份提供商的单点登录服务页面上,依次点击网域专用服务网址 > 修改。
将自动将用户重定向至以下单点登录配置文件中的第三方 IdP 设置为已启用。
将单点登录配置文件设为
AD FS
。点击保存。
可选:配置登录验证
当用户从陌生设备登录,或者其登录尝试因其他原因而看起来可疑时,Google 登录功能可能会要求用户进行额外的验证。这些登录验证有助于提高安全性,我们建议您启用登录验证。
如果您发现登录验证太麻烦,则可以执行以下操作来停用登录验证:
- 在管理控制台中,依次前往安全 > 身份验证 > 登录验证。
- 在左侧窗格中,选择您要为其停用登录验证的组织部门。如需为所有用户停用登录质询,请选择根组织部门。
- 在使用其他单点登录配置文件进行登录的用户的设置下,选择不让 Google 要求用户进行额外的身份验证。
- 点击保存。
清理
如果您不打算让组织一直启用单点登录,请按照以下步骤在 Cloud Identity 或 Google Workspace 中停用单点登录:
在管理控制台中,转到管理单点登录配置文件分配。
对于每个配置文件分配,请执行以下操作:
- 打开配置文件。
- 如果您看到继承按钮,请点击继承。如果您没有看到继承按钮,请选择无,然后点击保存。
返回使用第三方身份提供商的单点登录服务页面,然后打开 AD FS SAML 配置文件。
点击删除。
要清除 AD FS 中的配置,请按照下列步骤操作:
- 连接到 AD FS 服务器并打开 AD FS MMC 管理单元。
- 在左侧菜单中,右键点击 Relying Party Trusts 文件夹。
- 在依赖方信任列表中,右键点击您创建的依赖方信任,然后点击 Delete。
- 点击是确认删除。