步骤 1:创建 PingFederate 全局 SSL 证书
1. 以管理员身份登录 PingFederate。搜索 SSL Server Certificates 并打开搜索结果。
2. 单击 Create New 以创建全局 SSL 证书,然后执行以下操作:
1. 在 Common Name 字段中,提供 PingFederate 计算机的 FQDN。
2. 在该页面上提供其他详细信息,然后单击 Next。
3. 确保选中以下复选框,然后单击 Save。
4. 单击 SSL Server Certificates。
5. 对于所创建的 SSL 证书,请在 Select Action 列表中选择 Activate Default for Runtime Server,然后选择 Activate Default for Admin Console。单击 Save。
此 SSL 证书将被标记为管理控制台和运行时服务器的 default。
3. 对于 localhost 证书,请执行以下操作:
1. 在 Select Action 列表中,相继选择 Deactivate for Runtime Server 和 Deactivate for Admin Console。
2. 删除 localhost 证书,然后单击 Save。
步骤 2:创建服务提供者合同
1. 在 PingFederate 中,搜索 Policy Contract 并打开搜索结果。
2. 单击 Create New Contracts,然后执行以下操作:
1. 在 Contract Info 字段中,输入合同名称,例如 SPContract,然后单击 Next。
2. 在 Contract Attributes 下,若要延长以下属性的合同期限,请针对每个属性单击 Add:
▪ uid
▪ email
▪ group
默认情况下会提供 subject 属性。
3. 单击 Next,然后在 Summary 页面上,单击 Save。
4. 在 Authentication Policy Contracts 页面上,单击 Save。
步骤 3:下载 AD FS FederationMetadata.xml 文件
1. 在 AD FS 计算机的浏览器中,输入以下 URL 以下载联合元数据文件:
https://ADSF_Host.ADFS_Domain/FederationMetadata/2007-06/FederationMetadata.xml
2. 将所下载文件复制到 PingFederate 计算机。
步骤 4:创建 PingFederate IdP 连接
A) 指定用于创建 IdP 连接的常规信息
1. 在 PingFederate 中,搜索 IdP Connections 并打开搜索结果。单击 Create Connection。
2. 在 Connection Type 选项卡上,选中 BROWSER SSO Profiles 复选框,然后单击 Next。
3. 在 Connection Options 选项卡上,选中 BROWSER SSO 和 OAUTH ATTRIBUTE MAPPING 复选框,然后单击 Next。
4. 在 Import Metadata 选项卡上,选择 File,然后单击 Choose File 并浏览至 FederationMetadata.xml 文件,然后单击 Next。
5. 在 Metadata Summary 选项卡上,单击 Next。
6. General Info 选项卡预填充有数据。您可根据需要更改 CONNECTION NAME。验证其余信息,然后单击 Next。
7. 在 Browser SSO 选项卡上,单击 Configure Browser SSO。Browser SSO 页面随即打开,在此页面中您需要为您的浏览器指定单一登录设置。
B) 配置浏览器 SSO 设置
1. 在 Browser SSO 页面的 SAML Profiles 选项卡上,选择以下选项,然后单击 Next:
▪ IDP-INITIATED SSO
▪ SP-INITIATED SSO
2. 在 User-Session Creation 选项卡上,单击 Configure User-Session Creation。User-Session Creation 页面随即打开,在此页面中您需要指定设置以配置用户创建。
C) 配置用户会话创建设置
1. 在 Identity Mapping 选项卡上,接受默认设置,然后单击 Next。
2. 在 Attribute Contract 选项卡上,验证自动填充的属性,然后单击 Next。
3. 在 Target Session Mapping 选项卡上,单击 Map New Authentication Policy。Authentication Policy Mapping 页面随即打开,在此页面中您需要为身份验证策略映射指定设置。
D) 配置身份验证策略映射设置
1. 在
Authentication Policy Contract 列表中,选择您在
第 2 部分 - 步骤 2 中创建的合同,即
SPContract。验证是否显示了所有属性,然后单击
Next。
2. 在 Attribute Retrieval 选项卡上,接受默认设置,然后单击 Next。
3. 在 Contract Fulfillment 选项卡上,为 email、group、subject 和 uid 身份验证策略合同选择以下值:
▪ 在 Source 列表中,选择 Assertion。
▪ 在 Value 列表中,从列表内选择相应条目。
单击 Next。
4. 在 Issuance Criteria 选项卡上,单击 Next。
5. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。User-Session Creation 页面随即打开,在此页面中您需要查看用户会话创建的配置设置。
E) 查看用户会话创建配置设置
1. User-Session Creation 页面上的 Target Session Mapping 选项卡显示了映射新身份验证策略期间所选择的信息。单击 Next。
2. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。Browser SSO 页面随即打开。
3. Browser SSO 页面上的 User-Session Creation 选项卡显示了配置用户会话创建期间所输入的信息。单击 Next。
4. 在 OAuth Attribute Mapping 选项卡上,相继选择 Map Directly Into Persistent Grant 和 Configure OAuth Attribute Mapping,然后执行以下操作:
1. 在 Data Store 选项卡上,单击 Next。
2. 在 Contract Fulfilment 选项卡中,将 USER_KEY 和 USER_NAME 的 Source 选为 Assertion,Value 选为 name attribute from ADFS,然后单击 Next。
3. 在 Issuance Criteria 选项卡上,单击 Next。
5. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。在 OAuth Attribute Mapping Configuration 页面上,单击 Next。
6. 在 Protocol Settings 选项卡上,单击 Configure Protocol Settings。Protocol Settings 页面随即打开,在此页面中您需要指定协议设置。
F) 配置和查看协议设置
1. 在 SSO Service URLs 选项卡上,单击 Next。
2. 在 Allowable SAML Bindings 选项卡上,执行以下操作,然后单击 Next:
1. 选中以下复选框:
▪ POST
▪ REDIRECT
2. 清除以下复选框:
▪ ARTIFACT
▪ POST
3. 跳过 Overrides 选项卡上的设置,然后单击 Next。
4. 在 Signature Policy 选项卡上,单击 SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS 并选中其下的两个复选框,然后单击 Next。
5. 在 Encryption Policy 选项卡上,单击 ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES 并选中 THE ENTIRE ASSERTION 复选框,然后单击 Next。
6. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。Browser SSO 页面随即打开。
7. Browser SSO 页面上的 Protocol Settings 选项卡显示了配置协议设置时所选择的信息。单击 Next。
8. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。IdP Connection 页面随即打开。
9. 在 IdP Connection 页面的 Browser SSO 选项卡上,单击 Next。
10. 在 Credentials 选项卡上,单击 Configure Credentials。Credentials 页面随即打开,在此页面中您需要指定设置以配置凭据。
G) 配置凭据
1. 在 Digital Signature Settings 选项卡上,单击 Manage Certificates。
2. 要创建签名证书,请单击 Create New 并提供以下值,然后单击 Next:
▪ COMMON NAME
▪ ORGANIZATION
▪ COUNTRY
▪ VALIDITY (DAYS)—365
▪ KEY ALGORITHM—RSA
▪ KEY SIZE (BITS)—2048
▪ SIGNATURE ALGORITHM—RSA SHA256
3. 查看 Summary 选项卡中的信息。如果信息正确无误,请相继单击 Save 和 Done。
4. 在 Digital Signature Settings 选项卡上,针对所创建的 SIGNING CERTIFICATE,选中 INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT 复选框,然后单击 Next。
此应用程序层证书可用于以数字方式签署从 PingFederate 到 IdP 的请求。
5. 在 Signature Verification Settings 选项卡上,单击 Manage Signature Verification Settings。
a. 在 Trust Model 选项卡上,选择 UNANCHORED,然后单击 Next。
b. 在 Signature Verification Certificate 上,验证 IdP 签名证书是否已显示,然后单击 Next。
此应用程序层证书可用于从 IdP 到 PingFederate 请求的签名验证。当从 IdP 导入 metadata.xml 文件时,此证书会被自动导入 PingFederate。
c. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。
d. 在 Signature Verification Settings 选项卡上,单击 Next。
e. 在 Select Decryption Keys 中,选择 PingFederate 证书,然后单击 Next。
f. 查看 Summary 选项卡中的信息。如果信息正确无误,请单击 Done。
g. 在 Credentials 页面上,单击 Next。
H) 激活 IdP 连接
在 Activation & Summary 页面上,确保 SSO Application Endpoint 已激活,然后单击 Save。
IdP 连接现已创建并激活。
I) 验证 IdP 连接
单击所创建的 IdP 连接、复制 SSO Application Endpoint URL、将其粘贴到浏览器中,然后验证其是否重定向至 IdP。这样一来,PingFederate 中的这一 URL 必将重定向至 AD FS。您将看到类似于下图的页面,其中包含了一条错误消息。
步骤 1:从 PingFederate 导出元数据 XML 文件
1. 在 PingFederate 中,转至 Service Provider,然后在 IDP Connections 下单击 Manage All。
2. 对于 IdP 连接,请在 Select Action 列表中单击 Export Metadata。
3. 在 Metadata Signing 页面上,单击 Next。
4. 在 Export & Summary 页面上,单击 Export 以将元数据文件下载至计算机上的 Downloads 文件夹,然后单击 Done。
5. 将元数据 XML 文件复制到 AD FS 计算机。
步骤 2:在 AD FS 中添加信赖方
1. 登录到 AD FS 服务器,然后打开 Server Manager。
2. 转至 > 。
3. 在 AD FS 下,右键单击 Relying Party Trusts,然后选择 Add Relying Party Trust。这可确保 AD FS 信任相关连接来自于 PingFederate。
4. 在 Add Relying Party Trust Wizard 窗口中,执行以下操作:
1. 单击 Start。
2. 在下一个屏幕上,单击 Import data about the relying party from a file。
3. 单击 Browse,导航至从 PingFederate 复制的 Metadata.xml 文件所在位置,以在 AD FS 中创建信赖方,然后单击 Next。
4. 提供一个 Display name,然后单击 Next。
请记下此名称以便后续使用。
5. 在以下窗口中单击 Next,直至到达 Finish 屏幕。然后,单击 Close。
当前条目随即将被添加至 Relying Part Trusts 列表。
您还应看到以下窗口 (它可能隐藏在当前窗口后面):
5. 要将 AD FS 属性映射至 Active Directory,请执行以下操作:
1. 在 Edit Claim Issuance Policy for <Relying Part Trust Name> 窗口中,单击 Add Rule,然后单击 Next。
2. 提供 Claim rule name,并将 Attribute store 设置为 Active Directory。
3. 在 Mapping of LDAP attributes to outgoing claim types 表中,从列表内选择值以将 AD FS 属性映射至 Active Directory 属性:
显示-名称 | 名称 |
SAM-帐户-名称 | 名称 ID |
电子邮件地址 | 电子邮件地址 |
为 DL 成员 | 组 |
4. 单击 Finish,然后单击 OK。
步骤 3:设置 AD FS 以加密完整消息和断言
1. 在 AD FS 计算机上,以管理员身份打开 Windows PowerShell。
2. 在 AD FS 计算机上运行以下命令以使通信正常工作:
Set-ADFSRelyingPartyTrust -TargetName <Relying Party Trust Name> -SamlResponseSignature "MessageAndAssertion"
其中,<Relying Party Trust Name> 为上述步骤 2 中创建并记下的信赖方信任名称。
此命令通过 Windows PowerShell 配置 SAML 响应签名。