AdminTask 对象的 SecurityDomainCommands 命令组
要通过 wsadmin 工具配置和管理安全域,可以使用 Jython 脚本语言来实现。使用 SecurityDomainCommands 组中的命令和参数来创建和管理安全域、对安全域指定服务器和集群作为资源以及查询安全域配置。
- convertServerSecurityToSecurityDomain
- copySecurityDomain
- copySecurityDomainFromGlobalSecurity
- createSecurityDomain
- deleteSecurityDomain
- getSecurityDomainForResource
- listResourcesInSecurityDomain
- listSecurityDomains
- listSecurityDomainsForResources
- mapResourceToSecurityDomain
- modifySecurityDomain
- removeResourceFromSecurityDomain
convertServerSecurityToSecurityDomain
从 WebSphere® Application Server V7.0 开始,可以使用安全域来取代服务器级别安全性配置。如果当前正在使用服务器级别安全性配置,那么可以使用 convertServerSecurityToSecurityDomain 命令将它转换为安全域。
此命令可用于创建安全域,并将服务器级别安全性配置中指定的所有安全设置添加到新创建的安全域。会将服务器资源映射到安全域。
目标对象
无。
必需参数
- -serverResource
- 要转换到安全域的服务器的资源名称。(字符串)
- -securityDomain
- 安全域的名称,将要创建该安全域,并且该安全域会包含来自服务器级别安全性配置的设置。(字符串)
可选参数
- -securityDomainDescription
- 为新安全域指定描述。(字符串)
- -deleteServer
- 指定 true 可以移除服务器级别安全性配置,而指定 false 可以保留服务器级别安全性配置。(字符串)
批处理方式示例用法
- 使用 Jython:
wsadmin> AdminTask.convertServerSecurityToSecurityDomain ('[serverResource Cell=:Node=myNode:Server=server1 -securityDomain secDomain1 -securityDomainDescription "Migrated from server security configuration" -deleteServer true ]'))
- 使用 Jacl:
wsadmin> $AdminTask convertServerSecurityToSecurityDomain {-serverResource Cell=:Node=myNode:Server=server1 -securityDomain secDomain1 -securityDomainDescription "Migrated from server security configuration" -deleteServer true }
copySecurityDomain
copySecurityDomain 命令通过复制现有安全域来创建新的安全域。如果安全配置定义活动的用户注册表,请为新建安全域提供域名。如果未指定域名,那么系统会创建域名。
目标对象
无。
必需参数
- -securityDomainName
- 指定系统通过以下方式创建的新安全域的名称:复制另一安全域。(字符串)
- -copyFromSecurityDomainName
- 指定系统用来创建新安全域的现有安全域的名称。(字符串)
可选参数
- -securityDomainDescription
- 为新安全域指定描述。(字符串)
- -realmName
- 指定新安全域中域的名称。如果您未对此参数指定值,那么系统会为该域创建名称。(字符串)
返回值
该命令返回新安全域的配置标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.copySecurityDomain('-securityDomainName copyOfDomain2 -copyFromSecurityDomainName Domain2')
- 使用 Jython 列表:
AdminTask.copySecurityDomain('-securityDomainName', 'copyOfDomain2', '-copyFromSecurityDomainName', 'Domain2')
交互方式示例用法
- 使用 Jython:
AdminTask.copySecurityDomain('-interactive')
copySecurityDomainFromGlobalSecurity
copySecurityDomainFromGlobalSecurity 命令通过复制全局安全性配置创建安全域。如果对于全局安全性配置存在活动的用户注册表,请为新建安全域提供域名。如果未指定域名,那么系统会创建域名。
目标对象
无。
必需参数
- -securityDomainName
- 指定系统从全局安全性配置中复制的新安全域的名称。(字符串)
可选参数
- -securityDomainDescription
- 为新安全域指定描述。(字符串)
- -realmName
- 指定新安全性配置中域的名称。如果您未对 -realmName 参数指定值,那么系统会为该域创建名称。(字符串)
返回值
该命令返回新安全域的配置标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.copySecurityDomainFromGlobalSecurity('-securityDomainName GSCopy -securityDomainDescription “copy of global security” -realmName myRealm')
- 使用 Jython 列表:
AdminTask.copySecurityDomainFromGlobalSecurity('-securityDomainName', 'GSCopy', '-securityDomainDescription', '“copy of global security”', '-realmName myRealm')
交互方式示例用法
- 使用 Jython:
AdminTask.copySecurityDomainFromGlobalSecurity('-interactive')
createSecurityDomain
createSecurityDomain 命令会在 profile_root/config/cells/cellName/securityDomain/configurationName 目录下创建安全性 domain-security.xml 和 domain-security-map.xml 文件。系统会创建空的 domain-security.xml 文件。
目标对象
无。
必需参数
- -securityDomainName
- 指定要创建的新安全域的名称。(字符串)
可选参数
- -securityDomainDescription
- 指定新安全域的描述。(字符串)
返回值
该命令返回新安全域的配置标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.createSecurityDomain('-securityDomainName newDomain -securityDomainDescription "new security domain"')
- 使用 Jython 列表:
AdminTask.createSecurityDomain('-securityDomainName', 'newDomain', '-securityDomainDescription', '"new security domain"')
交互方式示例用法
- 使用 Jython:
AdminTask.createSecurityDomain('-interactive')
deleteSecurityDomain
deleteSecurityDomain 命令从安全域目录中除去 domain-security.xml 和 domain-security-map.xml 文件。如果资源已映射到相关安全域,那么该命令会返回错误。要在资源已映射到相关安全域时删除安全域,请将 -force 参数的值指定为 true。
目标对象
无。
必需参数
- -securityDomainName
- 指定要删除的安全域的名称。(字符串)
可选参数
- -force
- 指定系统删除安全域但不检查与该域关联的资源。当安全域中的资源不是有效资源时使用此选项。-force 参数的缺省值为 false。(布尔值)
返回值
如果系统成功除去安全域配置,那么该命令不返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.deleteSecurityDomain('-securityDomainName mySecurityDomain -force true')
- 使用 Jython 列表:
AdminTask.deleteSecurityDomain('-securityDomainName', 'mySecurityDomain', '-force', 'true')
交互方式示例用法
- 使用 Jython:
AdminTask.deleteSecurityDomain('-interactive')
getSecurityDomainForResource
getSecurityDomainForResource 命令显示特定资源的安全域。如果资源未映射到域,那么该命令不会返回输出。
目标对象
无。
必需参数
- -resourceName
- 指定相关资源的名称。请使用以下格式指定该值:Cell=:Node=myNode:Server=myServer(字符串)
可选参数
- -getEffectiveDomain
- 指定当资源未直接映射到域时该命令是否返回该资源的有效域。缺省值是 true。如果当资源未直接映射到域时不要显示有效域,请指定 false。(布尔值)
返回值
该命令以字符串形式返回安全域名称。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getSecurityDomainForResource('-resourceName Cell=:Node=myNode:Server=myServer')
- 使用 Jython 列表:
AdminTask.getSecurityDomainForResource('-resourceName', 'Cell=:Node=myNode:Server=myServer')
交互方式示例用法
- 使用 Jython:
AdminTask.getSecurityDomainForResource('-interactive')
listResourcesInSecurityDomain
listResourcesInSecurityDomain 命令显示与特定安全域关联的服务器或集群。
目标对象
无。
必需参数
- -securityDomainName
- 指定相关安全域的名称。(字符串)
- -expandCell
- 指定是否显示单元中的服务器。指定 true 以显示特定服务器,或指定 false 以仅列出单元信息。(布尔值)
返回值
对于已映射到相关安全域的资源,此命令使用以下格式返回包含这些资源的名称的数组:Cell=cell name:Node=node name:Server=server name。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.listResourcesInSecurityDomain('-securityDomainName myDomain')
- 使用 Jython 列表:
AdminTask.listResourcesInSecurityDomain('-securityDomainName', 'myDomain')
交互方式示例用法
- 使用 Jython:
AdminTask.listResourcesInSecurityDomain('-interactive')
listSecurityDomains
listSecurityDomains 命令列出为服务器配置的每个安全域。
目标对象
无。
可选参数
- -listDescription
- 指定是否显示安全域的描述。指定 true 以显示安全域的描述。(布尔值)
- -doNotDisplaySpecialDomains
- 指定是否排除特殊域。指定 true 以在命令输出中排除特殊域,或指定 false 以显示这些特殊域。(布尔值)
返回值
对于已为服务器配置的安全域,该命令返回包含这些安全域的名称的数组。该命令返回一组属性列表,它们包含当指定了 -listDescription 参数时每个安全域的名称和描述。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.listSecurityDomains('-listDescription true')
- 使用 Jython 列表:
AdminTask.listSecurityDomains('-listDescription', 'true')
交互方式示例用法
- 使用 Jython:
AdminTask.listSecurityDomains('-interactive')
listSecurityDomainsForResources
listSecurityDomainsForResources 命令列出与相关资源关联的安全域。
目标对象
无。
必需参数
- -resourceNames
- 指定该命令为其返回关联安全域的一个或多个资源。指定用加号字符 (+) 分隔的每个资源。(字符串)
返回值
该命令返回由 -resourceNames 参数指定的资源的列表以及每个资源映射到的安全域。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.listSecurityDomainsForResources('-resourceNames resource1+resource2+resource3')
- 使用 Jython 列表:
AdminTask.listSecurityDomainsForResources('-resourceNames', 'resource1+resource2+resource3')
交互方式示例用法
- 使用 Jython:
AdminTask.listSecurityDomainsForResources('-interactive')
mapResourceToSecurityDomain
mapResourceToSecurityDomain 命令将资源映射到安全域。系统为每个资源将一个条目添加至 domain-security-map.xml 文件。
目标对象
无。
必需参数
- -securityDomainName
- 指定相关安全域的名称。(字符串)
- -resourceName
- 指定系统对其映射相关安全域的资源的名称。请使用以下格式指定该值:Cell=:Node=myNode:Server=myServer(字符串)
返回值
如果系统成功将资源指定给相关安全域,那么该命令不返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.mapResourceToSecurityDomain('-securityDomainName mySecurityDomain -resourceName -resourceName Cell=:Node=myNode:Server=myServer')
- 使用 Jython 列表:
AdminTask.mapResourceToSecurityDomain('-securityDomainName', 'mySecurityDomain', '-resourceName', '-resourceName Cell=:Node=myNode:Server=myServer')
交互方式示例用法
- 使用 Jython:
AdminTask.mapResourceToSecurityDomain('-interactive')
modifySecurityDomain
modifySecurityDomain 命令用于更改安全域的描述。
目标对象
无。
必需参数
- -securityDomainName
- 指定要编辑的安全域的名称。(字符串)
可选参数
- -securityDomainDescription
- 为相关安全域指定新描述。(字符串)
返回值
如果系统成功修改该安全域,那么该命令不返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.modifySecurityDomain('-securityDomainName myDomain -securityDomainDescription "my new description"')
- 使用 Jython 列表:
AdminTask.modifySecurityDomain('-securityDomainName', 'myDomain', '-securityDomainDescription',= '"my new description"')
交互方式示例用法
- 使用 Jython:
AdminTask.modifySecurityDomain('-interactive')
removeResourceFromSecurityDomain
removeResourceFromSecurityDomain 命令从安全域映射中除去资源。该命令从 domain-security-map.xml 文件中除去资源条目。
目标对象
无。
必需参数
- -securityDomainName
- 指定要从其中除去资源的安全域的名称。(字符串)
- -resourceName
- 指定要除去的资源的名称。请使用以下格式指定该值:Cell=:Node=myNode:Server=myServer(字符串)
返回值
如果系统成功从安全域中除去该资源,那么该命令不返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.removeResourceFromSecurityDomain('-securityDomainName myDomain -resourceName Cell=:Node=myNode:Server=myServer')
- 使用 Jython 列表:
AdminTask.removeResourceFromSecurityDomain('-securityDomainName', 'myDomain', '-resourceName', 'Cell=:Node=myNode:Server=myServer')
交互方式示例用法
- 使用 Jython:
AdminTask.removeResourceFromSecurityDomain('-interactive')