在“数据导出器配置”页中,可以定义要保留的数据类型、指定要导出的属性以及计划数据的导出时间。可以单独配置每种数据类型。
在管理员界面中,单击主菜单中的“配置”。然后单击“仓库”次级选项卡。将打开“数据导出器配置”页。
要定义读取连接和写入连接,请单击“添加连接”按钮。将打开“编辑数据库连接”页。
填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见定义读取连接和写入连接。
要指定 WIC 类和数据库连接,请单击“仓库配置信息”部分中的“编辑”链接。将打开“数据导出器仓库配置”页。
填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见定义仓库配置信息。
在“仓库模型配置”表中,单击一个数据类型链接。将打开“数据导出器类型配置”页。
填写该页上的“导出”、“属性”和“进度表”选项卡,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见配置仓库模型。
对于每种数据类型,请重复此步骤。
要配置在导出每种数据类型前后运行的工作流,请单击“导出器自动化”部分中的“编辑”链接。将打开“数据导出器自动化配置”。
填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见“配置导出器自动化”一节。
要配置导出任务守护进程,请单击“仓库任务配置”部分中的“编辑”链接。将打开“数据导出器仓库配置”页。
填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见配置仓库任务。
在完成这些步骤后,即可完全正常运行导出。在启用导出后,数据记录将开始排队以进行导出。如果未启用导出任务,队列表将填满,然后排队将暂停。通常,小批导出(更频繁)比大批导出效率更高,但导出受制于仓库本身的写入可用性,这种可用性可能会由于其他原因而受到限制。
(可选)设置队列的最大大小。有关详细信息,请参见修改配置对象。
Identity Manager 在导出周期内使用写入连接。Identity Manager 使用读取连接指示仓库中当前(在仓库配置期间)有多少条记录以及为取证查询界面提供服务。
可以将仓库连接定义为应用服务器数据源、JDBC 连接或对数据库资源的引用。如果定义了 JDBC 连接或数据库资源,数据导出将在写入操作期间大量使用少数几个连接,然后关闭所有连接。在仓库配置和取证查询执行期间,数据导出器仅使用读取连接,并在操作完成后立即关闭这些连接。
导出器对写入连接和读取连接使用相同的模式,并且您可以对两者使用相同的连接信息。不过,如果使用单独的连接,部署可以向一组仓库临时表中写入内容,将这些表转换为实际仓库,然后将仓库表转换为 Identity Manager 从中读取数据的数据市场。
可以编辑“数据导出配置”表单以禁止 Identity Manager 从仓库中读取数据。此表单包含 includeWarehouseCount 属性,它可导致 Identity Manager 查询仓库并显示每种数据类型的记录数。要禁用此功能,请复制“数据导出配置”表单,将 includeWarehouseCount 属性值更改为 true,然后导入自定义表单。
在“数据导出器配置”页中,单击“添加连接”按钮。
可通过从“连接类型”下拉菜单中选择一个选项,指定 Identity Manager 如何建立到数据仓库的读取连接或写入连接。
JDBC。使用 Java 数据库连接 (Java Database Connectivity, JDBC) 应用程序编程接口连接到数据库。连接池是由仓库接口代码提供的。
资源。使用在资源中定义的连接信息。连接池是由仓库接口代码提供的。
数据源。将基础应用服务器用于连接管理和连接池。这种类型的连接从应用服务器中请求连接。
根据从连接类型下拉菜单中选择的选项,页面上显示的字段可能会有所不同。有关配置数据库连接的详细信息,请参阅联机帮助。
单击“保存”以保存配置更改,并返回到“数据导出器配置”页。
如果使用单独的读取连接和写入连接,请重复此过程。
要配置仓库,您必须选择读取连接和写入连接,并指定仓库接口代码工厂类。WIC 工厂类提供了 Identity Manager 和仓库之间的接口。Identity Manager 提供了一个默认代码实现,但您也可以生成自己的代码。有关创建自定义工厂类的信息,请参见《Sun Identity Manager Deployment Guide》中的第 5 章 “Data Exporter”。
在执行导出任务的 Identity Manager 服务器以及任何配置了数据导出器的服务器上,$WSHOME/exporter 目录中必须存在包含工厂类的 jar 文件以及任何提供支持的 jar 文件。在任何给定时间,只有一个 Identity Manager 服务器可以导出数据。
在“数据导出器配置”页中,单击“仓库配置信息”部分中的“编辑”链接。
在“仓库接口代码工厂类名称”字段中指定一个值。如果集成人员未创建自定义类,请输入值 com.sun.idm.warehouse.base.Factory。
从“读取连接”和“写入连接”下拉菜单中选择选项以指定连接。
单击“保存”以保存配置更改,并返回到“数据导出器配置”页。
每个可导出的数据类型都具有一组选项,用于控制是否导出该类型、如何导出该类型以及何时导出该类型。导出数据会增加 Identity Manager 服务器上的负载,因此应该仅为业务需要的数据类型启用导出操作。
下表描述了可以导出的每种数据类型。
表 16–1 支持的数据类型
数据类型 |
描述 |
---|---|
帐户 |
包含用户和资源帐户之间的关联的记录 |
管理员组 |
一组适用于所有对象组的 Identity Manager 权限 |
管理员角色 |
分配给一个或多个对象组的权限 |
审计策略 |
针对 Identity Manager 对象评估的规则集合,用于确定是否遵循业务策略。 |
遵循性违规 |
包含用户违反审计策略的情况的记录 |
权利 |
包含特定用户的证明列表的记录 |
日志记录 |
包含单个审计记录的记录 |
对象组 |
作为组织模拟的安全容器 |
资源 |
置备帐户的系统/应用程序 |
资源帐户 |
组成特定资源上的帐户的一组属性 |
角色 |
用于访问的逻辑容器 |
规则 |
可以由 Identity Manager 执行的逻辑块 |
任务实例 |
指示正在执行或已完成的进程的记录 |
用户 |
包含零个或多个帐户的逻辑用户。 |
工作流活动 |
Identity Manager 工作流的单个活动 |
工作项目 |
Identity Manager 工作流中的手动操作 |
在“数据导出器配置”页中,单击一个数据类型链接。
在“导出”选项卡中,指定是否导出该数据类型。如果不希望导出该数据类型,请取消选中“导出”复选框,然后单击“保存”。否则,根据需要选择此“导出”选项卡上的其余选项。
允许查询。控制是否可以查询模型。
全部排入队列。捕获对该类型的对象进行的所有更改。选中此选项可能会显著增加导出器的处理开销。应谨慎使用此选项。
捕获删除。记录删除的所有该类型的对象。选中此选项可能会显著增加导出器的处理开销。应谨慎使用此选项。
在“属性”选项卡中,可以选择将哪些属性指定为取证查询的一部分,以及在查询结果中显示哪些属性。无法从管理员界面中删除默认属性。有关更改默认属性的信息,请参见《Sun Identity Manager Deployment Guide》中的第 1 章 “Working with Attributes”。
新属性名称具有以下特征:
attrName — 该属性是一个顶层标量属性。
attrName[] — 该属性是一个具有列表值的顶层属性,列表中的元素为标量。
attrName[’ key’] — 该属性包含映射值,需要提供具有指定关键字的映射值。
attrName[]. name2 — 该属性是具有列表值的顶层属性,列表中的元素都为结构。name2 是被访问结构中的属性。
如果要将属性导出到 EXT_RESOURCEACCOUNT_ACCTATTR 表中,必须选中要导出的每个属性的“审计”框。
指定与“进度表”选项卡上的数据类型关联的信息的导出频率。周期相对于服务器上的午夜零点。周期为 20 分钟的导出操作将发生在午夜零点,以及零点过后的第 20 分钟和第 40 分钟。如果尝试导出所需的时间比计划的周期长,则会跳过下一个周期。例如,如果将周期定义为 20 分钟、从午夜零点开始,并且需要 25 分钟才能完成导出,则下次导出将在 0:40 开始。不会执行最初预定在 0:20 进行的导出。
Identity Manager 允许指定在导出数据前后执行的工作流。
如果发生的事件为取消导出提供了充分的理由,则可以使用周期开始工作流禁止导出。例如,在预定的导出时间,如果在临时表中读取或写入数据的应用程序需要独占访问这些表,则应该取消导出。该工作流应返回值 1 以取消导出。Identity Manager 将创建一条审计记录以指示跳过了导出,并提供错误结果。如果该工作流返回 0,并且未发生错误,则会导出该数据类型。
在导出所有记录后,将运行周期完成工作流。该工作流通常会触发另一个应用程序来处理导出的数据。在该工作流完成后,导出器将检查另一种要导出的数据类型。
$WSHOME/sample/web/exporter.xml 文件中提供了示例工作流。导出器工作流的 subtype 为 DATA_EXPORT_AUTOMATION,authType 为 WarehouseConfig。
在“数据导出器配置”页中,单击“导出器自动化”部分中的“编辑”链接。
(可选)在“周期开始工作流”下拉菜单中,选择一个要在导出前运行的工作流。
(可选)在“周期开始工作流”下拉菜单中,选择一个要在导出后运行的工作流。
并不要求在专用服务器上运行导出任务;但如果希望导出大量的数据,则应该考虑使用专用服务器。在将数据从 Identity Manager 传输到仓库时,导出任务的效率较高,并且在导出操作期间会占用尽可能多的 CPU。如果没有使用专用服务器,应限制服务器处理交互通信,因为在导出大量数据期间会显著增加响应时间。
在“数据导出器配置”页中,单击“仓库任务配置”部分中的“编辑”链接。
从“启动模式”下拉菜单中选择一个选项,以确定在启动 Identity Manager 时是否自动启动仓库任务。选择“已禁用”表示必须手动启动任务。
选中“以本人身份运行”复选框,以便使用管理帐户运行导出器任务。
选择可运行该任务的服务器。您可以指定多个服务器,但在任何给定时间只能运行一个仓库任务。如果执行任务的服务器停止,调度程序将自动在列表中的另一个服务器(如果可用)上重新启动任务。
在“队列读取块大小”字段中,指定在写入之前从队列读取到内存缓冲区的记录数。此字段的默认值适用于大多数导出。如果 Identity Manager 系统信息库服务器比仓库服务器慢,则增加该值。
在“队列写入块大小”字段中,指定在单个事务中写入仓库的记录数。
在“队列清空线程计数”字段中,指定用于读取队列记录的 Identity Manager 线程数。如果队列表中包含大量不同类型的记录,则增大该数字。如果队列表中包含的数据类型较少,则减小该数字。
单击“保存”以保存配置更改,并返回到“数据导出器配置”页。
在数据导出器已配置并且正常运行后,将在内部队列表中捕获配置为排入队列的任何数据类型。默认情况下,该表没有上限,但可通过编辑数据仓库配置配置对象来配置上限。此对象具有一个名为 warehouseConfig 的嵌套对象。请将以下行添加到 warehouseConfig 对象中:
<Attribute name=’maxQueueSize’ value=’YourValue’/>
maxQueueSize 的值可以为小于 231 的任意正整数。在达到该限制时,数据导出器将禁止进行排队。直到清空队列后,才能导出生成的数据。
Identity Manager 在正常运行时每小时可能会生成数千条更改的记录,因此,队列表可能会迅速变大。由于队列表位于 Identity Manager 系统信息库中,这种增长会消耗 RDBMS 中的表空间,并且可能会耗尽表空间。如果表空间数量有限,则可能需要在队列上设置上限。
可以使用数据队列 JMX Mbean 来监视队列表的大小。有关详细信息,请参见监视数据导出器。