Active Directory 是 Microsoft 为 Windows 域网络开发的目录服务,作为一组进程和服务包含在大多数 Windows Server 操作系统中。Active Directory 通过安全断言标记语言(SAML)与 Cloudflare Access 集成。
开始前,您需要:
- 一个所有用户均具有电子邮件属性的 Active Directory 域控制器。
- 为您的 Access 身份提供商(IdP)启用通用 SAML。
- 一台已安装 Active Directory 联合服务(AD FS)的 Microsoft 服务器。本说明中的所有截图均基于 Server 2012R2,更新版本的操作步骤类似。
- 一份适用于 Active Directory 联合服务(AD FS)的浏览器安全证书。
满足上述要求后,即可开始操作。Active Directory 联合服务(AD FS)的安装和基本配置不在本指南范围内,详细指南可参阅 Microsoft KB ↗。
然后,要开始建立 Cloudflare Access 与 AD FS 之间的连接,请在 AD FS 中创建一个信赖方信任。
运行"添加信赖方信任"向导,开始 SAML AD 与 Cloudflare Access 的集成。
创建信赖方信任的步骤:
-
在 Windows Server 中,启动 AD FS Management(ADFS 管理) 工具。
-
选择 Relying Party Trusts(信赖方信任) 文件夹。
-
在 Actions(操作) 侧边栏,选择 Add Relying Party Trust(添加信赖方信任)。Add Relying Party Trust Wizard(添加信赖方信任向导) 随即启动。
-
在左侧菜单中,选择 Select Data Source(选择数据源)。
-
选择 Enter data about the relying party manually(手动输入信赖方数据) 选项。
-
选择 Next(下一步)。
-
输入 Display name(显示名称)。建议使用易于识别的名称,并在 Notes(备注) 字段中填写有关此连接的相关信息。
-
选择 Next(下一步),将显示 Choose Profile(选择配置文件) 步骤。
-
选择 AD FS profile(AD FS 配置文件) 选项。
-
选择 Next(下一步),将显示 Configure Certificate(配置证书) 步骤。
-
保持 Certificate(证书) 选项的默认设置。
-
选择 Next(下一步),将显示 Configure URL(配置 URL) 步骤。
-
选择 Enable support for the SAML 2.0 WebSSO protocol(启用对 SAML 2.0 WebSSO 协议的支持) 选项。
-
在 Relying party SAML 2.0 SSO service URL(信赖方 SAML 2.0 SSO 服务 URL) 字段中,输入以下 URL:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback您可以在 Cloudflare 仪表板 ↗ 的 Settings(设置)> Team name and domain(团队名称和域名)> **Team name(团队名称)**下找到您的团队名称。
-
选择 Next(下一步),将显示 Configure Identifiers(配置标识符) 步骤。

-
将您的回调 URL 粘贴到 Relying party trust identifier(信赖方信任标识符) 字段中。
-
选择 Next(下一步)。在 Configure Multi-factor Authentication Now?(立即配置多重身份验证?) 步骤中,您可以配置多重身份验证。
-
选择 Next(下一步),将显示 Choose Issuance Authorization Rules(选择颁发授权规则) 步骤。
-
选择 Permit all users to access this relying party(允许所有用户访问此信赖方) 选项。
-
选择 Next(下一步),将显示 Ready to Add Trust(准备好添加信任) 步骤。
-
检查您的设置。
-
选择 Next(下一步)。Cloudflare 现在依赖 AD FS 进行用户身份授权。
将自动显示 Edit Claim Rules for CF Login(CF Login 编辑声明规则) 屏幕。
现在创建 2 条声明规则,以便 AD FS 可以从 Cloudflare 获取信息并将其返回,以创建 Access 策略。
如果您关闭了 Add Relying Party Trust(添加信赖方信任) 向导,请使用资源管理器找到 Relying Party Trusts(信赖方信任) 文件夹,选择新创建的 RPT 文件,然后在 Actions(操作) 侧边栏中选择 Edit Claim Rules(编辑声明规则)。
创建声明规则的步骤:
-
在 Edit Claim Rules for CF Login(CF Login 编辑声明规则) 窗口中,选择 Add Rule(添加规则)。将显示 Choose Rule Type(选择规则类型) 步骤。
-
在 Claim rule template(声明规则模板) 字段中,从下拉列表中选择 Send LDAP Attributes as Claims(以声明方式发送 LDAP 属性)。
-
选择 Next(下一步),将显示 Edit Rule — Send Email(编辑规则 - 发送电子邮件) 步骤。
-
输入描述性的 Claim rule name(声明规则名称)。
-
从 Attribute store(属性存储) 下拉列表中选择 Active Directory。
-
从 LDAP Attribute(LDAP 属性) 和 Outgoing Claim Type(传出声明类型) 下拉列表中选择 E-mail-Addresses(电子邮件地址)。
-
选择 OK(确定),返回 Choose Rule Type(选择规则类型) 步骤。
-
从 Claim rule template(声明规则模板) 下拉列表中选择 Transform an Incoming Claim(转换传入声明) 以创建第二条规则。
-
选择 Next(下一步),将显示 Edit Rule — Create Transient Name Identifier(编辑 - 创建临时名称标识符) 窗口。
-
输入描述性的 Claim rule name(声明规则名称)。
-
从 Incoming claim type(传入声明类型) 下拉列表中选择 E-Mail Address(电子邮件地址)。
-
从 Outgoing claim type(传出声明类型) 下拉列表中选择 Name ID(名称 ID)。
-
从 Outgoing name ID format(传出名称 ID 格式) 下拉列表中选择 Transient Identifier(临时标识符)。
-
确保已选中 Pass through all claim values(传递所有声明值) 选项。
-
选择 OK(确定)。
两条声明规则现已可供导出到您的 Cloudflare Access 账户。
现在,您需要从 AD FS 中提取令牌签名证书,以配置 Cloudflare 识别 AD FS。
导出证书的步骤:
-
在 AD FS 管理控制台中,选择 AD FS 下的 Service(服务),然后选择包含要导出证书的 Certificates(证书) 文件夹。
-
在 Certificates(证书) 卡片中,右键单击 Token-signing(令牌签名) 下的条目,然后选择 View Certificate(查看证书)。将显示 Certificate(证书) 窗口。

