AdminTask 对象的 NamingAuthzCommands 命令组
要通过 wsadmin 工具为组和用户配置命名角色,可以使用 Jython 脚本语言来实现。使用 NamingAuthzCommands 组中的命令和参数来分配、除去和查询命名角色配置。CosNaming 安全性对 CosNaming 功能提供增强的细颗粒度安全性控制。
为提供执行某些应用程序服务器命名服务功能所需的权限等级,定义了许多命名角色。仅当启用了全局安全性时才执行授权策略。
listGroupsForNamingRoles
listGroupsForNamingRoles 命令显示已映射到命名角色的组和特殊主体集。
目标对象
无。
返回值
该命令返回与每个命名角色关联的组和特殊主体集的列表。
批处理方式示例用法
- 使用 Jython:
AdminTask.listGroupsForNamingRoles()
交互方式示例用法
- 使用 Jython:
AdminTask.listGroupsForNamingRoles('-interactive')
listUsersForNamingRoles
listUsersForNamingRoles 命令显示已映射到命名角色的用户。
目标对象
无。
返回值
该命令返回与每个命名角色关联的用户的列表。
批处理方式示例用法
- 使用 Jython:
AdminTask.listUsersForNamingRoles()
交互方式示例用法
- 使用 Jython:
AdminTask.listUsersForNamingRoles('-interactive')
mapGroupsToNamingRole
mapGroupsToNamingRole 命令将组和/或特殊主体集映射到命名角色。
目标对象
无。
必需参数
- -roleName
- 指定命名角色的名称。(字符串)
表 1. 名称空间安全角色. 下列四个名称空间安全角色可用:CosNamingRead、CosNamingWrite、CosNamingCreate 和 CosNamingDelete。这些角色具有从低到高的权限级别,如下表所定义: 角色名 描述 CosNamingRead 您可以使用 Java™ 命名和目录接口 (JNDI) 查询方法之类的方法来查询应用程序服务器名称空间。EVERYONE 特殊主体集是此角色的缺省策略。 CosNamingWrite 可以执行诸如 JNDI 绑定、重新绑定或取消绑定之类的写操作以及 CosNamingRead 操作。 CosNamingCreate 可以通过诸如 JNDI createSubcontext 和 CosNamingWrite 操作之类的操作来在名称空间中创建新对象。 CosNamingDelete 可以使用 JNDI destroySubcontext 方法和 CosNamingCreate 操作之类的方法和操作来破坏名称空间中的对象。
可选参数
- -groupids
- 指定要映射到命名角色的组的名称。(String[])
- -accessids
- 使用格式 <group:realmName/uniqueID> 来指定用户的访问标识。(String[])
- -specialSubjects
- 指定要映射的特殊主体集。(String[])
表 2. 特殊主体集. 特殊主体集包括 EVERYONE、ALLAUTHENTICATED 和 ALLAUTHENTICATEDINTRUSTEDREALMS,如下表所定义: 头 头 EVERYONE 将每个人都映射到指定的角色。如果将每个人都映射到某个角色,那么任何人都能访问此角色保护的资源,实际上,这等同于未启用安全性。 ALLAUTHENTICATED 将每个已认证的用户映射到指定的角色。如果将每个已认证用户都映射到指定的角色,那么当前注册表中每个已认证的有效用户都能够访问此角色保护的资源。 ALLAUTHENTICATEDINTRUSTEDREALMS 将每个已认证的用户映射到指定的角色。如果将每个已认证用户都映射到指定的角色,那么当前注册表中每个已认证的有效用户都能够访问信任域中此角色保护的资源。
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.mapGroupsToNamingRole('[-roleName CosNamingCreate -groupids [group1, group2]]')
- 使用 Jython 列表:
AdminTask.mapGroupsToNamingRole(['-roleName', 'CosNamingCreate', '-groupids', '[group1, group2]'])
交互方式示例用法
- 使用 Jython:
AdminTask.mapGroupsToNamingRole('-interactive')
mapUsersToNamingRole
mapUsersToNamingRole 命令将用户映射到命名角色。
目标对象
无。
必需参数
- -roleName
- 指定命名角色的名称。(字符串)
表 3. 名称空间安全角色. 下列四个名称空间安全角色可用:CosNamingRead、CosNamingWrite、CosNamingCreate 和 CosNamingDelete。这些角色具有从低到高的权限级别,如下表所定义: 角色名 描述 CosNamingRead 您可以使用 Java 命名和目录接口 (JNDI) 查询方法之类的方法来查询应用程序服务器名称空间。EVERYONE 特殊主体集是此角色的缺省策略。 CosNamingWrite 可以执行诸如 JNDI 绑定、重新绑定或取消绑定之类的写操作以及 CosNamingRead 操作。 CosNamingCreate 可以通过诸如 JNDI createSubcontext 和 CosNamingWrite 操作之类的操作来在名称空间中创建新对象。 CosNamingDelete 可以使用 JNDI destroySubcontext 方法和 CosNamingCreate 操作之类的方法和操作来破坏名称空间中的对象。
可选参数
- -userids
- 指定要映射到相关命名角色的用户标识。(String[])
- -accessids
- 使用格式 <user:realmName/uniqueID> 来指定用户的访问标识。(String[])
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.mapUsersToNamingRole([-roleName CosNamingDelete -userids [user1, user2, user3]]')
- 使用 Jython 列表:
AdminTask.mapUsersToNamingRole(['-roleName', 'CosNamingDelete', '-userids', '[user1, user2, user3]'])
交互方式示例用法
- 使用 Jython:
AdminTask.mapUsersToNamingRole('-interactive']
removeGroupsFromNamingRole
removeGroupsFromNamingRole 命令从命名角色中除去组和/或特殊主体集。
目标对象
无。
必需参数
- -roleName
- 指定命名角色的名称。(字符串)
表 4. 名称空间安全角色. 下列四个名称空间安全角色可用:CosNamingRead、CosNamingWrite、CosNamingCreate 和 CosNamingDelete。这些角色具有从低到高的权限级别,如下表所定义: 角色名 描述 CosNamingRead 您可以使用 Java 命名和目录接口 (JNDI) 查询方法之类的方法来查询应用程序服务器名称空间。EVERYONE 特殊主体集是此角色的缺省策略。 CosNamingWrite 可以执行诸如 JNDI 绑定、重新绑定或取消绑定之类的写操作以及 CosNamingRead 操作。 CosNamingCreate 可以通过诸如 JNDI createSubcontext 和 CosNamingWrite 操作之类的操作来在名称空间中创建新对象。 CosNamingDelete 可以使用 JNDI destroySubcontext 方法和 CosNamingCreate 操作之类的方法和操作来破坏名称空间中的对象。
可选参数
- -groupids
- 指定要从相关命名角色中除去的组的名称。(String[])
- -specialSubjects
- 指定要除去的特殊主体集。(String[])
表 5. 特殊主体集. 特殊主体集包括 EVERYONE、ALLAUTHENTICATED 和 ALLAUTHENTICATEDINTRUSTEDREALMS,如下表所定义: 头 头 EVERYONE 将每个人都映射到指定的角色。如果将每个人都映射到某个角色,那么任何人都能访问此角色保护的资源,实际上,这等同于未启用安全性。 ALLAUTHENTICATED 将每个已认证的用户映射到指定的角色。如果将每个已认证用户都映射到指定的角色,那么当前注册表中每个已认证的有效用户都能够访问此角色保护的资源。 ALLAUTHENTICATEDINTRUSTEDREALMS 将每个已认证的用户映射到指定的角色。如果将每个已认证用户都映射到指定的角色,那么当前注册表中每个已认证的有效用户都能够访问信任域中此角色保护的资源。
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.removeGroupsFromNamingRole('-roleName CosNamingRead -groupids [group1, group2] -specialSubjects EVERYONE')
- 使用 Jython 列表:
AdminTask.removeGroupsFromNamingRole(['-roleName', 'CosNamingRead', '-groupids', '[group1, group2]', '-specialSubjects', 'EVERYONE'])
交互方式示例用法
- 使用 Jython:
AdminTask.removeGroupsFromNamingRole('-interactive')
removeUsersFromNamingRole
removeUsersFromNamingRole 命令从命名角色中除去用户。
目标对象
无。
必需参数
- -roleName
- 指定命名角色的名称。(字符串)
表 6. 名称空间安全角色. 下列四个名称空间安全角色可用:CosNamingRead、CosNamingWrite、CosNamingCreate 和 CosNamingDelete。这些角色具有从低到高的权限级别,如下表所定义: 角色名 描述 CosNamingRead 您可以使用 Java 命名和目录接口 (JNDI) 查询方法之类的方法来查询应用程序服务器名称空间。EVERYONE 特殊主体集是此角色的缺省策略。 CosNamingWrite 可以执行诸如 JNDI 绑定、重新绑定或取消绑定之类的写操作以及 CosNamingRead 操作。 CosNamingCreate 可以通过诸如 JNDI createSubcontext 和 CosNamingWrite 操作之类的操作来在名称空间中创建新对象。 CosNamingDelete 可以使用 JNDI destroySubcontext 方法和 CosNamingCreate 操作之类的方法和操作来破坏名称空间中的对象。
可选参数
- -userids
- 指定要从相关命名角色中除去的用户标识。(String[])
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.removeUsersFromNamingRole('-roleName CosNamingRead')
- 使用 Jython 列表:
AdminTask.removeUsersFromNamingRole(['-roleName', 'CosNamingRead'])
交互方式示例用法
- 使用 Jython:
AdminTask.removeUsersFromNamingRole('-interactive')