更新时间:2022-01-06
案例目标
结合第三方 CA 实现证书认证,并且保证某些用户登录进来之后自动分配到相应的用户组,拥有该用户组的权限。
以微软 CA 为例,微软 CA 颁发用户证书,用户都是存在域 MS LDAP 中的,例如: ldap 中各个用户的权限各不相同,客户希望不同 OU 下的用户登录到 SSL 之后也拥有不同权限,并且客户通过 CA 中心已经为这些需要认证的用户生成证书,希望这些用户登录SSL 时能通过第三方证书认证。
具体需求
LDAP 中有不同的 OU,要实现不同的 OU 下的用户通过第三方证书认证之后自动分配到不同的权限。如下图,test1 隶属于 ou1,test2 隶属于 ou2,要实现两个用户登录 SSL 后自动分配不同的资源,并且不需要把 test1 和 test2 两个用户导入到设备中。
配置步骤
第一步:将设备设置为外部 CA 认证,具体请参考案例《结合第三方 CA 实现数字证书认证》
第二步:进入『SSL 设置』→『用户管理』页面,点击新建按钮,新增用户组,在SSL 设备中新建两个用户组 ou1 和 ou2,ou1 和 ou2 认证属性不需要设置证书认证:
第三步:在 CA 中心分别为用户 test1、test2 申请用户证书:
查看两个证书的主题项可知,test1 的 DN 是:CN=test1,OU=ou1,DC=zy,DC=sangfor,
DC=com;test2 的 DN 是:CN=test2,OU=ou2,DC=zy,DC=sangfor,DC=com:
第四步:设置 CA 中心组映射规则,选择『信任该 CA 签发的所有证书用户』:
点击配置映射规则中,添加并设置 LDAP 中 ou1 映射为 SSL 中的 ou1 组,LDAP 中ou2 映射为 SSL 中的 ou2 组:
第五步:进入『SSL 设置』→『角色授权』页面,分别给 ou1 和 ou2 两个组分配不同的资源:
效果展示
用户 test1 登录之后,分配到授权给 ou1 的资源,如下图:
用户 test2 登录之后,分配到授权给 ou2 的资源,如下图: