提供安全性
虚拟成员管理器为更改配置和使用运行时 API 提供了基于角色的安全性。
配置安全性
虚拟成员管理器配置可以从 WebSphere 管理控制台、wsadmin 命令和脚本编制进行更改。 只有分配有 WebSphere Application Server 管理员角色的用户才能从控制台或使用命令来更改配置。 wsadmin 命令还可以在 WebSphere Application Server 安装期间以本地方式使用。
运行时安全性
- WebSphere Application Server 管理员
- 以 WebSphere Application Server 管理员身份认证的用户可以针对任何虚拟成员管理器对象执行任何虚拟成员管理器功能。
- 帐户所有者角色
- “帐户所有者”角色是特定于虚拟成员管理器的角色,而不是 J2EE 角色。 如果已认证的用户是注册表对象的所有者,那么可以通过程序来为该用户分配“帐户所有者”角色。 已认证的用户可以更改自己的密码但只能搜索自己本身。 此类用户无权进行任何其他修改,也不能搜索、查看、创建或删除存储库中的任何对象。
Account-Owner-Role SEARCH Entity/RolePlayer/Party/LoginAccount/* UPDATE Entity/RolePlayer/Party/LoginAccount/* WRITE Entity/RolePlayer/Party/LoginAccount/* sensitive READ Entity/RolePlayer/Party/LoginAccount/* unchecked WRITE Entity/RolePlayer/Party/LoginAccount/* unchecked All Authenticated Users Account-Owner-Role {Condition: OWNERSHIP == true}
- 防止在向 WebSphere Application Server 认证期间,WebSphere Application Server 安全性和虚拟成员管理器之间有循环依赖性
- 提供快速认证
将用户和组映射到角色以分配联合存储库管理权限
如果要使未分配有 WebSphere Application Server 管理员角色的用户能访问虚拟成员管理器方法,可以为该用户或组分配下列其中一个预定义的虚拟成员管理器角色。
下表列示预定义的虚拟成员管理器角色及其对应的许可权:
| 角色名称 | 方法许可权 |
|---|---|
| IdMgrAdmin(与 WAS 管理员具有相同的权限) | create
update delete search get createSchema getSchema |
| IdMgrWriter | 创建
update delete search get |
| IdMgrReader | 搜索
获取 |
您可以将用户或组只映射到一个角色。 还可以使用具有值 ALLAUTHENTICATED 而不是组标识的特殊主题将所有登录的用户映射到一个特定角色。 如果通过组成员资格为用户授予了多个角色,那么这些应用的角色没有特定的优先顺序。 但由于每个角色都是另一个角色的子集或超集,因此不存在冲突角色。 例如,IdMgrWriter 具有 IdMgrReader 和 IdMgrWriter 许可权,而 IdMgrAdmin 具有 IdMgrReader、IdMgrWriter 和 IdMgrAdmin 许可权。
- 分配给每个角色的许可权是硬编码的;不能对其进行修改或定制。
- 不会强制执行属性的组级别访问权检查。
- 根据为用户分配的角色,会为用户授予所有属性和属性组上的所有相关许可权。
有关如何将用户或组分配到预定义的虚拟成员经理角色的信息,请阅读mapIdMgrUserToRole, mapIdMgrGroupToRole,removeIdMgrUsersFromRole,removeIdMgrGroupsFromRole,listIdMgrUsersForRoles,和listIdMgrGroupsForRoles主题中的命令,IdMgrConfig指挥组AdminTask目的在里面WebSphere Application Server文档。
如果要对 LDAP 类型定义为“定制”并且未定制外部标识(用于定制 LDAP 类型的外部标识是专有名称)的 LDAP 用户添加许可权,请在向该用户添加角色时使用简短用户名(对于 janeDoe,使用 cn=JaneDoe,o=ibm)或使用 wsadmin 命令 setIdMgrCustomProperty 启用定制属性 returnUniqueNameInNormalCaseIfExtIdMapToDN。 或者,将外部标识设置为适用于 LDAP 服务器的 UUID。 例如,AdminTask.addIdMgrLDAPExternalIdAttr ('[-id myLDAP-name ibm-entryUUID]')。