一、前提条件
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
注意:说明:
注意:如你已安装部署 Microsoft AD,可忽略步骤1-5,从 步骤6 开始操作。
1. 在云服务器内,进入 Server Manager > Dashboard,单击 Add roles and features:
2. 一直单击 Next 直到单击 Install 完成安装:
3. 安装完成后单击 Promote this server to a domain controller:
4. 在 Deployment Configuration 页面选择 Add a new forest 补充 Root domain name 信息为 testdomain.com:
5. 在 Domain Controller Options 中补充 Password 信息,如下所示,完成后一直单击Next,单击 Install 完成安装
6. 安装完成后,服务器将重启,重启完成后,进入 Start Menu > Active Directory Users and Computers:
7. 在 Active Directory Users and Computers 页面,新建 Org 及 Users 信息,其中 Users-First name 名称需与后续腾讯云创建的子用户保持一致:
三、安装 CA
1. 在云服务器内,进入 Server Manager > Dashboard,单击 Add roles and features:
2. 一直单击 Next 直到 Server Roles 页面,在 Server Roles 页面选择 Active Directory Certificate Services:
3. 一直单击 Next 直到 AD CS > Role Services 页面,选择 Certification Authority、Certification Authority Web Enrollment:
4. 一直单击 Next 直到 Results 页面,单击下图信息配置 AD CS Configuration:
5. 单击 Next,在 Role serveries 页面,勾选下图信息,单击 Next。
6. 在 Setup Type 页面,选择 Enterprise CA:
7. 在 CA Type 页面,选择 Root CA:
8. 在 Private Key 页面,选择 Create a new private key:
9. 在 Certificate Database 页面,补充信息,单击 Next:
10. 访问 http://localhost/certsrv 确保 CA 安装成功:
四、安装 ADFS 服务
在配置前你需要给计算机或者指定的用户或者计算机授权证书颁发。安装 ADFS 前,需要创建和配置证书,这篇中通过 IIS 进行证书申请。
1. 在云服务器内,单击,在弹出的窗口单击工具,选择 IIS 管理器。
2. 在 IIS 管理器中,单击服务器证书:
3. 进入服务器证书页面,单击创建证书申请:
4. 访问 http://localhost/certsrv,单击申请证书 > 高级证书申请 > 使用 base64 编码:
5. 在弹出的提交证书申请页面,将申请证书保存的证书文件内容复制之后补充至以下输入框,证书模板选择 Web 服务器,单击提交。如下:
6. 提交之后,单击下载证书:
7. 在服务器证书页面,单击完成证书申请,在弹出的页面选择 步骤6 下载的证书:
8. 在网站 > Default Web Site 主页,右键单击编辑绑定:
9. 在弹出的网站绑定页面,单击添加,选择类型为 https,IP 地址为全部未分配,端口为 80,SSL 证书为 test.cert:
10. 在管理工具页面,单击证书颁发机构:
11. 在证书颁发机构页面,选择证件模板,右键单击管理:
12. 请参考下图配置:
13. 进入服务器管理器 > 仪表板页面,单击添加角色和功能,按照默认选择一直单击下一步直到服务器角色选择页面,勾选 Active Directory Federation Services,一直单击下一步,直至安装完成。
14. 在安装完成页面,单击在此服务器上配置联合身份验证服务:
15. 在弹出的向导页面,单击下一步。
16. 设置指定服务属性,选择并填写好所需数据,单击下一步。
17. 设置指定服务账户,选择使用现有的域用户账户或组托管服务账户,单击选择。
18. 选择指定账户后,单击确认,确认后直至安装完成。
五、用户SSO配置
1. 在服务器内浏览器访问 https://adserver.testdomain.com/FederationMetadata/2007-06/FederationMetadata.xml,将源数据 XML 下载至本地。
2. 进入访问管理-用户 SSO 控制台,单击右侧编辑,设置 SSO 协议为 SAML,上传 步骤1 保存的 XML 文件。
3. 在服务器内进入 ADFS 管理页面,选择信任关系 > 信赖方信任,右键选择添加信赖方信任,单击启动,补充联合元数据地址,元数据地址从第 2 步中获取,一直单击下一步:
4. 配置完后,效果如下:
六、为腾讯云 SP 配置 SAML 断言属性
为保证腾讯云 SAML 响应定位到正确的子用户,SAML 断言中的 NameID 字段需要是腾讯云子用户名。SAML 断言中的 NameID 默认传入为(TESTDOMAIN\\子用户名)格式,需正则表达式去除原有配置 TESTDOMAIN,仅保留子用户名(TESTDOMAIN 是前面的默认 NETBIOS 名)。自定义规则为:安装 ADFS 服务中步骤3 申请证书所在文件内的 txt 内容。
注意:说明:
注意:若出现请求终止,无法创建 SSL/TLS 安全通道时,可通过 powershell 执行方式重启服务器解决。
注意:Set-ItemProperty -Path 'HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft.NetFramework\\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
注意: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. 输入用户名、密码信息,即可完成登录: