07 LDAP基础培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• Schema是目录中存储数据的规则集合 • 包含 属性,类的定义 (类似数据库的表和字段的设计) • 决定目录存放什么,及server和client如何操作 • 设置数据的尺寸、取值范围、数据值的格式 • 防止数据混乱
25
基本数据模式(Schema)介绍
• Schema
– ObjectClass和Attribute由Schema文件来规定
7
标准协议
• LDAP (最新版V3)协议(1993提出V1版,1997提出V3版)
LDAP V3也不是一个协议,而是一个协议族。 包括以下10个协议:
RFC 2251——LDAP V3核心协议,定义了LDAP V3协议的基本模型和基本操作; RFC 2252——定义了LDAP V3中的基本数据模式(Schema)(包括语法、匹配规则、 属性类型和对象类)以及标准的系统数据模式; RFC 2253——定义了LDAP V3中的分辨名(DN)表达方式; RFC 2254——定义了LDAP V3中的过滤器的表达方式; RFC 2255——LDAP统一资源地址的格式; RFC 2256——在LDAP V3中使用X.500的Schema列表; RFC 2829——定义了LDAP V3中的认证方式; RFC 2830——定义了如何通过扩展使用TLS服务; RFC 1823——定义了C的LDAP客户端API开发接口; RFC 2847——定义了LDAP数据导入、导出文件接口LDIF。
• 信息被集中存储在服务器上的LDAP目录中。数据按层次树状 结构存储; • 信息模型是以条目(entry)为基础,一个条目是属性的集合, 并具有全局唯一 DN(Distinguished Named),用来唯一标识。
– 条目:类似数据库中一条记录.
6
标准协议
• X.500是一个协议族,包括以下8个协议:
Novell Directory Server Microsoft Active Directory
Opensource
Opensource OpenLDAP
22
LDAP术语及管理
23
LDAP术语及管理 • 基本数据模式(Schema)介绍 • LDIF介绍 • LDAP管理
24
基本数据模式(Schema)介绍
– 注:RFC 2251是V3的核心
8
LDAP的模型
9
LDAP的模型 • • • • 信息模型:描述LDAP的信息表示方式 命名模型:描述LDAP中的数据如何组织 功能模型:描述LDAP中的数据操作访问 安全模型:描述LDAP中的安全机制
10
信息模型
• • 条目按树状的层次化的结 构 条目是一个属性的集合并 带有一个唯一判别名DN 数据表的结构,或一条记 录的如何存储都属于信息 模型
29
Fra Baidu bibliotek0
IBM LDAP管理 • Tivoli Directory Server Web管理工具
– 启停LDAP – 服务器管理 – Schema管理 – 目录管理 – 用户管理 – 复制管理等
31
32
33
SUN LDAP管理
34
35
JAVA编程模型
36
JAVA编程模型
• Java Naming and Directory Interface(JNDI)
• Schema文件规范ObjectClass的构成、继承关系,Attribute的格式等
• 类
– 一个节点属于某个ObjectClass:
• 表征一个节点所属的类型 • 一个节点可能同时是多个ObjectClass
• 属性
– 一种ObjectClass的节点具有一系列的Attribute:
• Attribute 是一些属性,这些属性的对应值表征了每个对象的与众不同之 处 • ObjectClass 之中,有些属性是必须的,有些则不是
•
除了扩展操作,别的都是LDAP的标准操作;扩展操作是LDAP中为了增 加新的功能,提供的一种标准的扩展框架,不同的LDAP厂商也均定义了自 己的扩展操作。
17
功能模型
Search Filter语法
Symbol & | ! = ~= >= <= =* * \ Description conjunction (i.e., and -- all in list must be true) disjunction (i.e., or -- one or more alternatives must be true) negation (i.e., not -- the item being negated must not be true) equality (according to the matching rule of the attribute) approximate equality (according to the matching rule of the attribute) greater than (according to the matching rule of the attribute) less than (according to the matching rule of the attribute) presence (i.e., the entry must have the attribute but its value is irrelevant) wildcard (indicates zero or more characters can occur in that position); used when specifying attribute values to match escape (for escaping '*', '(', or ')' when they occur inside an attribute value) 18
LDAP基础培训
作者 huangyq@mdcl.com.cn
1
目录
什么是目录服务和LDAP标准 LDAP的模型 LDAP产品介绍 LDAP术语及管理 JAVA编程模型 讨论
2
什么是目录服务和LDAP标准
3
什么是目录服务
• 目录服务是一个特殊的数据库,用来保存描述性的、 基于属性的详细信息,支持过滤功能。 • 目录是动态的,灵活的,易扩展的。 • 例子:人员组织管理 ,电话簿,地址簿
19
目录服务器作用
• 什么数据适合存放在目录服务器中
– 需要经常读取而又较少更改的数据 – 比较容易表示成由属性构成的数据 – 需要在多个用户间共享的数据 – 需要在不同的地点访问的数据 如 :用户信息、设备信息、地址信息等
• 什么数据不适合目录服务器
– 需要经常更改 – 数据量非常的大,结构化又非常的差 例如文档,报告等 无法用属性集合表示。
26
LDIF介绍
• LDAP Data Interchanged Format(LDIF): 通过LDAP的LDIF的可实现以下功能
–可以实现数据的导入、导出 –可以实现数据的增加,修改,重命名条目 样例内容: dn: uid=xujl,cn=mts,dc=sc,dc=mdcl
objectclass:top objectclass:person uid: xujl mail:xujl@mdcl.com.cn
例如:
11
信息模型
12
信息模型
13
信息模型
14
命名模型 • 如何组织及定义数据。 • 将条目规划为一个树状结构。 • 例如:按地理位置,组织部门等划分
15
命名模型
描述LDAP中的数据如何组织
不同域名 应用
不同组织 节点
例: ou=people,dc=mts,dc=mdcl 下有人员张三和 ou=sevice 下的服务是利用 属性关联起来描述人员可以 16 提供XX 服务.
20
LDAP产品介绍
21
LDAP产品介绍
厂商 SUN ibm oracle novell microsoft 产品 SUNONE Directory Server IBM Directory Server Oracle Internet Directory 特点 基于文本数据库的存储,速度快 基于DB2 的的数据库,速度一般 基于oracle 的的数据库,速度一 般, 基于文本数据库的存储,速度快, 不常用到 基于WINDOWS系统用户,对大 数据量管理速度不太理想,漏洞 太多,但是实施简单. 开源的项目,速度很快,但是非主 流应用.
– X.501模型强调目录服务基本模型和概念 – X.509认证框架是如何在X.500中处理目录客户和服务器的认证 – X.511 抽象服务定义X.500被要求提供的功能性服务 – X.518 分布式操作过程表明如何跨越多台服务器处理目录服务 – X.519 协议规范即是X.500协议,包括目录访问协议DAP、目录系统协议 DSP、目录操作绑定协议DOP和目录信息Shadowing协议DISP – X.520 选定的属性类型要求是X.500自己使用的属性类型 – X.521选定的对象类即为X.500自己使用的对象类 – X.525复制是如何在目录服务器之间复制目录内容。
39
Q&A
40
做得更多 Do More With Less
41
功能模型
• • 功能模型是目录客户端用来与目录进行通信的方法。 LDAP 提供以下四类操作:
– 查询类操作--如搜索、比较; – 更新类操作--如添加条目、删除条目、修改条目、修改条目名; – 认证类操作--做客户身份验证和访问控制,对目录进行身份验证(绑定操 作,解绑定操作); – 扩展操作――如放弃和扩展操作。
安全模型
安全模型为根据目录进行身份验证以及授权客户端控制对目录的访问提供了方法。 安全模型包括两个组件: •使用 LDAP 的身份验证 •对目录中的对象的访问控制 (ACL) LDAP 身份验证涉及绑定到 LDAP 服务器上的实体。根据接受还是拒绝该实体的凭 据来确定绑定操作的成败。如果绑定成功,则实体通过身份验证;如果失败,则实 体没有通过身份验证。当通过身份验证后,客户端只能像目录的访问控制列表 (Access Control List,ACL)中定义的那样使用 LDAP 目录。ACL 在 LDAP 目录 中的实施是依赖于实施的。 LDAP 身份验证是为保护目录事务专门设计的。将 LDAP 身份验证用于除 LDAP 目 录访问之外的其他目的,可能导致性能问题。这是因为 LDAP 目录服务不是为处理 大量身份验证请求而设计的,而非常适用于进行目录事务处理。
4
什么是目录服务
5
什么是LDAP标准
• LDAP(Lightweight Directory Access Protocol)代表轻量级 目录访问协议。特点:
– 用于访问目录服务的一个标准,可扩展的internet协议。 – 基于X.500标准,但更简单,更精炼,可扩展性更好。 – 与其他某些通信协议相比,它是轻量级的。
27
LDAP管理 • LDAP Browser
– 通用工具不能做设计工具用 – 能对数据 增,删,改,查.免费的工具
• IBM LDAP管理 • Sun LDAP 管理
28
LDAP Browser 对LDAP管理 • LDAP Browser
– 查看属性 – 修改属性 – 增加条目 – 删除条目 – 导入导出LDIF – 查找用户
37
JAVA编程模型 • JNDI是JAVA为命名及目录服务访问制定的基 础接口标准,用于访问包括DNS,NIS, LDAP,文件系统等任何以树目录形式存在目 标对象,并且基本上可保持访问方式的一致 (意味着代码共用)。
38
开发步骤例子
• 利用LDAP 的SDK 开发JAVA应用
– 1. 前提资源: ldapjdk.jar开发包.内有可以使用的接口. – 2.开发包的部署位置web-inf/lib/ldapjdk.jar – 3. JAVA 程序内调用ldapjdk.jar包的接口即可. JAVA 程序的部署根据实际情况,可以是JSP,servlet,javabean等.
25
基本数据模式(Schema)介绍
• Schema
– ObjectClass和Attribute由Schema文件来规定
7
标准协议
• LDAP (最新版V3)协议(1993提出V1版,1997提出V3版)
LDAP V3也不是一个协议,而是一个协议族。 包括以下10个协议:
RFC 2251——LDAP V3核心协议,定义了LDAP V3协议的基本模型和基本操作; RFC 2252——定义了LDAP V3中的基本数据模式(Schema)(包括语法、匹配规则、 属性类型和对象类)以及标准的系统数据模式; RFC 2253——定义了LDAP V3中的分辨名(DN)表达方式; RFC 2254——定义了LDAP V3中的过滤器的表达方式; RFC 2255——LDAP统一资源地址的格式; RFC 2256——在LDAP V3中使用X.500的Schema列表; RFC 2829——定义了LDAP V3中的认证方式; RFC 2830——定义了如何通过扩展使用TLS服务; RFC 1823——定义了C的LDAP客户端API开发接口; RFC 2847——定义了LDAP数据导入、导出文件接口LDIF。
• 信息被集中存储在服务器上的LDAP目录中。数据按层次树状 结构存储; • 信息模型是以条目(entry)为基础,一个条目是属性的集合, 并具有全局唯一 DN(Distinguished Named),用来唯一标识。
– 条目:类似数据库中一条记录.
6
标准协议
• X.500是一个协议族,包括以下8个协议:
Novell Directory Server Microsoft Active Directory
Opensource
Opensource OpenLDAP
22
LDAP术语及管理
23
LDAP术语及管理 • 基本数据模式(Schema)介绍 • LDIF介绍 • LDAP管理
24
基本数据模式(Schema)介绍
– 注:RFC 2251是V3的核心
8
LDAP的模型
9
LDAP的模型 • • • • 信息模型:描述LDAP的信息表示方式 命名模型:描述LDAP中的数据如何组织 功能模型:描述LDAP中的数据操作访问 安全模型:描述LDAP中的安全机制
10
信息模型
• • 条目按树状的层次化的结 构 条目是一个属性的集合并 带有一个唯一判别名DN 数据表的结构,或一条记 录的如何存储都属于信息 模型
29
Fra Baidu bibliotek0
IBM LDAP管理 • Tivoli Directory Server Web管理工具
– 启停LDAP – 服务器管理 – Schema管理 – 目录管理 – 用户管理 – 复制管理等
31
32
33
SUN LDAP管理
34
35
JAVA编程模型
36
JAVA编程模型
• Java Naming and Directory Interface(JNDI)
• Schema文件规范ObjectClass的构成、继承关系,Attribute的格式等
• 类
– 一个节点属于某个ObjectClass:
• 表征一个节点所属的类型 • 一个节点可能同时是多个ObjectClass
• 属性
– 一种ObjectClass的节点具有一系列的Attribute:
• Attribute 是一些属性,这些属性的对应值表征了每个对象的与众不同之 处 • ObjectClass 之中,有些属性是必须的,有些则不是
•
除了扩展操作,别的都是LDAP的标准操作;扩展操作是LDAP中为了增 加新的功能,提供的一种标准的扩展框架,不同的LDAP厂商也均定义了自 己的扩展操作。
17
功能模型
Search Filter语法
Symbol & | ! = ~= >= <= =* * \ Description conjunction (i.e., and -- all in list must be true) disjunction (i.e., or -- one or more alternatives must be true) negation (i.e., not -- the item being negated must not be true) equality (according to the matching rule of the attribute) approximate equality (according to the matching rule of the attribute) greater than (according to the matching rule of the attribute) less than (according to the matching rule of the attribute) presence (i.e., the entry must have the attribute but its value is irrelevant) wildcard (indicates zero or more characters can occur in that position); used when specifying attribute values to match escape (for escaping '*', '(', or ')' when they occur inside an attribute value) 18
LDAP基础培训
作者 huangyq@mdcl.com.cn
1
目录
什么是目录服务和LDAP标准 LDAP的模型 LDAP产品介绍 LDAP术语及管理 JAVA编程模型 讨论
2
什么是目录服务和LDAP标准
3
什么是目录服务
• 目录服务是一个特殊的数据库,用来保存描述性的、 基于属性的详细信息,支持过滤功能。 • 目录是动态的,灵活的,易扩展的。 • 例子:人员组织管理 ,电话簿,地址簿
19
目录服务器作用
• 什么数据适合存放在目录服务器中
– 需要经常读取而又较少更改的数据 – 比较容易表示成由属性构成的数据 – 需要在多个用户间共享的数据 – 需要在不同的地点访问的数据 如 :用户信息、设备信息、地址信息等
• 什么数据不适合目录服务器
– 需要经常更改 – 数据量非常的大,结构化又非常的差 例如文档,报告等 无法用属性集合表示。
26
LDIF介绍
• LDAP Data Interchanged Format(LDIF): 通过LDAP的LDIF的可实现以下功能
–可以实现数据的导入、导出 –可以实现数据的增加,修改,重命名条目 样例内容: dn: uid=xujl,cn=mts,dc=sc,dc=mdcl
objectclass:top objectclass:person uid: xujl mail:xujl@mdcl.com.cn
例如:
11
信息模型
12
信息模型
13
信息模型
14
命名模型 • 如何组织及定义数据。 • 将条目规划为一个树状结构。 • 例如:按地理位置,组织部门等划分
15
命名模型
描述LDAP中的数据如何组织
不同域名 应用
不同组织 节点
例: ou=people,dc=mts,dc=mdcl 下有人员张三和 ou=sevice 下的服务是利用 属性关联起来描述人员可以 16 提供XX 服务.
20
LDAP产品介绍
21
LDAP产品介绍
厂商 SUN ibm oracle novell microsoft 产品 SUNONE Directory Server IBM Directory Server Oracle Internet Directory 特点 基于文本数据库的存储,速度快 基于DB2 的的数据库,速度一般 基于oracle 的的数据库,速度一 般, 基于文本数据库的存储,速度快, 不常用到 基于WINDOWS系统用户,对大 数据量管理速度不太理想,漏洞 太多,但是实施简单. 开源的项目,速度很快,但是非主 流应用.
– X.501模型强调目录服务基本模型和概念 – X.509认证框架是如何在X.500中处理目录客户和服务器的认证 – X.511 抽象服务定义X.500被要求提供的功能性服务 – X.518 分布式操作过程表明如何跨越多台服务器处理目录服务 – X.519 协议规范即是X.500协议,包括目录访问协议DAP、目录系统协议 DSP、目录操作绑定协议DOP和目录信息Shadowing协议DISP – X.520 选定的属性类型要求是X.500自己使用的属性类型 – X.521选定的对象类即为X.500自己使用的对象类 – X.525复制是如何在目录服务器之间复制目录内容。
39
Q&A
40
做得更多 Do More With Less
41
功能模型
• • 功能模型是目录客户端用来与目录进行通信的方法。 LDAP 提供以下四类操作:
– 查询类操作--如搜索、比较; – 更新类操作--如添加条目、删除条目、修改条目、修改条目名; – 认证类操作--做客户身份验证和访问控制,对目录进行身份验证(绑定操 作,解绑定操作); – 扩展操作――如放弃和扩展操作。
安全模型
安全模型为根据目录进行身份验证以及授权客户端控制对目录的访问提供了方法。 安全模型包括两个组件: •使用 LDAP 的身份验证 •对目录中的对象的访问控制 (ACL) LDAP 身份验证涉及绑定到 LDAP 服务器上的实体。根据接受还是拒绝该实体的凭 据来确定绑定操作的成败。如果绑定成功,则实体通过身份验证;如果失败,则实 体没有通过身份验证。当通过身份验证后,客户端只能像目录的访问控制列表 (Access Control List,ACL)中定义的那样使用 LDAP 目录。ACL 在 LDAP 目录 中的实施是依赖于实施的。 LDAP 身份验证是为保护目录事务专门设计的。将 LDAP 身份验证用于除 LDAP 目 录访问之外的其他目的,可能导致性能问题。这是因为 LDAP 目录服务不是为处理 大量身份验证请求而设计的,而非常适用于进行目录事务处理。
4
什么是目录服务
5
什么是LDAP标准
• LDAP(Lightweight Directory Access Protocol)代表轻量级 目录访问协议。特点:
– 用于访问目录服务的一个标准,可扩展的internet协议。 – 基于X.500标准,但更简单,更精炼,可扩展性更好。 – 与其他某些通信协议相比,它是轻量级的。
27
LDAP管理 • LDAP Browser
– 通用工具不能做设计工具用 – 能对数据 增,删,改,查.免费的工具
• IBM LDAP管理 • Sun LDAP 管理
28
LDAP Browser 对LDAP管理 • LDAP Browser
– 查看属性 – 修改属性 – 增加条目 – 删除条目 – 导入导出LDIF – 查找用户
37
JAVA编程模型 • JNDI是JAVA为命名及目录服务访问制定的基 础接口标准,用于访问包括DNS,NIS, LDAP,文件系统等任何以树目录形式存在目 标对象,并且基本上可保持访问方式的一致 (意味着代码共用)。
38
开发步骤例子
• 利用LDAP 的SDK 开发JAVA应用
– 1. 前提资源: ldapjdk.jar开发包.内有可以使用的接口. – 2.开发包的部署位置web-inf/lib/ldapjdk.jar – 3. JAVA 程序内调用ldapjdk.jar包的接口即可. JAVA 程序的部署根据实际情况,可以是JSP,servlet,javabean等.