
# 配置Kerberos认证源
Kerberos是一种计算机网络认证协议，它允许某实体在非安全网络环境下通信，向另一个实体以一种安全的方式证明自己的身份。具体请参考<https://web.mit.edu/kerberos>。
AD（Active Directory），即活动目录。您可以将AD简单理解成一个数据库，其存储有关网络对象的信息，方便管理员和用户查找所需信息。
SPN（Service Principal Name），即服务主体名称。是服务实例的唯一标识符。
在Kerberos认证过程中，使用SPN将服务实例与服务登录账号关联。所以，必须在内置计算机账户或用户账户下为服务器注册SPN。对于内置账户，SPN会自动注册。如果需要在域用户账户下运行服务，必须要为使用的账户手动注册SPN。
为方便企业用户的认证登录，OneAccess平台支持配置Kerberos协议作为认证源，用户可以通过Kerberos协议认证登录各应用系统，为企业用户带来更简易便捷的登录方式和更好的用户体验。
本章节为您介绍配置Kerberos认证源的相关操作。
#### 搭建AD服务器
以windows server 2012 r2搭建域服务器为例。具体请参考[搭建AD服务器](https://support.huaweicloud.com/bestpractice-oneaccess/oneaccess_05_0139.html#oneaccess_05_0139__section5688164355419)。
 #### 创建AD用户
在已搭建好的AD域中创建AD用户。
1. 进入Active Directory 管理中心。
2. 右键目标域，选择"新建 \> 用户"，输入用户信息，单击"确定"。 
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
   建议设置该用户密码为"密码永不过期"，避免后续登录异常。
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001959387229.png)
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
   每个需要免密登录的AD用户都需要检查是否开启对AES 256位加密的支持，具体操作步骤如下：
   在AD服务器中右击用户打开属性框，找到账户属性，确保账户选项中的"该账户支持Kerberos AES 256 位加密"被勾选。
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001936587886.png)
   
   
 
#### 配置AD服务器
1. 在AD服务器中生成SPN。 
   在AD服务器的DOS窗口中执行命令：setspn -A HTTP/{租户域名} {AD用户名}，如setspn -A HTTP/xxxxxx.huaweioneaccess.com Appointer。
   
   
2. 在AD服务器中生成Keytab文件。
   
   在AD服务器的DOS窗口中执行命令：ktpass /out {keytab文件地址} /mapuser {AD用户名} /princ HTTPS/{租户域名}@{AD域名} /pass {AD用户密码} /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1，如ktpass /out c:\\Appointer.keytab /mapuser Appointer /princ HTTPS/xxxxxx.huaweioneaccess.com@ONEACCESS.COM /pass {AD用户密码} /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1。
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000002110094066.png)
   
   
3. 在AD服务器中设置委派。 
   1. 选择[创建AD用户]中创建的用户，右键选择"属性"，设置委派。
      ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001959347325.png)
      ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001932149184.png)
      
   
   
   
   
 
#### 配置客户端浏览器
- IE浏览器 访问IE浏览器，选择"工具 \> Internet选项 \> 安全 \> 本地 Intranet \> 站点 \> 高级 \> 添加https://{租户域名}"。
  ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001518156560.png)
  
- 谷歌浏览器 与IE浏览器共用配置，即IE浏览器配置后，谷歌浏览器可以直接使用无需额外配置。
  
- 火狐浏览器
  1. 访问火狐浏览器，在地址栏输入"about:config"，单击"接受风险并继续"。 
     
  
  2. 在配置项页面，输入"network.negotiate-auth-trusted-uris"，设置其值为https://{租户域名}。 ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000002143462929.png)
     
   
 
 #### 在OneAccess中添加Kerberos认证源和用户
1. 登录OneAccess管理门户。
2. 在导航栏中，选择"认证 \> 认证源管理 \> 企业认证源 \> Kerberos"，进入Kerberos认证源页面，单击右上方"添加认证源"，配置参数添加认证源。 
   图1添加认证源   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001569116837.png)
   表1配置参数 
   | 参数          | 说明                                                |
   |:---|:---|
   | \* 显示名称     | 认证源的显示名称，支持自定义。如Kerberos认证。                       |
   | \* AD域名     | 大写的AD域名。如ONEACCESS.COM。                           |
   | \* KeyTab文件 | [2]中生成的文件。 |
   | \* 关联用户属性   | 关联系统用户的唯一属性，如用户ID。                                |
   | 未关联用户时      | 通过"关联用户属性"认证失败时，登录失败。                             |
      
   
   
3. 在导航栏中，选择"用户 \> 组织与用户"，选择目标组织，单击"添加用户"，输入用户信息。用户名需与AD域中的登录用户名一致。 
   
   
   
 
