在本节中,我们会使用TIM来进行集中的用户管理
1、登录TIM管理Console
管理员用户名/密码:itim manager/secret
登录后会要求修改初始密码,将密码修改为passw0rd。
2、管理组织架构
在“Manage Organization Structure”中,创建如下形式的部门结构,我们会在后面的实验中用到这三个部门名称:
包括如下Organization Unit:
- Engineering
- Finance
- HR
- IT
- Sales
- Transportation
3、设置角色
TIM中可以使用角色对用户进行管理。首先在TIM中设置角色:
- DESIGNER
- MANAGER - IT
- TELESALES
- EXECUTIVE
- HR OFFICER
- EMPLOYEE
即在“Manage Roles”中,设置如下静态角色,并设置相应的Business unit,如:
设置后结果如下:
4、管理人员(Person)――添加一个超级用户
1.在“Manage User”中选择创建一个Person:
创建如下内容的TIM超级管理员:
- Last name: Stevens
- Full name: Mike Stevens
- Preferred user ID: mstevens
- Organizational Roles: MANAGER - IT
- Employee number: 00012
- Title: IT Systems Manager
- E-mail address: mstevens@ibm.com
填写信息完毕后,点击“Continue”;
2.设置TIM用户密码
由于在provisioning policy for the ITIM Service中设置了“automatic provisioning” for all users,,所以需要设置密码页:
• 选择“Allow me to type a password”。输入密码“passw0rd”
• 在Schedule中,选择Immediate
3.检查创建情况
选择“View my request”
可以看到现在的状态:
4.将Mike Stevens添加到TIM的管理员组中
在“Manage Users”里:
添加该用户到TIM的管理员组中:
在Select Groups页中,选择System Administrator组
选择Submit Now:
使用Mike Stevens登录(注意用户名是mstevens):
应该是以管理员的身份登录,因此权限和itim manager用户相同。
5、修改Default provisioning policy for ITIM
本节中,我们会修改TIM用户的Provisioning Policy,为下一节的HR FEED做准备。
Provisioning Policy决定了在自动供应账户的时候,如何确定自动供应的各种参数。
TIM作为统一用户管理平台,TIM自身的帐号信息也是作为一个被管理资源进行管理的。
在“Manage Policies”中选择“Manage Provisioning Policies”,选择修改“Default provisioning policy for ITIM”:
- 在General 页里面,修改作用域为“This business unit and its subunits”
- 在Members 页里面,选择“All users in the organization”。
- 在Entitlements页里面,选择ITIM Service:
确保Provisioning options 设定为Automatic.
- 选择OK 回到Entitlements页。
- 选择 ITIM Service, 然后点击Parameters 按钮设置自动供应的参数。
- 在 Entitlement Parameter 页上,选择Create:
- 在Add New Parameter页上选择 Password属性,选择Continue.
- 在Define Constant 页上选择如下选项:
- Parameter Type 的值为 Constant Value
- Enforcement Type的值为Default
- Password 为passw0rd。
- 选择 Continue。
- Password 属性加入成功,再次选择Create。
- 选择“Change password at next log in? ”属性,选择Continue.
- 在Define Constant页上,选择:
- Parameter Type 的值为Constant Value
- Enforcement Type 的值为 Default
- Change password at next logon? 的值为Unchecked
- 选择 Continue
在Entitlement Parameter页上,可以看到设好的两个参数。选择Continue.
- 在提交之前,首先点击Preview 按钮. Preview功能会分析该policy的改变,会影响到哪些用户,该功能可以很好的帮助减少因policy设置错误带来的不良影响。
- 选择Enforce entire policy ,并且选择 Continue。
- 当状态变为Completed时, 我们可以看到影响的结果。
- 选择Close,然后选择Submit 。
6、安装TAMeb Adapter
1.安装
执行如下命令,确保命令执行成功。
目的:对TDI的JRE进行配置,环境变量中加入PD.jar
cd /opt/PolicyDirectory/sbin
./pdjrtecfg -action config -host tivoli.ibm.com -port 7135 -java_home /opt/IBM/TDI/V6.1.1/jvm/jre
执行如下命令,确保命令执行成功。
目的: 生成TDI Application,加入TAM安全域。
注:如下命令安装TDI和TAM为同一server,如果不同Server,则指定-model为remote
-admin_id为Policy Server的管理员
-admin_pwd为Policy Server的管理员密码
-appsvr_id为生成server的名称,可以随意指定
-port:默认即可
-model 指定远程或本地
-policysv:policy Server主机及端口
- authzsvr:认证服务器主机及端口
-cfg_file:生成配置文件的位置,如果timsol不存在,先新建该目录
-key_file:生成key文件的位置,如果timsol不存在,先新建该目录
2.TIM中导入itamprofile.jar文件:
解压C17PNML_TIM5.0_Adapter5.0.1_for_TAM_Multiplatform_Multilingual.zip。
在Configure System 中选择 Manage Service Types,之后点击Import.
选择文件itamprofile.jar :
成功之后,可以看到创建了新的Service Type:itamprofile。
3.创建TAM Service
Manage Services中点击 Create,选择建立TAM Combo Profile类型的Service。
填入基本信息:
填入TAM信息:
填入LDAP信息:
测试目标系统的连接: 点击Test Connection :
点击OK。
4.Reconcile
在Service页上,可以看到新创建的服务。选择Reconcile Now。
选择None:
点击Submit,然后再查看这个service的account,应该能够看到这个服务下面已有的部分帐号:
7、修改Default Provisioning Policy for service TAM SERVICE
本节中,我们会修改TAM用户的Provisioning Policy,为下一节的HR FEED做准备。
在“Manage Policies”中选择“Manage Provisioning Policies”,选择修改“Default Provisioning Policy for service TAM SERVICE”:
- 在General 页里面,作用域为“This business unit and its subunits”
- 在Members 页里面,选择“All users in the organization”。
- 在Entitlements页里面,选择TAM SERVICE:
将其改成Automatic方式:
点击OK.
然后选中TAM SERVICE,点击Parameters 按钮设置自动供应的参数。
点击Create:
在列出的选项中,选择Distinguished Name:
在Distinguished Name的定义里面输入如下信息:
再以此选择定义必填属性 Full name,Last name,User ID,使他们也分别用java script来自动定义,定义格式如下:
Full name:
Last name:
User ID:
然后再定义password:
定义成为固定的passw0rd :
最后定义用户全部为GSO用户:
设置完成的最终结果为:
点击Continue, 然后Submit。
我们先做一个初步的测试:
首先查看修改policy的请求,是否成功:
如果成功,那么TIM中现有的两个用户就应该自动的拥有TAM的帐号了。我们查看TAM中的所有帐号,可以发现TIM中两个用户对应的帐号,说明配置成功:
8、HR Feed
在5.5节中,我们手动添加了一个人员,在实际的场景中,初始人员信息往往是从一个人员信息很全的系统中导入的。一般来说,HR系统中的信息较准确,因此会经常从HR系统中导入TIM的初始信息。因此在TIM中,把初始人员的导入叫做“HR Feed”。
TIM可以使用如下方式进行HR FEED:
- CSV formatted file
- DSML formatted file (XML)
- INetorgperson (LDAP)
- Active Directory
- Custom using Tivoli Directory Integrator (TDI)
本实验中,将使用CSV文件导入初始用户。
我们把存储在一个CSV文件中的信息,导入成为TIM中的person。
BaseHRFeed.csv如下:
uid,sn,cn,givenname,mail,initials,employeenumber,erroles,telephonenumber,roomnumber,employeetype,carlicense,title,manager,ou
criegle,Riegle,Chuck Riegle,Chuck,criegle@ibm.com,CR,10001,EMPLOYEE,987-2001,1-101,employee,zz3995,Business Manager,,Ibm
jrivers,Rivers,Janice Rivers,Janice,jrivers@ibm.com,JR,10002,EMPLOYEE,987-2003,1-102,employee,zz3993,Service Associate,,Ibm
dmeyers,Meyers,Dan Meyers,Dan,dmeyers@ibm.com,DM,10003,EMPLOYEE,987-2002,1-103,employee,zz3991,Communications Manager,,Ibm
jhall,Hall,Judith Hall,Judith,jhall@ibm.com,JH,10004,EMPLOYEE,987-2004,1-104,employee,zz3992,Inside Sales Associate,,Ibm
jryder,Ryder,Jess Ryder,Jess,jryder@ibm.com,JR,10005,EMPLOYEE,987-5000,1-105,employee,zz3996,Transportation Manager,,Ibm
jsmith,Smith,James Smith,James,jsmith@ibm.com,JS,10006,EMPLOYEE,987-2001,1-106,employee,zz3998,Communications Manager,,Ibm
jbenson,Benson,Jeff Benson,Jeff,jbenson@ibm.com,JB,10007,EMPLOYEE,987-2053,1-107,employee,zz3997,Security Auditor,,Ibm
…
文件中的用户属性包括 uid, sn, cn, givenname, mail, initials, employeenumber, erroles, telephonenumber, roomnumber, employeetype, carlicense, title, manager ,ou等属性。这些属性主要基于InetOrgPerson Schema (based on RFC 2798)。
由于将TIM和TAM的账户的Policy设为了自动方式(Automatic),所以在导入用户(person)的过程中,会给每一个人自动建立账户。
1.创建一个Service
在Manage Services中,选择创建,类型为Comma Separated File (CSV) Identity feed:
填写如下的参数:
- Service Name: Load Basic Employee Data
- Description: Load Basic Employee Data – initial feed from CSV
- File name: /Image/BaseHRFeed.csv
- Use workflow: mark the checkbox
- Name attribute: employeeNumber (select an attribute which uniquely identifies the person)
在Placement Rule选项中,拷贝placement.txt 文件中的内容。请确定最后一行内容后有一个空行。
placement.txt:
var ou = entry.ou;
var filt = '';
for (i=0; i < ou.length; i++)
{
if (i==0)
{
filt = "ou=" + ou[i];
} else {
filt = filt + ",ou=" + ou[i];
}
}
return filt;
点击Test Connection按钮,确保文件位置:
选择Finish。
2.Reconcile
在Service页上,可以看到新创建的服务。选择Reconcile Now。
查看request情况:
点击“Refresh”刷新,当这个Request的状态从Pending变成Success的时候,Reconcile完成。如果出现问题,通过查看报错信息进行诊断。
Manage Users页中,可以看到CSV文件中的内容都已经导入了。
且由于我们设置了自动的策略,导入的每一个用户都即时拥有了两个帐号: