作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
TIM使用ACI对ITIM进行权限控制,access control item (ACI)。TIM预先定义了70多个ACI。
1.ACI基本知识
ACI包含三个主要组件:
•Governed users
•Type
•Target
管理ACI的用户被定义为ITIM组或者一个ACI Principals,Principals 指的是预先定义好的可以获得特权的实体。ACI可以被System Administrators, Domain Administrators, or Authorization Owners等角色管理,Authorization Owner是一个特殊的ITIM组,其被允许修改ACI。
ACI有三种:
•Organizational
其中包含所有组织任务,包括添加用户,提供账号,管理组织内的组件,添加组织角色等的权利。
•Provisioning
其中包含所有供应任务,包括添加service,provisioning policy,identity policies, password policies, service selection policies和设计workflow等的权利。
•Reporting
包含生成报告的权限。
ACI有两个重要概念:
ACI focus:这是由被控制的实体和其在组织树中的位置所决定,也就是说其中有两个要素,一个是origin,一个是scope。例如,设置一个 All Persons的权限在 Sales organizational unit,那么origin就是Sales,scope就是All Persons.
ACI scope:分为两种,一种是单层面的,一种是包含子树的层面的。
ACI有三种过滤器:
•LDAP--标准基于RFC2254的LDAP过滤器。例如:
• (!(title=manager))
title不是manager的
• (|(state=CA)(state=TX))
州是 CA 或者是 TX
• (sn=A*)
sn 以一个 A 开头。
•ITIM relationship--LDAP过滤器的扩展,提供了基于对域Object和另一个域object关系的匹配手段。语法很简单:
(${relationship.attribute}=value)
例如:(${parent.o}=Sales)
这个过滤器就是用来narrow到所有属于Sales的人。
relationship有如下几种:
•Parent
•Owner
•Organization
•Supervisor
•Sponsor
•Administrator
•Role
•Account
•Service
• (${organization.o}=Education)
• (${service.erservicename}=Linux Server)
• (${role.errolename}=Brokers)
•System expression
若需要时间检索,则使用(gmtAttributeName [<= | => ] ${system.date [+ | - ] days})的语法:
例如:(erpswlastchanged<=${system.date – 90}) 九十天或更久未修改的账号密码。
权限许可(Access Permissions)
两种类型:属性许可、操作许可。对于这两种类型有三个权限设定:grant(获得),deny(禁止),none(实际为隐式禁止,但是可以被其他ACI覆盖)
2.ITIM 的组Group和视图View:
TIM账号的组是用来控制进入ITIM。默认有Help Desk Assistant, Auditor, Manager, and Service Owner等组。每个组都只有一个视图,视图分为管理Console和Self Service Console。
每一个组都有一个视图。
3.冲突解决:
两个或多个ACI:显式禁止覆盖显式获得,显式获得覆盖隐式禁止。
多个ITIM组:根据最宽泛的特权进行授予。(也适用于上述两个原则)
4.部署策略:
计划ACI 的focus和scope,计划你想使能的功能,决定组的分配,使用naming scheme来控制ACI的目标。