版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、百度文库1 TAM的结构简介21.1 TAM的授权模型21.1.1 用户注册库二,、31.1.2 策略管理器 、 31.1.3 对象库和规则 .Zf. 41.1.4 策略执行者./. 42 TAM和应用的集成52.1 TAM和应用集成的优势 52.2 TAM和应用集成的结构 62.3 建立自己应用的 Action 72.4 建立自己应用的 ProtectedObject Space 72.5 在应用中使用 TAM提供的认证和授权 API 82.6 在应用中使用 TAM提供的管理 API : 82.7 一个和应用集成的配置实例 92.8 一个利用TAM提供的API进行开发的程序实例 10在下面的
2、文早中,我们会介绍应用如何利用 旧M Tivoli Access Manager (以下简称TAM)作为用户认证和授权控制的平台, 最为高效地把TAM和应用开发 集成起来,从而为应用的开发、部署和运行提供一个高效可靠的安全平台。随着电子商务时代的到来,各种各样的业务已经从传统的面对面的运营方式变成了通过互联网,直接通过网络进行交易的运营方式。 因此心如何更好地控制用户对后台关键应用的访问就显得尤为重要。1 TAM的结构简介在这部分的章节中,我们会主要对 TAM做一个简介,包括有:TAM的授权模型和TAM的主要概念介绍。1.1 TAM的授权模型信问象作 人访对动返回结果Yes No如上图所示,T
3、AM的授权模型来自于业界标准的ISO10181的授权模型,在 TAM的授权模型中,包括有几个重要的功能模块,他们分别是用户注册库、策 略管理器、对象库和规则、策略执行者。下面我们分别对这几个主要的功能模块 进行详细的介绍。/ 1.1.1 用户注册库TAM中的用户注册库需要建立在一个标准的 LDAP服务器上,他现在支持 业界中几乎所有的 LDAP服务器,例如:IBM Directory Server、Lotus Domino Directory、MS Active Directory、SUN iPlanet Directory Server > Novell eDirectory ;或者任
4、何支持标准LDAP协议的LDAP服务器。TAM中的用户注册库主要用于存储用户的相关信息,例如:用户名、用户密码、邮件地址、电话、通信地址等和用户相关的信息。j.1.2 策略管理器TAM中的策略管理器是TAM的核心部分。它负责和其它 TAM功能模块的 通讯工作,其中主要包括以下几个功能:维护TAM中的主要信息(例如:用户信息、对象库(Protected ObjectSpace )、访问控制列表(ACL)等)保存着其它TAM功能模块的位置信息/1.1.3 对象库和规则user peterT-ncACL(for a page object)user micha&l -T-rxgroup en
5、gineering T-ncuri3Lith6nticsld ACL Entryu的 adamType IDRemissions1.1.4 策略执行者TAM中的策略执行者是用户访问TAM后台资源的唯一渠道,所有用户访问 后台资源的请求都必须通过策略执行者,策略执行者会对用户的身份进行确认, 同时还会对用户的访问请求作授权的判断。如果访问请求得到批准的话,策略执 行者会把用户的请求转发给后台的应用,并且把后台应用答复给用户的信息转发 给用户。如果访问请求没有被批准的话, 他会直接拒绝用户的访问请求,并且不 做任何访问请求的转发。2 TAM和应用的集成2.1 TAM和应用集成的优势 应用和TAM的
6、集成,或者说在应用开发时利用TAM的安全平台来做应用安 全部分的开发,有以下几点优势:首先,TAM是一套非常成熟和完整的3A系统(认证、授权和审计), /它可以和几乎所有的 Web服务器和Web应用服务器进行无缝的集成。其次,TAM提供了一套完整的、应用开发时需要的用户认证、授权和管理API,(包括有C/C+和JAVA语言),因此在应用开发时可以直接使 用这些API进行用户认证和操作授权的操作,或者 TAM系统的管理工 作。第三,TAM有一套完整的用户管理、资源管理的体系架构。应用开发时, 可以直接使用TAM提供的这套管理体系作为应用的用户管理和资源管'%理架构,而不需要自己另外建立一
7、套这样的架构。、第四,TAM有一套完整的用户授权判定机制,他所提供的功能非常完备。包括了授权控制中的每一个细节,应用开发时,可以通过API直接使用TAM提供的这套授权判定机制作为自己应用的授权判定模块。/第五,和TAM的其他模块(例如: WebSEAL、AMOS、AMBI等)的 共同使用可以为企业建立一套最为完整的安全框架结构,从操作系统的 每个文件、每个TCP连接到Web服务器上的一个静态或者动态页面,到Web应用服务器上的每个Servlet ,甚至于Servlet中提供的某个方法,或者更为细化的授权判定,都可以通过TAM提供的安全平台来实现。总而言之,通过和TAM的集成,应用开发的步骤可以
8、大大地加快,应用的 安全结构会变得更为安全和可靠。应用开发时只要关注和业务相关的部分就可以 了,安全部分的内容可以全部交给 TAM的平台进行管理和控制。2.2 TAM和应用集成的结构/ 当应用使用C或者JAVA语言作为应用的开发语言时,TAM可以使用用户 的认证和授权API来对用户作身份的确认和访问权限的判定。当和Web环境共同存在时,为了更好地保护 Web环境中的资源以及和后 台应用的集成,WebSEAL发挥了极大的安全控制功能,作为一个策略执行者, WebSEAL位于所有 Web服务器和Web应用服务器之前,他会处理用户身份 的认证和URL级别的访问授权判定。同时,还会根据后台web服务器
9、和web应用服务器的要求,把用户的相关信息(例如:用户的邮件地址、用户的联系方 式等信息)通过HTTP Header传到后台的 Web服务器和Web应用服务器, 以便后台应用的操作。后台应用(例如:WebSphere Application Server 上的 Servlet)、可以从HTTP Header中获得用户的信息,然后利用 TAM提供的授权 API对用户的访问请求作出更为细化的授权判定。2.3 建立自己应用的 Action用户可以对应用中的资源所作的操作在TAM中叫做Action 。TAM本身带有 17 种默认得 Action 定义,例如:Add、Browse、Control、 De
10、lete、Delegate、Modify、Create、Read 等。为了满足应用开发的要求,应用开发人员可以在TAM中定义自己应用需要的 Action 定义,例如: Access、Forward、Pass 等。2.4 建立自己应用的 Protected Object Space/ /Protected Object Space是一个逻辑的、能够反映被保护资源的结构定义。例如:对于Web服务器来说,它上面的资源就是每个静态或者动态的页面;对于操作系统来说,它上面的资源就是一些重要的文件、TCP端口等。对于应用来说,Protected Object Space 实际上应该根据具体的应用资源结构来
11、定义,它可以是数据库中的某个表,或者应用系统的某个纪录等,这些资源结构的定义 是一种逻辑上的定义,定义的对象可以实际存在,也可以完全不存在,它可以只 是一种虚拟的定义。2.5 在应用中使用TAM提供的认证和授权APITAM提供了全面的用于应用开发的认证和授权 API,应用的开发人员可以使 用这些认证和授权API作为系统的用户认证和访问授权架构。当对用户访问权限 作判定时,它完全遵循TAM的授权模型提出授权请求并且得到授权判定的最终 结果。下面是几个用于用户认证和授权管理的方法,PDPrincipal whoIsIt = new PDPrincipal( _who , _pwd);- 获得用户信
12、息PDPermission whatTheyWant = new PDPermission( _object, _perms );- 获得用户想要访问的对象和相应的操作boolean haveAccess = whoIsIt.implies(whatTheyWant);- 提出授权判定的请求(谁_who想对对象_object作操作_perms ), 并且获得授权判定的结果2.6 在应用中使用TAM提供的管理 API /TAM除了提供了用于用户身份认证和访问授权管理的 API以外,还提供了 功能全面的TAM管理API,通过这些API可以对TAM的系统进行全方面的管理, 例如:用户的添加、对象库中
13、信息的修改、,访问控制列表(ACL)的修改等功能。应用开发人员甚至可以利用 TAM提供的管理API开发一套自己特有的TAM系 统的管理工具,以方便对TAM提供更为灵活和客户话的管理工具。下面是几个 用于管理用户的方法,TAM提供的管理API多达几百个,可以完全覆盖所有的 TAM管理工作。/PDUser.createUserPDUser.importUserPDUser.deleteUserPDUser.listUsers 2.7 一个和应用集成的配置实例下面我们介绍一个TAM和应用开发集成的配置实例,在这个实例里,我们 会使用到 TAMeb、WebSEAL、IBM HTTP Server、We
14、bSphere ApplicationServer。在这个环境中,我们使用4台硬件服务器,分别作为以上4个应用的运 行环境。下面是这4台硬件服务器的配置例子:服务器硬件配置软件配置TAMeb服务器1CPU512MB内存20G硬盘DB2/IBM Directory ServerTAM RuntimeZtAM Policy ServerWebSEAL服务器1CPU/512MB内存20G硬盘TAM RuntimeTAM WebSEALIBM HIIP Server 服务器1CPU512MB内存20G硬盘IBM HUP ServerWebSphere 服务器1CPU1GB内存20G硬盘WASTAM R
15、untimeTAM Java RuntimeTAM ADK2.8 一个利用TAM提供的API进行开发的程序实例'在安装完TAM和相应的ADK模块之后,在TAM的安装目录下会有几个XC 和JAVA的实例可以作为参考。另外,TAM的电子文档里有4本书专门介绍如 何利用TAM提供的API进行应用开发,以及TAM提供的API的使用方法。下面是我利用TAM提供的API做的一个Servlet ,可以作为大家应用开发的import javax.servlet.*;import javax.servlet.http.*;import java.util.*;import java.io.*;impor
16、t .URL;import com.tivoli.pd.jutil.PDContext;import com.tivoli.pd.jutil.PDMessage;import com.tivoli.pd.jutil.PDMessages;import com.tivoli.pd.jutil.PDRgyUserName;import com.tivoli.pd.jutil.PDRgyGroupName;import com.tivoli.pd.jutil.PDException;import com.tivoli.pd.jadmin.*;import com.tivoli.pd.nls.pdbj
17、amsg;import com.tivoli.mts.*;public class AMServlet extends HttpServlet /*/* init( ServletConfig config )*public void init( ServletConfig config ) throws ServletExceptionsuper.init( config );/*/* destroy()/*public void destroy() super.destroy();/*/* doGet( HttpServletRequest req, HttpServletResponse
18、 resp )/*public void doGet( HttpServletRequest req, HttpServletResponse resp )throws ServletException, IOException processRequest( req, resp );/*/* doPost( HttpServletRequest req, HttpServletResponse resp )/*public void doPost( HttpServletRequest req, HttpServletResponse resp )throws ServletExceptio
19、n, IOException processRequest( req, resp );/*/* processRequest( HttpServletRequest req, HttpServletResponse resp )/*public void processRequest( HttpServletRequest req, HttpServletResponse resp )throws ServletException, IOException PrintWriter pw = resp.getWriter();pw.println( "<HTML>"
20、;);pw.println( " <BODY>");tryPDMessages msgs = new PDMessages();String adminName = "sec_master”;String adminPwd = "passw0rd”;char adminPassword = adminPwd.toCharArray();String configURLStr = "file:/E:/WebSphere/AppServer/java/jre/PdPperties"String rgySuffix
21、 = "dc=zk,dc=com”;Locale locale = new Locale("ENGLISH", "US");URL configURL = new URL(configURLStr);pw.println("<H1>Tivoli Access Manager Admin API Example</H1>");pw.println("<H3>Creating a context.n</H3>");pw.println("<BR&
22、gt;");PDContext ctxt = new PDContext (locale,adminName,adminPassword,configURL);pw.println("<H3>Listing the users.n</H3>");pw.println("<BR>");ArrayList userList =PDUser.listUsers(ctxt,PDUser.PDUSER_ALLPATTERN,PDUser.PDUSER_MAXRETURN,false,msgs);pw.println(u
23、serList);pw.println("<BR>");pw.println("<H3>Showing the user sec_master.n</H3>");pw.println("<BR>");String name="sec_master"PDUser pdUser = new PDUser(ctxt,name,msgs);pw.println("<H3>Account Valid: </H3>" + pdUser.
24、isAccountValid();pw.println("<BR>");pw.println("<H3>Account Description: </H3>" + pdUser.getDescription();pw.println("<BR>");pw.println("<H3>Account Registry Name: </H3>" + pdUser.getRgyName();pw.println("<BR>&quo
25、t;);pw.println("<H3>Account ID: </H3>" + pdUser.getId();pw.println("<BR>");pw.println("<H3>Account First Name: </H3>" + pdUser.getFirstName();pw.println("<BR>");pw.println("<H3>Account Last Name: </H3>"
26、 + pdUser.getLastName();pw.println("<BR>");pw.println("<H3>Account Policy: </H3>" + pdUser.getPolicy();pw.println("<BR>");pw.println("<H3>Account Group: </H3>" + pdUser.getGroups();pw.println("<BR>");pw.println("<H3>Account PD User: </H3>" + pdUser.isPDUser();pw.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度云南省高校教师资格证之高等教育法规考前冲刺模拟试卷A卷含答案
- 2024-2025学年广东省汕头市潮阳一中明光学校高三(上)月考物理试卷(10月)(含答案)
- 2024年冷凝水回收装置项目投资申请报告代可行性研究报告
- 赣南师范大学《环境监测实验》2022-2023学年第一学期期末试卷
- 阜阳师范大学《材料科学与工程基础》2022-2023学年第一学期期末试卷
- 福建师范大学协和学院《文献检索》2022-2023学年第一学期期末试卷
- 福建师范大学《中国地理》2023-2024学年第一学期期末试卷
- 2024年二级建造师机电-考点押题
- 工程质量重大风险预控和工程质量事故处置指引
- 福建师范大学《素描二》2021-2022学年第一学期期末试卷
- 高中语文必修二 ﹡落日
- 数值分析(课堂PPT)
- 最终版上海11号线北段工程(安亭站~花桥站)地铁结构长期沉降特征分析
- 专利意见陈述书模板
- 三年级上册写字全册教案
- 礼仪与教化(PPT页)
- 关于Creo parametric 2 Top Down的初步建模
- 认知疗法调节大学生失恋情绪的咨询案例分析
- 人教版八年级上册数学复习课件.ppt
- 安全系统工程PPT课件
- 中心城排水管网改造三期工程有限空间作业专项方案
评论
0/150
提交评论