更新时间:2023-05-12
案例目标:结合第三方CA实现证书认证,并且保证某些用户登录进来之后自动分配到相应的用户组,拥有该用户组的权限。
以微软CA为例,微软CA颁发用户证书,用户都是存在域MS LDAP中的,例如:ldap中各个用户的权限各不相同,客户希望不同OU下的用户登录到SSL之后也拥有不同权限,并且客户通过CA中心已经为这些需要认证的用户生成证书,希望这些用户登录SSL时能通过第三方证书认证。
具体需求:LDAP中有不同的OU,要实现不同的OU下的用户通过第三方证书认证之后自动分配到不同的权限。如下图,test1隶属于ou1,test2隶属于ou2,要实现两个用户登录SSL后自动分配不同的资源,并且不需要把test1和test2两个用户导入到设备中。
配置步骤如下:
第一步:将设备设置为外部CA认证(具体配置参见9.7章节的案例配置过程)。
第二步:进入『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的资源,如下图: