操作场景
本文提供一个以 ADFS 与腾讯云进行用户 SSO 的示例,帮助您理解企业 IdP 与腾讯云进行 SSO 的端到端配置流程。
前提条件
1. 拥有一台 Windows Server 服务器。如您需要购买服务器,请参见 云服务器-购买指南。
2. 在服务器内进行以下搭建工作。
2.1 DNS 服务器:将身份认证请求解析到正确的 Federation Service 上。
2.2 Active Directory 域服务(AD DS):提供对域用户和域设备等对象的创建、查询和修改等功能。
2.3 Active Directory Federation Service(AD FS):提供配置 SSO 信赖方的功能,并对配置好的信赖方提供 SSO 认证。
说明:
本文中涉及到 Microsoft Active Directory 配置的部分属于建议,仅用于帮助理解腾讯云 SSO 登录的端到端配置流程,腾讯云不提供 Microsoft Active Directory 配置的咨询服务。
操作步骤
安装部署 Microsoft AD
说明:
1. 在云服务器内,进入 Server Manager > Dashboard,单击 Add roles and features,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/d9555bd826b26318ab0a909e75b5c531.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d9555bd826b26318ab0a909e75b5c531.png)
2. 一直单击 Next 直到单击 Install 完成安装,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/c0fdff3b9bfac45f0fa537d0f584569b.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/c0fdff3b9bfac45f0fa537d0f584569b.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/75d57be5ebea926cb652e0de70d987c9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/75d57be5ebea926cb652e0de70d987c9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5d88065f628ac6f7c5b8e22550daa93f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5d88065f628ac6f7c5b8e22550daa93f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e3135d0ceb83bd3f51d28bae66323c66.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e3135d0ceb83bd3f51d28bae66323c66.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b8383aeff299c22b618f8aa84f7d5ff7.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b8383aeff299c22b618f8aa84f7d5ff7.png)
3. 安装完成后单击 Promote this server to a domain controller,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/f20d4b8efc6b9d8f7aa47d35497c2716.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/f20d4b8efc6b9d8f7aa47d35497c2716.png)
4. 在 Deployment Configuration 页面选择 Add a new forest 补充 Root domain name 信息为 testdomain.com,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/281a00b78895b11026e38f5b3af0e4db.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/281a00b78895b11026e38f5b3af0e4db.png)
5. 在 Domain Controller Options 中补充 Password 信息,如下图所示,完成后一直单击Next,单击 Install 完成安装
![](https://qcloudimg.tencent-cloud.cn/image/document/b1d3edcdec0151eab0e61be6feec2499.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b1d3edcdec0151eab0e61be6feec2499.png)
6.
安装完成后,服务
器将重启,重启完成后,进入 Start Menu > Active Directory Users and Computers,如下图所示:![](https://qcloudimg.tencent-cloud.cn/image/document/0862a64b617d6be2bffeb8e3caa8a0b4.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0862a64b617d6be2bffeb8e3caa8a0b4.png)
7. 在 Active Directory Users and Computers 页面,新建 Org 及 Users 信息,其中 Users-First name 名称需与后续腾讯云创建的子用户保持一致,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/3b443c4d88ec73a178a32359280f30d6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3b443c4d88ec73a178a32359280f30d6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5982965c29a5b91719c44d823fe1cb7f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5982965c29a5b91719c44d823fe1cb7f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/36073bd5839ff772646658e404b1d317.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/36073bd5839ff772646658e404b1d317.png)
安装 CA
1. 在云服务器内,进入 Server Manager > Dashboard,单击 Add roles and features,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/945254214894768b8db88fde64144bcf.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/945254214894768b8db88fde64144bcf.png)
2. 一直单击 Next 直到 Server Roles 页面,在 Server Roles 页面选择 Active Directory Certificate Services,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/67e9aacf57924773fb6be9826bafb31c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/67e9aacf57924773fb6be9826bafb31c.png)
3. 一直单击 Next 直到 AD CS > Role Services 页面,选择 Certification Authority、Certification Authority Web Enrollment,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/9d2312826618d00362d3311ceebaaaac.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9d2312826618d00362d3311ceebaaaac.png)
4. 一直单击 Next 直到 Results 页面,单击下图信息配置 AD CS Configuration,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/ff89e224ed2cfe4ff55b07036a9e5592.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ff89e224ed2cfe4ff55b07036a9e5592.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/217026a31744fcc6165ba320fdfb3cc4.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/217026a31744fcc6165ba320fdfb3cc4.png)
5. 单击 Next,在 Role serveries 页面,勾选下图信息,单击 Next。
![](https://qcloudimg.tencent-cloud.cn/image/document/9ad6b59adfb9c86b9acd60510287bf37.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9ad6b59adfb9c86b9acd60510287bf37.png)
6. 在 Setup Type 页面,选择 Enterprise CA,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/d7957eb22dddba891b8c38c9bb0f52f5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d7957eb22dddba891b8c38c9bb0f52f5.png)
7. 在 CA Type 页面,选择 Root CA,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/d6fd6add5e4787c513b4188b2076431e.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d6fd6add5e4787c513b4188b2076431e.png)
8. 在 Private Key 页面,选择 Create a new private key,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/4c7d2b469367e13fa346a9a0bf4744f6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/4c7d2b469367e13fa346a9a0bf4744f6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9cf9c1abc49375fcaa2660360fa5e315.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9cf9c1abc49375fcaa2660360fa5e315.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e770efe2b8cd586da6b666ddbb8a9d1c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e770efe2b8cd586da6b666ddbb8a9d1c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/332838e1ad234d6c520eaf1899726b45.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/332838e1ad234d6c520eaf1899726b45.png)
9. 在 Certificate Database 页面,补充信息,单击 Next,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/a3797870fd8fb36c1c1b5e83c2b3cce6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a3797870fd8fb36c1c1b5e83c2b3cce6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0dd94b0bc3f24de39c0830694daaef41.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0dd94b0bc3f24de39c0830694daaef41.png)
10. 访问
http://localhost/certsrv
确保 CA 安装成功,如下图所示:![](https://qcloudimg.tencent-cloud.cn/image/document/078c3d5cd183471a6a1080ae2275e391.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/078c3d5cd183471a6a1080ae2275e391.png)
安装 ADFS 服务
在配置前您需要给计算机或者指定的用户或者计算机授权证书颁发。安装 ADFS 前,需要创建和配置证书,本文中通过 IIS 进行证书申请。
1. 在云服务器内,单击![](https://qcloudimg.tencent-cloud.cn/image/document/18c87e39c6c5ff76b388e27db4d1ae7d.png)
,在弹出的窗口单击工具,选择 IIS 管理器。
![](https://qcloudimg.tencent-cloud.cn/image/document/18c87e39c6c5ff76b388e27db4d1ae7d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3390e5273e76e7f38033b1d6dbd43b82.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3390e5273e76e7f38033b1d6dbd43b82.png)
2. 在 IIS 管理器中,单击服务器证书,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/12d0809ba7e21f69c546519193b63483.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/12d0809ba7e21f69c546519193b63483.png)
3.
进入服务器证
书页面,单击创建证书申请,如下图所示:![](https://qcloudimg.tencent-cloud.cn/image/document/3a91ac2f9ae25ae65d2eb06cb08bbe99.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3a91ac2f9ae25ae65d2eb06cb08bbe99.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/56e1d69d91aaeba6637d9035c6d8047d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/56e1d69d91aaeba6637d9035c6d8047d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/bd7603b75271f6f9b7f93fca7a7a0345.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/bd7603b75271f6f9b7f93fca7a7a0345.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/038f3147df74ffffb9f9867474f80ebc.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/038f3147df74ffffb9f9867474f80ebc.png)
4. 访问
http://localhost/certsrv
,单击申请证书 > 高级证书申请 > 使用 base64 编码,如下图所示:![](https://qcloudimg.tencent-cloud.cn/image/document/eb63c4cdcea3383fb3bb2a9aa99db1a2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/eb63c4cdcea3383fb3bb2a9aa99db1a2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6ded27c7207e853d7cef0561d0d69617.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6ded27c7207e853d7cef0561d0d69617.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b545705922e07fa91309eea1dcaa1afb.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b545705922e07fa91309eea1dcaa1afb.png)
5. 在弹出的提交证书申请页面,将申请证书保存的证书文件内容复制之后补充至以下输入框,证书模板选择 Web 服务器,单击提交。如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/9b47c678e0fe934f9bc39e25cb0e9548.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9b47c678e0fe934f9bc39e25cb0e9548.png)
6.
提交之后
,单击下载证书,如下图所示:![](https://qcloudimg.tencent-cloud.cn/image/document/135859a3ac59f885e77d5f00b936a065.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/135859a3ac59f885e77d5f00b936a065.png)
7. 在服务器证书页面,单击完成证书申请,在弹出的页面选择 步骤6 下载的证书,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/597468128eac52814429e23d41f05b91.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/597468128eac52814429e23d41f05b91.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/11dba25e133eb85915b35e32b0808539.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/11dba25e133eb85915b35e32b0808539.png)
8. 在网站 > Default Web Site 主页,右键单击编辑绑定,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/41c1ca86eaaf94a7194ee855205fc6a5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/41c1ca86eaaf94a7194ee855205fc6a5.png)
9. 在弹出的网站绑定页面,单击添加,选择类型为 https,IP 地址为全部未分配,端口为 80,SSL 证书为 test.cert,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/1ba66e134f44c261818ac05d4ed987cd.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/1ba66e134f44c261818ac05d4ed987cd.png)
10. 在管理工具页面,单击证书颁发机构,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/8c72d1ba20f15fef276b203b2e5df8be.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8c72d1ba20f15fef276b203b2e5df8be.png)
11. 在证书颁发机构页面,选择证件模板,右键单击管理,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/c195c2c73d5b76e34324200bc49926fa.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/c195c2c73d5b76e34324200bc49926fa.png)
12. 请参考下图配置:
![](https://qcloudimg.tencent-cloud.cn/image/document/4fba432bc1b5c6cd09aa01fa955500c3.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/4fba432bc1b5c6cd09aa01fa955500c3.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e582d42cb276c06b46ceb31a70b91670.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e582d42cb276c06b46ceb31a70b91670.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/dd193c8376b8925db01a580f9cfd9957.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/dd193c8376b8925db01a580f9cfd9957.png)
13. 进入服务器管理器 > 仪表板页面,单击添加角色和功能,按照默认选择一直单击下一步直到服务器角色选择页面,勾选 Active Directory Federation Services,一直单击下一步,直至安装完成。
14. 在安装完成页面,单击在此服务器上配置联合身份验证服务,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/ae4bd49150e87904d7136cc2b706eb0c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ae4bd49150e87904d7136cc2b706eb0c.png)
15. 在弹出的向导页面,单击下一步。
![](https://qcloudimg.tencent-cloud.cn/image/document/13127a7a83c95a31bbf561969574801f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/13127a7a83c95a31bbf561969574801f.png)
16. 设置指定服务属性,选择并填写好所需数据,单击下一步。
![](https://qcloudimg.tencent-cloud.cn/image/document/511319beacf0b3550f98f2b36fe538a0.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/511319beacf0b3550f98f2b36fe538a0.png)
17. 设置指定服务账户,选择使用现有的域用户账户或组托管服务账户,单击选择。
![](https://qcloudimg.tencent-cloud.cn/image/document/d0dc4579df79fec6250c4438a80ab2fb.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d0dc4579df79fec6250c4438a80ab2fb.png)
18. 选择指定账户后,单击确认,确认后直至安装完成。
![](https://qcloudimg.tencent-cloud.cn/image/document/931832b8b6cde3537da0bd9c2fe8782c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/931832b8b6cde3537da0bd9c2fe8782c.png)
用户SSO配置
1.
在服务器内
浏览器访问 https://adserver.testdomain.com/FederationMetadata/2007-06/FederationMetadata.xml
,将源数据 XML 下载至本地。2. 进入访问管理-用户 SSO 控制台,单击右侧编辑,设置 SSO 协议为 SAML,上传 步骤1 保存的 XML 文件。
3. 在服务器内进入 ADFS 管理页面,选择信任关系 > 信赖方信任,右键选择添加信赖方信任,单击启动,补充联合元数据地址,元数据地址从第 2 步中获取,一直单击下一步,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/b1bbf36614b50518af82f08237bc6c14.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b1bbf36614b50518af82f08237bc6c14.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/77f9f6ac9b62db28b4aac4c8cb7dbcd9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/77f9f6ac9b62db28b4aac4c8cb7dbcd9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ca907217b51f28273a13c5c905ca3c21.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ca907217b51f28273a13c5c905ca3c21.png)
4. 配置完后,效果如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/edd1976cd2ed70c7721b046402fc0d2f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/edd1976cd2ed70c7721b046402fc0d2f.png)
为腾讯云 SP 配置 SAML 断言属性
为保证腾讯云 SAML 响应定位到正确的子用户,SAML 断言中的 NameID 字段需要是腾讯云子用户名。SAML 断言中的 NameID 默认传入为(TESTDOMAIN\\子用户名)格式,需正则表达式去除原有配置 TESTDOMAIN,仅保留子用户名(TESTDOMAIN 是前面的默认 NETBIOS 名)。自定义规则为:安装 ADFS 服务中步骤3 申请证书所在文件内的 txt 内容。
![](https://qcloudimg.tencent-cloud.cn/image/document/739c4e1d2c94a3dcaf654d5cf24c9ab6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/739c4e1d2c94a3dcaf654d5cf24c9ab6.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/492d53e861a121214e1fe784054c5444.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/492d53e861a121214e1fe784054c5444.png)
说明:
若出现请求终止,无法创建 SSL/TLS 安全通道时,可通过 powershell 执行方式重启服务器解决。
32位机器:
Set-ItemProperty -Path 'HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft.NetFramework\\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
64位机器:
Set-ItemProperty -Path 'HKLM:\\SOFTWARE\\Microsoft.NetFramework\\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
用户 SSO 登录:
1. 在浏览器输入
https://adserver.testdomain.com/adfs/ls/idpinitiatedsignon
。2. 输入用户名、密码信息,即可完成登录,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/4627db78f355824c7606bf44cefa9f24.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/4627db78f355824c7606bf44cefa9f24.png)