AdminTask 对象的 AuditEmitterCommands
可以使用 Jython 脚本语言,通过 wsadmin 工具来配置审计服务提供程序。使用 AuditEmitterCommands 组中的命令和参数,在安全性审计系统配置中创建、管理以及移除审计服务提供程序。
- createBinaryEmitter
- createSMFEmitter
- createThirdPartyEmitter
- deleteAuditEmitterByRef
- deleteAuditEmitterByName
- getAuditEmitter
- getBinaryFileLocation
- getAuditEmitterFilters
- getBinaryFileSize
- getEmitterClass
- getEmitterUniqueId
- getMaxNumBinaryLogs
- listAuditEmitters
- modifyAuditEmitter
- setAuditEmitterFilters
createBinaryEmitter
createBinaryEmitter 命令会在 audit.xml 文件中创建一个项目,以引用审计服务提供程序接口的二进制文件发射器实现的配置。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -uniqueName
- 指定一个名称以唯一地标识审计服务提供程序接口的此实现。(字符串,必需)
- -className
- 指定对审计服务提供程序接口进行实现的类。(字符串,必需)
- -fileLocation
- 指定系统在其中写入审计日志的位置。(字符串,必需)
- -auditFilters
- 指定对预定义审计过滤器的一个引用或一组引用。使用以下格式来指定多个引用:reference,reference,reference(字符串,必需)
- -wrapBehavior
- 指定表示二进制文件审计日志合并的可定制行为的字符串。(字符串,必需)。
此参数的三个值为:WRAP、NOWRAP 和 SILENT_FAIL
如果使用 WRAP 选项,那么当达到最大日志数时,将重写最旧的审计日志;不会对审计员发送通知。
NOWRAP 选项不重写最旧的审计日志。它停止审计服务、将一个通知发送到 SystemOut.log 并停顿应用程序服务器。
SILENT_FAIL 选项不重写最旧的审计日志。它还会停止审计服务,但允许 WebSphere 进程继续运行。不会将通知记入 SystemOut.log 中。
注: 如果您使用 NOWRAP 或 SILENT_FAIL 选项,那么当服务器因为日志数超过最大值、执行了 stopserver 或者因为服务器以某种方式异常中止而停止时,您在重新启动服务器之前必须将二进制审计日志进行归档。注: 每个控制区域 (CR) 和每个服务方区域 (SR) 都有其自己的二进制文件审计日志。与控制区域关联的二进制文件审计日志以 _CR.log 后缀结束,而服务方区域二进制文件审计日志以 _SR.log 后缀结束。已归档的最大二进制文件日志数同时适用于 CR 和 SR 区域。例如,如果已归档的最大二进制文件日志数为 10,那么 CR 区域和每个 SR 区域的已归档二进制文件日志的最大数也为 10。
达到最大已归档二进制文件日志数时应用的审计行为仅适用于已归档日志数达到其配置的最大值的区域。例如,如果 SR 区域已达到其最大已归档日志数,那么此行为仅适用于 SR 区域。 如果 CR 区域尚未达到其最大已归档日志数,那么审计将仍然在该区域中继续进行。
可选参数
- -eventFormatterClass
- 指定类,用以实现系统格式化审计事件以进行输出的方式。如果要使用缺省审计服务提供程序,请不要指定此参数。(字符串,可选)
- -maxFileSize
- 指定系统在使用时间戳记来保存审计日志之前,每个日志所达到的最大大小。请以兆字节为单位指定大小。缺省值为 10 MB。(整数,可选)
- -maxLogs
- 指定要在系统重写最旧审计日志之前,创建的最大日志文件数。缺省值为 100 个日志。(整数,可选)
返回值
AuditServiceProvider_1184686384968
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.createBinaryEmitter('-uniqueName mybinaryemitter -className com.ibm.ws.security.audit.BinaryEmitterImpl -fileLocation c:\wasinstall\appserver\profiles\AppSrv01\logs\server1 -maxFileSize 20 -maxLogs 100 –wrapBehavior NOWRAP -auditFilters AuditSpecification_1173199825608')
- 使用 Jython 列表:
AdminTask.createBinaryEmitter(['-uniqueName', 'mybinaryemitter', '-className', 'com.ibm.ws.security.audit.BinaryEmitterImpl', '-fileLocation', 'c:\wasinstall\appserver\profiles\AppSrv01\logs\server1', '-maxFileSize', '20', '-maxLogs', '100', '–wrapBehavior', 'NOWRAP', '-auditFilters', 'AuditSpecification_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.createBinaryEmitter('-interactive')
createSMFEmitter
createSMFEmitter 命令会在 audit.xml 文件中创建一个项目,以引用审计服务提供程序接口的 SMF 实现的配置。SMF 实现不支持审计记录的加密和签名。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -uniqueName
- 指定一个名称以唯一地标识审计服务提供程序接口的此实现。(字符串,必需)
- -auditFilters
- 指定对预定义审计过滤器的一个引用或一组引用。使用以下格式来指定多个引用:reference,reference,reference(字符串,必需)
返回值
AuditServiceProvider_1184686384968
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.createSMFEmitter('-uniqueName mySMFEmitter -auditFilters AuditSpecification_1173199825608')
- 使用 Jython 列表:
AdminTask.createSMFEmitter(['-uniqueName', 'mySMFEmitter', '-auditFilters', 'AuditSpecification_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.createSMFEmitter('-interactive')
createThirdPartyEmitter
createThirdPartyEmitter 命令会在 audit.xml 配置文件中创建一个项目,以引用审计服务提供程序接口的第三方发射器实现的配置。第三方实现不支持审计记录的加密和签名。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -uniqueName
- 指定一个名称以唯一地标识审计服务提供程序接口的此实现。(字符串,必需)
- -className
- 指定对审计服务提供程序接口进行实现的类。(字符串,必需)
- -auditFilters
- 指定对预定义审计过滤器的一个引用或一组引用。使用以下格式来指定多个引用:reference,reference,reference(字符串,必需)
可选参数
- -eventFormatterClass
- 指定类,用以实现系统格式化审计事件以进行输出的方式。(字符串,可选)
- -customProperties
- 指定系统在配置审计服务提供程序的第三方实现时,可能需要的任何定制属性。使用以下格式来指定定制属性:name=value,name=value(字符串,可选)
返回值
AuditServiceProvider_1184686638218
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.createThirdPartyEmitter('-uniqueName myThirdPartyEmitter -className com.mycompany.myemitterclass -eventFormatterClass com.mycompany.myeventformatterclass -auditFilters AuditSpecification_1173199825608')
- 使用 Jython 列表:
AdminTask.createThirdPartyEmitter(['-uniqueName', 'myThirdPartyEmitter', '-className', 'com.mycompany.myemitterclass', '-eventFormatterClass', 'com.mycompany.myeventformatterclass', '-auditFilters', 'AuditSpecification_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.createThirdPartyEmitter('-interactive')
deleteAuditEmitterByRef
deleteAuditEmitterByRef 命令会删除系统通过此引用标识进行引用的审计服务提供程序实现。如果事件工厂正在使用审计服务提供程序,那么系统会生成错误,以指示系统无法移除审计服务提供程序。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定要删除的审计服务提供程序实现的引用标识。(字符串,必需)
返回值
如果系统成功移除审计服务提供程序,那么此命令会返回值 true。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.deleteAuditEmitterByRef('–emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.deleteAuditEmitterByRef(['–emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.deleteAuditEmitterByRef('-interactive')
deleteAuditEmitterByName
deleteAuditEmitterByName 命令会删除系统通过此唯一名称进行引用的审计服务提供程序实现。如果事件工厂正在使用审计服务提供程序,那么系统会生成错误,以指示系统无法移除审计服务提供程序。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -uniqueName
- 指定名称以唯一地标识要删除的审计服务提供程序接口的此实现。(字符串,必需)
返回值
如果系统成功删除审计服务提供程序实现,那么此命令会返回值 true。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.deleteAuditEmitterByName('-uniqueName mybinaryemitter')
- 使用 Jython 列表:
AdminTask.deleteAuditEmitterByName(['-uniqueName', 'mybinaryemitter'])
交互方式示例用法
- 使用 Jython:
AdminTask.deleteAuditEmitterByName('-interactive')
getAuditEmitter
getAuditEmitter 命令会返回相关审计服务提供程序的属性。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对审计服务提供程序实现的引用。(字符串,必需)
返回值
{{auditSpecifications myfilter(cells/CHEYENNENode04Cell|audit.xml#AuditSpecification_1184598886859)}
{name auditServiceProviderImpl_1}
{_Websphere_Config_Data_Id cells/CHEYENNENode04Cell|audit.xml#AuditServiceProvider_1173199825608}
{maxFileSize 1}
{_Websphere_Config_Data_Type AuditServiceProvider}
{fileLocation ${PROFILE_ROOT}/logs/server1}
{className com.ibm.ws.security.audit.BinaryEmitterImpl}
{properties {}}
{eventFormatterClass {}}
{maxLogs 100}}
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getAuditEmitter('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.getAuditEmitter(['-emitterRef AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getEmitterClass('-interactive')
getBinaryFileLocation
getBinaryFileLocation 命令会返回二进制文件审计日志的文件位置。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对二进制文件审计服务提供程序实现的引用。(字符串,必需)
返回值
$profile_root/logs/server1
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getBinaryFileLocation('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.getBinaryFileLocation(['-emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getBinaryFileLocation('-interactive')
getAuditEmitterFilters
getAuditEmitterFilters 命令会返回相关审计服务提供程序实现的已定义过滤器的列表。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定相关审计服务提供程序实现。您可以指定对服务提供程序对象的引用。(字符串,必需)
返回值
AUTHN:SUCCESS,AUTHN:INFO,AUTHZ:SUCCESS,AUTHZ:INFO
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getAuditEmitterFilters('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.getAuditEmitterFilters(['-emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getAuditEmitterFilters('-interactive')
getBinaryFileSize
getBinaryFileSize 命令会返回在 audit.xml 配置文件中,为相关审计服务提供程序定义的二进制审计日志的最大文件大小。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对二进制文件审计服务提供程序实现的引用。(字符串,必需)
返回值
此命令会返回以兆字节单位的最大文件大小(整数值)。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getBinaryFileSize('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.getBinaryFileSize(['-emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getBinaryFileSize('-interactive')
getEmitterClass
getEmitterClass 命令会返回审计服务提供程序发射器实现的类名。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对审计服务提供程序实现的引用。(字符串,必需)
返回值
此命令会返回审计服务提供程序实现的类名。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getEmitterClass('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.getEmitterClass(['-emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getEmitterClass('-interactive')
getEmitterUniqueId
getEmitterUniqueId 命令会返回审计服务提供程序实现的唯一标识。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对服务提供程序实现的引用。(字符串,必需)
返回值
此命令会返回相关审计服务提供程序的唯一标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getEmitterUniqueId('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTask.getEmitterUniqueId(['-emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getEmitterUniqueId('-interactive')
getMaxNumBinaryLogs
getMaxNumBinaryLogs 命令会返回在 audit.xml 配置文件中,为相关审计服务提供程序定义的最大二进制审计日志数。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对二进制文件审计服务提供程序实现的引用。(字符串,必需)
返回值
此命令会返回代表配置中最大二进制审计日志数的整数值。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTaskgetMaxNumBinaryLogs('-emitterRef AuditServiceProvider_1173199825608')
- 使用 Jython 列表:
AdminTaskgetMaxNumBinaryLogs(['-emitterRef', 'AuditServiceProvider_1173199825608'])
交互方式示例用法
- 使用 Jython:
AdminTask.getMaxNumBinaryLogs('-interactive')
listAuditEmitters
listAuditEmitters 命令会返回已配置的审计服务提供程序实现对象及相应属性的列表。
用户必须具有监视员管理角色才能运行此命令。
目标对象
无。
返回值
{{auditSpecifications myfilter(cells/CHEYENNENode04Cell|audit.xml#AuditSpecifica
tion_1184598886859)}
{name auditServiceProviderImpl_1}
{_Websphere_Config_Data_Id cells/CHEYENNENode04Cell|audit.xml#AuditServiceProvid
er_1173199825608}
{maxFileSize 1}
{_Websphere_Config_Data_Type AuditServiceProvider}
{fileLocation ${PROFILE_ROOT}/logs/server1}
{className com.ibm.ws.security.audit.BinaryEmitterImpl}
{properties {}}
{auditSpecRef1 AuditSpecification_1184598886859}
{eventFormatterClass {}}
{maxLogs 100}
{emitterRef AuditServiceProvider_1173199825608}}
{{auditSpecifications DefaultAuditSpecification_1(cells/CHEYENNENode04Cell|audit
.xml#AuditSpecification_1173199825608)}
{name mythirdpartyemitter}
{_Websphere_Config_Data_Id cells/CHEYENNENode04Cell|audit.xml#AuditServiceProvid
er_1184686638218}
{maxFileSize 0}
{_Websphere_Config_Data_Type AuditServiceProvider}
{fileLocation {}}
{className com.mycompany.myemitterclass}
{properties {}}
{auditSpecRef1 AuditSpecification_1173199825608}
{eventFormatterClass com.mycompany.myeventformatterclass}
{maxLogs 0}
{emitterRef AuditServiceProvider_1184686638218}}
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.listAuditEmitters()
- 使用 Jython 列表:
AdminTask.listAuditEmitters()
交互方式示例用法
- 使用 Jython:
AdminTask.listAuditEmitters('-interactive')
modifyAuditEmitter
modifyAuditEmitter 命令会修改审计服务提供程序实现对象的属性。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对审计服务提供程序实现的引用。(字符串,必需)
可选参数
- -className
- 指定要用来标识实现的类名。(字符串,可选)
- -eventFormatterClass
- 指定类,用以实现系统格式化审计事件以进行输出的方式。如果要使用缺省审计服务提供程序,请不要指定此参数。(字符串,可选)
- -customProperties
- 指定以如下“名称/值”对格式进行格式化的定制属性列表:name=value,name=value。(字符串,可选)
可以设置 com.ibm.audit.field.length.limit 定制属性以指定截断后的可变长度审计数据的长度。有关更多信息,请参阅有关安全性定制属性的文档。
- -auditFilters
- 指定对预定义审计过滤器的一个引用或一组引用。使用以下格式来指定多个引用:reference,reference,reference(字符串,可选)
- -fileLocation
- 指定系统在其中写入审计日志的位置。(字符串,可选)
- -maxFileSize
- 指定系统在使用时间戳记来保存审计日志之前,每个日志所达到的最大大小。请以兆字节为单位指定大小。缺省值为 10 MB。(整数,可选)
- -maxLogs
- 指定要在系统重写最旧审计日志之前,创建的最大日志文件数。缺省值为 100 个日志。(整数,可选)
- -wrapBehavior
- 指定表示二进制文件审计日志合并的可定制行为的字符串。(字符串,可选)。
此参数的三个值为:WRAP、NOWRAP 和 SILENT_FAIL
如果使用 WRAP 选项,那么当达到最大日志数时,将重写最旧的审计日志;不会对审计员发送通知。
NOWRAP 选项不重写最旧的审计日志。它停止审计服务、将一个通知发送到 SystemOut.log 并停顿应用程序服务器。
SILENT_FAIL 选项不重写最旧的审计日志。它还会停止审计服务,但允许 WebSphere 进程继续运行。不会将通知记入 SystemOut.log 中。
返回值
如果系统成功修改相关审计服务提供程序,那么此命令会返回值 true。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.modifyAuditEmitter('-emitterRef AuditServiceProvider_1184686638218 –wrapBehavior NOWRAP -auditFilters AuditSpecification_1173199825608 -fileLocation c:\wasinstall\appserver\profiles\AppSrv01\mylogs -maxFileSize 14 -maxLogs 200')
- 使用 Jython 列表:
AdminTask.modifyAuditEmitter(['-emitterRef', 'AuditServiceProvider_1184686638218', '–wrapBehavior', 'NOWRAP' '-auditFilters', 'AuditSpecification_1173199825608', '-fileLocation', 'c:\wasinstall\appserver\profiles\AppSrv01\mylogs', '-maxFileSize', '14', '-maxLogs', '200'])
交互方式示例用法
- 使用 Jython:
AdminTask.modifyAuditEmitter('-interactive')
setAuditEmitterFilters
setAuditEmitterFilters 命令会为审计服务提供程序实现设置过滤器。
用户必须具有审计员管理角色才能运行此命令。
目标对象
无。
必需参数
- -emitterRef
- 指定对审计服务提供程序实现的引用。(字符串,必需)
- -filtersRef
- 指定对已定义审计过滤器的一个或多个引用。使用以下格式来指定多个过滤器引用:reference,reference,reference(字符串,必需)
返回值
如果系统成功为审计服务提供程序设置过滤器,那么此命令会返回值 true。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.setAuditEmitterFilters('-emitterRef AuditServiceProvider_1173199825608 -filtersRef AuditSpecification_1184598886859')
- 使用 Jython 列表:
AdminTask.setAuditEmitterFilters(['-emitterRef', 'AuditServiceProvider_1173199825608', '-filtersRef', 'AuditSpecification_1184598886859'])
交互方式示例用法
- 使用 Jython:
AdminTask.setAuditEmitterFilters('-interactive')