阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ApacheDS配置用户以及用户组实现SSO

149次阅读
没有评论

共计 3820 个字符,预计需要花费 10 分钟才能阅读完成。

ApacheDS 文档比较难读,定义用户权限部分比较隐晦,好在硬骨头已经啃下。

首先把我看到的有用的资料留下:

1、官方文档 - 基本用户手册:http://directory.apache.org/apacheds/basic-user-guide.html 主要介绍了安装以及基本操作、登录等。

2、官方文档 - 高级用户手册:http://directory.apache.org/apacheds/advanced-user-guide.html 介绍了代码编译、系统结构、服务配置以及服务权限管理,这里吐槽一下,真的很难懂,并且各种 TODO;

3、看起来像官方的文档:http://joacim.breiler.com/apacheds/book.html 介绍得很详尽,例子也很丰富。

4、访问控制实例 FR20_ApacheDS_Access_Control_Administration_The_X.500_Way.pdf 

=============================================================================================================

常用的名词解析:

DIT  Directory Information Tree
AA administrative areas
AP administrative points

AAA autonomous administrative area 有自治权的管理区域,所有的实体均统一管理
SAA specific administrative area 特定管理区域
IAA  inner administrative area  内部管理区域

SAP specific administrative point
ACI Access Control Information

Usually an entry is selected as the administrative point and marked with an operational attribute. The attributeType of the operational attribute is ‘administrativeRole’. 
通过添加一个可选属性来使一个实体成为管理点

ACSA access control specific area

=================================================================================================================

实战演练

需求:

1、LDAP 超级管理员,管理 LDAP 上的所有数据;

2、匿名用户可以查看用户信息;

3、用户分为开发、测试和运维三组;

4、通过用户组授权

操作指南:

1、安装 ApacheDS 服务端;

下载地址:apacheds-2.0.0-M15-64bit.bin 下载到目录 /home/apacheds/

chmod +x *.bin

/etc/init.d/apacheds-2.0.0-M15-default start

这样就完成了 ApacheDS 的安装与启动

2、安装 Apache Directory Studio

本次使用 Eclipse 插件,详见 http://directory.apache.org/studio/installation-in-eclipse.html,也支持 Eclipse market 安装。

3、连接与配置

切换到 Eclipse 的 LDAP 视图,新建连接

hostname:199.155.122.90 port:10389 encryption method: nocryption(不同加密算法端口注意)

authentication method: simple user:uid=admin,ou=system passwd:secret(默认的最高权限用户)

OpenConfiguration 启用 Access Control,禁用匿名登录

重启 apacheds 服务生效

4、分区设置

系统默认 example 分区,我们删除之,并新建,本次创建 dc=xxx.com

5、新建 ou=users,新建 ou=groups。

dn: ou=groups,dc=taotaosou.com
objectClass: organizationalUnit
objectClass: top
ou: groups

 

dn: ou=users,dc=taotaosou.com
objectClass: organizationalUnit
objectClass: top
ou: users

6、根目录启用权限控制,添加 administrativeRole 属性是关键

dn: dc=taotaosou.com
objectclass: domain
objectclass: top
dc: taotaosou.com
administrativeRole: accessControlSpecificArea

7、添加匿名读权限

dn: cn=enableAllUsersRead,dc=taotaosou.com
objectClass: subentry
objectClass: accessControlSubentry
objectClass: top
cn: enableAllUsersRead
prescriptiveACI: {identificationTag “enableAllUsersRead”, precedence 0, aut
 henticationLevel none, itemOrUserFirst userFirst: {userClasses { allUsers
 }, userPermissions {{ protectedItems { entry, allUserAttributeTypesAndValu
 es }, grantsAndDenials {grantCompare, grantFilterMatch, grantRead, grantRe
 turnDN, grantBrowse } } } } }
subtreeSpecification: {}

8、添加用户自己修改资料权限

dn: cn=allowSelfAccessAndModification,dc=taotaosou.com
objectClass: subentry
objectClass: accessControlSubentry
objectClass: top
cn: allowSelfAccessAndModification
prescriptiveACI: {identificationTag “allowSelfAccessAndModification”, prece
 dence 10, authenticationLevel simple, itemOrUserFirst userFirst: {userClas
 ses {thisEntry}, userPermissions {{ protectedItems { entry, allUserAttri
 buteTypesAndValues }, grantsAndDenials {grantRemove, grantExport, grantCom
 pare, grantImport, grantRead, grantFilterMatch, grantModify, grantInvoke, g
 rantDiscloseOnError, grantRename, grantReturnDN, grantBrowse, grantAdd } }
 } } }
subtreeSpecification: {}

9、添加管理员权限

dn: cn=enableAdminSuper,dc=taotaosou.com
objectClass: subentry
objectClass: accessControlSubentry
objectClass: top
cn: enableAdminSuper
prescriptiveACI: {identificationTag “enableAdminSuper”, precedence 0, authe
 nticationLevel strong, itemOrUserFirst userFirst: {userClasses { userGroup
  {“cn=administrator,ou=gourp,dc=taotaosou.com”} }, userPermissions {{ pr
 otectedItems {entry, allUserAttributeTypesAndValues}, grantsAndDenials {
 grantRemove, grantExport, grantCompare, grantImport, grantRead, grantFilter
 Match, grantModify, grantInvoke, grantDiscloseOnError, grantRename, grantRe
 turnDN, grantBrowse, grantAdd } } } } }
subtreeSpecification: {}

ApacheDS 的详细介绍 :请点这里
ApacheDS 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-12/126757.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3820字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中