-
选择 Details(详细信息) 选项卡,然后选择 Copy to File(复制到文件) 选项。
-
将显示 Certificate Export Wizard(证书导出向导)。
-
选择 Next(下一步),将显示 Export File Format(导出文件格式) 窗口。
-
选择 Base-64 encoded X.509 (.CER)(Base-64 编码的 X.509 (.CER)) 选项。
-
选择 Next(下一步)。
-
输入文件名。
-
选择 Next(下一步)。
-
选择 Finish(完成)。
请记录文件路径,以备后用。
为确保 AD FS 在与 Cloudflare 通信时对完整响应进行签名,请打开本地 PowerShell 并输入以下命令:
Set-ADFSRelyingPartyTrust -TargetName "Name of RPT Display Name" -SamlResponseSignature "MessageAndAssertion"要使 Cloudflare One 能够接受来自 AD FS 的声明和断言,请按以下步骤操作:
-
在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Integrations(集成) > Identity providers(身份提供商)。
-
在 Your identity providers(您的身份提供商) 下,选择 Add new identity provider(添加新的身份提供商)。
-
选择 SAML。
-
输入 IdP Name(名称)。
-
在 Single Sign-On URL(单点登录 URL) 下输入:
https://hostnameOfADFS/adfs/ls/这是默认位置。您可以在 AD FS 中找到您的联合服务标识符。
-
在 IdP Entity ID or Issuer URL(IdP 实体 ID 或颁发者 URL) 字段中,输入您的 Cloudflare Zero Trust 团队域,并在路径末尾添加以下回调:
/cdn-cgi/access/callback。例如:https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback -
在 Signing certificate(签名证书) 下,粘贴导出的证书。
文本字段中不能有空格或回车符。
-
选择 Save(保存)。
要测试连接是否正常,请前往 Integrations(集成) > Identity providers(身份提供商),然后选择要测试的身份提供商旁边的 Test(测试)。
某些 IdP 允许管理员上传来自其 SP(服务提供商)的元数据文件。
获取 Cloudflare 元数据文件的步骤:
-
通过以下 URL 下载您唯一的 SAML 元数据文件:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/saml-metadata在 Cloudflare Access 中,您可以在编辑 SAML 身份提供商对话框中找到指向此 URL 的链接。该链接返回一个包含 XML 格式 SAML SP 数据的网页。
-
将文件保存为 XML 格式。
-
将 XML 文档上传到您的 Active Directory 账户。
{
"config": {
"issuer_url": "https://<your-team-name>.cloudflareaccess.com/",
"sso_target_url": "https://adfs.example.com/adfs/ls/",
"attributes": ["email"],
"email_attribute_name": "",
"sign_request": false,
"idp_public_cert": "MIIDpDCCAoygAwIBAgIGAV2ka+55MA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG\nA1UEC.....GF/Q2/MHadws97cZg\nuTnQyuOqPuHbnN83d/2l1NSYKCbHt24o"
},
"type": "saml",
"name": "adfs saml example"
}