统一认证 ldap mysql_LDAP简述及统一认证说明

本文介绍了LDAP协议的基础知识,包括其树形结构、应用场景和目录树设计。同时阐述了LDAP在统一认证中的作用,描述了通过AD Server进行统一身份验证的架构配置。

1. LDAP简述

1.1. LDAP概念

轻型目录访问协议(Lightweight DIrectory Access Protocol),LDAP是一种通讯协议,LDAP能够支持TCP/IP。协议就是标准,在这套标准之下,AD(Active Directory)是微软实现的一套产品。可以把AD理解成是个的数据库,也有很多人直接把LDAP说成数据库(可以把LDAP理解成一种树形结构的数据库)。LDAP也是有服务端和客户端。服务端是用来存放资源,客户端用来进行增删改查等操作。

LDAP的存储是树形结构的,数据存储在叶子节点上,因此LDAP的应用中主要使用其进行查询,插入等变更操作效率相对较低。看看下面的例子:

LDAP里定义一个记录的位置:树(dc=main) 分支(ou=o1,ou=oo1,ou=ooo1) 节点(cn=node)

dn:cn=main,ou=o1,ou=oo1,ou=ooo1,dc=node

ou会有多个值,从树根到达node的位置,可能要经过好几个分支,所以ou可能有多个值,关于dn后面一长串,分别是cn,ou,dc;中间用逗号隔开。

LDAP 树形数据库如下:

dn :一条记录的详细位置

dc :一条记录所属区域 (哪棵树)

ou :一条记录所属组织 (哪个分支)

cn/uid:一条记录的名字/ID (哪个节点)

LDAP 目录树的最顶部就是根,也就是所谓的 "基准DN"。

1.2. LDAP应用场景

由于使用树形结构存储数据,因此查询效率更高(参考关系型数据库索引的实现原理:B树/B+树)在某些特定的场景下,使用树形数据库更理想。例如:需要储存大量的数据,而且数据比较稳定,不需要太频繁的修改,可以满足快速的查找,与传统的关系型数据库相比,LDAP除了快速查找的特点,它还有很多的运用场景,比如域验证等。

1.3. LDAP常见目录树结构设计

LDAP的目录树根一般定义为国家(c=CN)或者域名(dc=com),其次往往定义一个或者多个组织(organazation, o)或组织单元(oragnazation unit , ou),一个组织单元可以包含员工、设备(计算机/打印机)相关信息。

例如:uid=babs,ou=People,dc=example,dc=com.

c36d8255ce8b3cdf9946816a67876309.png

假设域名为foobar.com,这个域名就能转化为这个DN:dc=foobar,dc=com

9f194cc5faa50ef5004490c45f725d61.png

如果foobar.com与wocket.com和gizmo.com合并,则以上的目录结构就可以适应这种突然的变化,而无需重新规划,在dc=com下面添加dc=wocket和dc=gizmo两个条目即可。

defffaab209db4859ca802b1b1ee8508.png

初始目录结构设置的越好,后续扩展时需要改动的就越少,通常情况分布均匀层次较浅的结构工作的最好

bf523123caece93ee64ea908c56b5afd.png

2. LADP做统一认证

bda1de659eb23edc2719c4f943d43fa4.png

统一身认证改变了原有的认证策略,需要进行认证的应用都通过LDAP进行统一认证,在统一认证之后,用户的所有信息都存储在AD Server中。终端用户在需要使用内部服务的时候,都需要通过AD服务器的认证。

b05629632c89c40d200c0b478056acd0.png

上图中展示的架构是LDAP进行统一身份认证的一般配置情况,LDAP Client指各种需要身份认证的软件,例如Apache、Proftpd和Samba等。LDAP Sever指的是实现LDAP协议的软件,例如OpenLDAP等。DataStorage指的是OpenLDAP的数据存储,如关系型数据库(MySQL)或查询效率更高的嵌入式数据库(BerkeleyDB),甚至是平面文本数据库(—个txt的文本文件)。可见,OpenLDAP软件只是LDAP协议的一种实现形式,并不包括后台数据库存储。但在很多时候管理员经常将LDAP Server和DataStorage放在同一台服务器,这样就产生了人们通常所说的“LDAP数据库”。虽然后台数据库(backend)可以是多种多样,但LDAP协议还规定了数据的树状存储方式,与DNS类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值