
# 使用AD FS进行用户SAML 2.0认证示例
#### 操作场景
本文以 Workspace与AD FS 的单点登录集成为例，介绍企业身份提供商与 Workspace 的端到端配置流程。示例基于在弹性云服务器上搭建的 AD FS 环境。
#### 前提条件
创建一台Windows Server服务器（Windows Server 2016或Windows Server 2019），参考[购买云服务器](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0112.html)，在服务器内进行以下搭建工作：
- Active Directory域服务（AD DS）：提供对域用户和域设备等对象的创建、查询和修改等功能，如果已有AD域服务器，可无需执行此操作。
- Active Directory Federation Service（AD FS）：提供配置 SSO 信赖方的功能，并对配置好的信赖方提供 SSO 认证。
 
#### 步骤一：安装 AD CS服务
1. 使用账号密码登录AD 服务器。
2. 按"win + r"，在弹出的运行框中输入"servermanager"命令，打开服务器管理器。
3. 在"服务器管理器"页面左侧单击"仪表盘"，单击"添加角色和功能"，弹出"添加角色和功能向导"页面。
4. 在"选择安装类型"勾选"基于角色或基于功能的安装"，单击"下一步"。
5. 勾选"从服务器池中选择服务器"，单击"下一步"。
6. 在"选择服务器角色"页面勾选"Active Directory 证书服务"，弹出"添加角色和功能向导"。
7. 单击"添加功能"，单击"下一步"。
8. 单击"下一步"，再次单击"下一步"。
9. 在"角色服务"中勾选"证书颁发机构"和"证书颁发机构Web注册"，单击"下一步"。
10. 在"确认安装所选内容"页面单击"安装"。 
    ![](https://support.huaweicloud.com/bestpractice-workspace/public_sys-resources/note_3.0-zh-cn.png)
    请勿在安装过程中关闭向导。
    
    

11. 安装完成后，单击"配置目标服务器上配置 Active Directory 证书服务"，弹出"AD CS配置"向导页面。
12. 单击"下一步"。
13. 在"角色服务"中，勾选"证书颁发机构"和"证书颁发机构Web注册"，单击"下一步"。
14. 在"设置类型"页面勾选"企业 CA"，单击"下一步"。
15. 在"指定 CA 类型"页面勾选"根 CA"，单击"下一步"。
16. 在"指定私钥类型"页面勾选"创建新的私钥"，单击"下一步"。
17. 在"CA 的加密"页面，默认选择（RSA#Microsoft Software Key Storage Provider），密钥长度默认选择"2048"。 
    哈希算法默认选择 (SHA256) ，单击"下一步"。
    
    
18. 在"CA 名称"页面配置指定CA名称，单击"下一步"。 
    - 此CA的公用名称（C）：建议使用默认名称，或根据要求更改名称。
    
    - 可分辨名称名称后缀（D）：默认为空，可根据实际情况选择是否填写。
    
    - 预览可分辨名称（V）：建议使用默认名称，或根据要求更改名称。
    
    
    
    
19. 在"有效期"页面"指定有效期"中， 建议的默认设置为"5年"或根据实际情况选择年限。单击"下一步"。
20. 在"CA 数据库"页面的"指定数据库位置"中，指定证书数据库位置和证书数据库日志位置。 如果指定默认位置之外的位置，请确保使用阻止未经授权的用户或计算机访问 CA 数据库和日志文件的访问控制列表 (ACL) 来保护文件夹。 单击"下一步"。
21. 在"确认"页面单击"配置"，配置完成后，表示安装成功。 
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002481391072.png "点击放大")
    
    
    
22. 在云服务器上使用浏览器访问：http://localhost/certsrv，确保CA安装成功，如下图所示。 
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002481551028.png "点击放大")
    
    
    
 
#### 步骤二：安装AD FS 服务
1. 在弹性云服务器列表中，单击创建的弹性云服务器"操作"列的"远程登录"。
2. 单击远程登录操作面板右上方的"Send CtrlAltDel"按钮进行登录。
3. 根据界面提示，输入弹性云服务器密码，登录弹性云服务器。
4. 在左下角的任务栏，单击![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465869698.png)。
5. 在弹出的"开始"菜单右侧，单击打开"服务器管理器"窗口，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498829085.png "点击放大")
   
   
   
6. 在服务器管理器窗口右上方依次单击"工具 \> IIS管理器"，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465710050.png "点击放大")
   
   
   
7. 在IIS管理器中，双击"服务器证书"，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498909017.png "点击放大")
   
   
   
8. 在服务器证书页面右侧单击"创建证书申请"，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465869702.png "点击放大")
   
   
   
9. 在弹出的申请证书页面根据实际情况填写相关信息，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498829089.png "点击放大")
   
   
   
10. 单击"下一步"，机密服务提供程序属性为默认，单击"下一步"。
11. 为证书申请指定一个文件名，如*ADServer.txt* ，如下图所示。
    
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465710054.png "点击放大")
    
    
    
12. 单击"完成"。
13. 在云服务器上使用浏览器访问：http://localhost/certsrv。
14. 在打开的浏览器页面依次单击"申请证书 \> 高级证书申请 \> 使用base64编码的CMC或PKCS#10文件提交一个证书申请，或使用base64编码的PKSC#7文件续订证书申请"。
15. 在弹出的提交证书申请页面，将申请证书保存的证书文件[11]中内容复制到如下图所示的输入框中，证书模板下拉框中选择"Web服务"，单击"提交"。
    
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002516533647.png "点击放大")
    
    
    
16. 等待证书颁发成功后，单击下载证书。
17. 在服务器证书页面，单击"完成证书申请"，在弹出的页面选择[16]中下载的证书，单击"确定"，如下图所示。
    
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498909021.png "点击放大")
    
    
    
