本文介绍如何使用 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 中进行身份验证时,必须使用 AD FS 和安全断言标记语言 (SAML) 协议将身份验证委派回 Active Directory。此设置可确保只有 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 网址。然后点击下一步。
在配置标识符页面上,添加 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 或电子邮件地址,并根据需要应用网域替换。
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 以关闭声明颁发策略对话框。
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:
选择 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
单点登录配置文件。点击保存。
重复上述步骤,将 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 |
如需配置特定于网域的服务网址以重定向到 AD FS,请执行以下操作:
在管理控制台中的使用第三方身份提供商的单点登录服务页面上,点击网域专用服务网址 > 修改。
将自动将用户重定向到以下单点登录配置文件中的第三方 IdP 设置为已启用。
将单点登录配置文件设置为
AD FS
。点击保存。
可选:配置登录验证方式
当用户从未知设备登录时,或者由于其他原因而导致登录尝试看起来可疑时,Google 登录可能会要求用户进行额外的验证。这些登录验证方式有助于提高安全性,因此我们建议您让登录验证功能保持启用状态。
如果您发现登录验证太麻烦,则可以执行以下操作来停用登录验证:
- 在管理控制台中,转到安全性 > 身份验证 > 登录验证。
- 在左侧窗格中,选择要为其停用登录验证的组织部门。如需为所有用户停用登录验证,请选择根级组织部门。
- 在针对使用其他 SSO 配置文件登录的用户的设置下,选择不要求用户通过 Google 进行其他验证。
- 点击保存。
清理
如果您不打算让组织一直启用单点登录,请按照以下步骤在 Cloud Identity 或 Google Workspace 中停用单点登录:
在管理控制台中,请参阅管理单点登录配置文件分配。
对于每项配置文件分配,请执行以下操作:
- 打开配置文件。
- 如果您看到继承按钮,请点击继承。如果您没有看到继承按钮,请选择无,然后点击保存。
返回使用第三方 IDP 进行单点登录页面,然后打开 AD FS SAML 配置文件。
点击删除。
要清除 AD FS 中的配置,请按照下列步骤操作:
- 连接到 AD FS 服务器并打开 AD FS MMC 管理单元。
- 在左侧菜单中,右键点击 Relying Party Trusts 文件夹。
- 在信赖方信任列表中,右键点击您创建的信赖方信任,然后点击删除。
- 点击是确认删除。