18. 在"IIS管理器"左侧依次单击"网站 \> Default Web Site"，右键单击编辑绑定， 如下图所示。 
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465869706.png "点击放大")
    
    
    
19. 在弹出的"网站绑定"页面，右侧单击"添加"。 
    - 类型选择为：https
    
    - IP地址选择：全部未分配
    
    - 端口：443
    
    - SSL证书：选择[17]中的证书
    
    
    
    
20. 打开"服务器管理器"，在仪表盘页面单击"添加角色和功能"，按照默认选择一直单击"下一步"。
21. 在选择服务器角色页面，勾选"Active Diretory 联合身份验证服务"，按照默认选择，一直单击"下一步"，直至完成安装。
22. 在安装完成页面，单击在此服务器上配置联合身份服务，如下图所示。 
    ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498829093.png "点击放大")
    
    
    
23. 默认选择，连续两次单击"下一步"。
24. 在指定服务属性页面，单击"导入"，导入[11]的证书，选择联合身份验证服务名称及显示名称，单击"下一步"。
25. 设置指定账户，单击"选择"选择使用现有的域用户账户或组托管服务账户，单击"下一步"。
26. 按照默认选择一直单击"下一步"，单击"配置"。
27. 使用浏览器访问元数据下载地址，下载IDP元数据。
    
    **示例** ：确定AD FS的域名，如*saml.huawei.com*
    下载地址即为：https://*saml.huawei.com*/FederationMetadata/2007-06/FederationMetadata.xml
    
    
 
#### 步骤三：在Workspace中将AD FS 配置为可信SAML IDP
1. [登录管理控制台](https://console.huaweicloud.com/workspace/v2/#/console)。
2. 在左侧导航中依次选择"租户配置 \> 认证配置"，在主认证配置页签下，单击"修改"。
3. 在主认证类型选择"第三方单点认证"。
4. 协议类型选择"SAML2.0"，根据需要配置信息，如[表1]所示。
   
    表1SAML相关的配置项及说明 
   | 配置项     | 说明                                                                                                                     | 参考值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 提供方                  |
   |:---|:---|:---|:---|
   | 身份提供者名称 | 用户自定义，名称只能由英文字母、数字及特殊字符"-"组成，字符范围：1\~64个字符                                                                             | Azure                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 由租户侧自定义              |
   | 接入服务器地址 | 服务器接入地址（互联网接入地址或云专线接入地址），输入内容不能为空，字符范围1\~255个字符                                                                        | *https://100.100.66.10:8443*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 由租户侧在云桌面的管理控制台上获取    |
   | IDP元数据  | Identity Provider（身份提供者，简称 "IDP"）的元数据文件，其中包含了关于IDP的配置信息，如身份提供者的实体ID、支持的身份验证方法、签名证书等。文件必须是有效的UTF-8编码的XML文件，且文件大小不超过1MB。 | - 在AD FS服务器上下载IDP元数据。参见[27]中下载的元数据XML文件。  - 单击"添加文件 "将第三方认证平台中下载的联合元数据XML文件上传   | 由租户侧SAML身份提供者（IDP）提供 |
   | 用户唯一标识  | 用户唯一标识配置为url格式，该标识对应的值必须与Workspace的用户名保持一致。                                                                            | http://schemax.xxx.xxx                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 由租户侧SAML身份提供者（IDP）提供 |
      
   
   
5. 单击"保存"，在"SP元数据"右侧单击"下载"，将下载的SP元数据保存以作备用。
 
#### 步骤四：在AD FS中将Workspace配置为可信SAML SP
1. 使用账号密码登录至AD FS服务器中，打开"服务器管理器"。
2. 在服务器管理器页面依次单击"工具 \> AD FS管理"，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465710058.png "点击放大")
   
   
   
3. 在AD FS管理工具中左侧导航栏右键单击"信赖方信息 \> 添加信赖方信任"。
4. 在弹出添加信赖方信任向导窗口单击"启动"。
5. 在选择数据源页面，选择"从文件导入有关信赖方的数据"，上传[5]中下载的SP元数据文件，如下图所示。
   
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498909025.png "点击放大")
   
   
   
6. 单击"下一步"，根据需要自定义显示名称。
7. 连续单击"下一步"，直至完成。配置完成后，Workspace和AD FS 就产生了互信，配置完成后查看信任站点。
 
#### 步骤五：为SP配置SAML断言属性
1. 使用账号登录至AD FS服务器中，打开"服务器管理器"。
2. 在服务器管理器页面依次单击"工具 \> AD FS管理"，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002465869710.png "点击放大")
   
   
   
3. 在AD FS工具页面依次单击"信赖方信任 \> 编辑声明颁发策略"，如下图所示。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002498829117.png "点击放大")
   
   
   
4. 在弹出的编辑窗口单击"添加规则"，添加如下两条规则。 
   - 转换传入声明 ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002515777923.png "点击放大")
     
     ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002515896997.png "点击放大")
     
     
   
   - 以声明方式发送LDAP特性 ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002515895197.png "点击放大")
     
     ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002483617850.png "点击放大")
     
     
   
   
   
   
5. 单击"完成"。
 
#### 步骤六：验证登录
1. 打开华为云客户端，输入服务器地址、企业ID，单击"下一步"。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002481405650.png "点击放大")
   
   
   
2. 单击"登录"。 
   ![](https://support.huaweicloud.com/bestpractice-workspace/zh-cn_image_0000002481565606.png "点击放大")
   
   
   
3. 页面跳转至MicrosoftEntra ID认证平台，输入用户和密码。
4. 页面跳转回云桌面列表页面，单击目标桌面即可登录。
 
