Sun Identity Manager 8.1 业务管理员指南

配置数据导出器

在“数据导出器配置”页中,可以定义要保留的数据类型、指定要导出的属性以及计划数据的导出时间。可以单独配置每种数据类型。

Procedure配置数据导出器

  1. 在管理员界面中,单击主菜单中的“配置”。然后单击“仓库”次级选项卡。将打开“数据导出器配置”页。

    图 16–1 数据导出器配置

    该图显示了“数据导出器配置”页

  2. 要定义读取连接和写入连接,请单击“添加连接”按钮。将打开“编辑数据库连接”页。

    填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见定义读取连接和写入连接

  3. 要指定 WIC 类和数据库连接,请单击“仓库配置信息”部分中的“编辑”链接。将打开“数据导出器仓库配置”页。

    填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见定义仓库配置信息

  4. 在“仓库模型配置”表中,单击一个数据类型链接。将打开“数据导出器类型配置”页。

    填写该页上的“导出”、“属性”和“进度表”选项卡,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见配置仓库模型

    对于每种数据类型,请重复此步骤。

  5. 要配置在导出每种数据类型前后运行的工作流,请单击“导出器自动化”部分中的“编辑”链接。将打开“数据导出器自动化配置”。

    填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见“配置导出器自动化”一节。

  6. 要配置导出任务守护进程,请单击“仓库任务配置”部分中的“编辑”链接。将打开“数据导出器仓库配置”页。

    填写该页上的字段,然后单击“保存”以返回到“数据导出器配置”页。有关详细信息,请参见配置仓库任务


    注 –

    在完成这些步骤后,即可完全正常运行导出。在启用导出后,数据记录将开始排队以进行导出。如果未启用导出任务,队列表将填满,然后排队将暂停。通常,小批导出(更频繁)比大批导出效率更高,但导出受制于仓库本身的写入可用性,这种可用性可能会由于其他原因而受到限制。


  7. (可选)设置队列的最大大小。有关详细信息,请参见修改配置对象

定义读取连接和写入连接

Identity Manager 在导出周期内使用写入连接。Identity Manager 使用读取连接指示仓库中当前(在仓库配置期间)有多少条记录以及为取证查询界面提供服务。

可以将仓库连接定义为应用服务器数据源、JDBC 连接或对数据库资源的引用。如果定义了 JDBC 连接或数据库资源,数据导出将在写入操作期间大量使用少数几个连接,然后关闭所有连接。在仓库配置和取证查询执行期间,数据导出器仅使用读取连接,并在操作完成后立即关闭这些连接。

导出器对写入连接和读取连接使用相同的模式,并且您可以对两者使用相同的连接信息。不过,如果使用单独的连接,部署可以向一组仓库临时表中写入内容,将这些表转换为实际仓库,然后将仓库表转换为 Identity Manager 从中读取数据的数据市场。

可以编辑“数据导出配置”表单以禁止 Identity Manager 从仓库中读取数据。此表单包含 includeWarehouseCount 属性,它可导致 Identity Manager 查询仓库并显示每种数据类型的记录数。要禁用此功能,请复制“数据导出配置”表单,将 includeWarehouseCount 属性值更改为 true,然后导入自定义表单。

Procedure定义读取连接和写入连接

  1. 在“数据导出器配置”页中,单击“添加连接”按钮。

    图 16–2 数据导出器配置

    该图显示了“编辑数据库连接”页

  2. 可通过从“连接类型”下拉菜单中选择一个选项,指定 Identity Manager 如何建立到数据仓库的读取连接或写入连接。

    • JDBC。使用 Java 数据库连接 (Java Database Connectivity, JDBC) 应用程序编程接口连接到数据库。连接池是由仓库接口代码提供的。

    • 资源。使用在资源中定义的连接信息。连接池是由仓库接口代码提供的。

    • 数据源。将基础应用服务器用于连接管理和连接池。这种类型的连接从应用服务器中请求连接。

      根据从连接类型下拉菜单中选择的选项,页面上显示的字段可能会有所不同。有关配置数据库连接的详细信息,请参阅联机帮助。

  3. 单击“保存”以保存配置更改,并返回到“数据导出器配置”页。

    如果使用单独的读取连接和写入连接,请重复此过程。

定义仓库配置信息

要配置仓库,您必须选择读取连接和写入连接,并指定仓库接口代码工厂类。WIC 工厂类提供了 Identity Manager 和仓库之间的接口。Identity Manager 提供了一个默认代码实现,但您也可以生成自己的代码。有关创建自定义工厂类的信息,请参见《Sun Identity Manager Deployment Guide》中的第 5  章 “Data Exporter”

在执行导出任务的 Identity Manager 服务器以及任何配置了数据导出器的服务器上,$WSHOME/exporter 目录中必须存在包含工厂类的 jar 文件以及任何提供支持的 jar 文件。在任何给定时间,只有一个 Identity Manager 服务器可以导出数据。

Procedure定义仓库配置信息

  1. 在“数据导出器配置”页中,单击“仓库配置信息”部分中的“编辑”链接。

    图 16–3 数据导出器配置

    该图显示了“数据导出器配置”页的“仓库配置信息”部分

  2. 在“仓库接口代码工厂类名称”字段中指定一个值。如果集成人员未创建自定义类,请输入值 com.sun.idm.warehouse.base.Factory

  3. 从“读取连接”和“写入连接”下拉菜单中选择选项以指定连接。

  4. 单击“保存”以保存配置更改,并返回到“数据导出器配置”页。

配置仓库模型

每个可导出的数据类型都具有一组选项,用于控制是否导出该类型、如何导出该类型以及何时导出该类型。导出数据会增加 Identity Manager 服务器上的负载,因此应该仅为业务需要的数据类型启用导出操作。

下表描述了可以导出的每种数据类型。

表 16–1 支持的数据类型

数据类型  

描述  

帐户

包含用户和资源帐户之间的关联的记录 

管理员组

一组适用于所有对象组的 Identity Manager 权限 

管理员角色

分配给一个或多个对象组的权限 

审计策略 

针对 Identity Manager 对象评估的规则集合,用于确定是否遵循业务策略。 

遵循性违规

包含用户违反审计策略的情况的记录 

权利

包含特定用户的证明列表的记录 

日志记录

包含单个审计记录的记录 

对象组

作为组织模拟的安全容器 

资源

置备帐户的系统/应用程序 

资源帐户

组成特定资源上的帐户的一组属性 

角色

用于访问的逻辑容器 

规则

可以由 Identity Manager 执行的逻辑块 

任务实例

指示正在执行或已完成的进程的记录 

用户

包含零个或多个帐户的逻辑用户。 

工作流活动

Identity Manager 工作流的单个活动 

工作项目

Identity Manager 工作流中的手动操作 

Procedure配置仓库模型

  1. 在“数据导出器配置”页中,单击一个数据类型链接。

  2. 在“导出”选项卡中,指定是否导出该数据类型。如果不希望导出该数据类型,请取消选中“导出”复选框,然后单击“保存”。否则,根据需要选择此“导出”选项卡上的其余选项。

    • 允许查询。控制是否可以查询模型。

    • 全部排入队列。捕获对该类型的对象进行的所有更改。选中此选项可能会显著增加导出器的处理开销。应谨慎使用此选项。

    • 捕获删除。记录删除的所有该类型的对象。选中此选项可能会显著增加导出器的处理开销。应谨慎使用此选项。

  3. 在“属性”选项卡中,可以选择将哪些属性指定为取证查询的一部分,以及在查询结果中显示哪些属性。无法从管理员界面中删除默认属性。有关更改默认属性的信息,请参见《Sun Identity Manager Deployment Guide》中的第 1  章 “Working with Attributes”

    新属性名称具有以下特征:

    • attrName — 该属性是一个顶层标量属性。

    • attrName[] — 该属性是一个具有列表值的顶层属性,列表中的元素为标量。

    • attrName[’ key’] — 该属性包含映射值,需要提供具有指定关键字的映射值。

    • attrName[]. name2 — 该属性是具有列表值的顶层属性,列表中的元素都为结构。name2 是被访问结构中的属性。


    注 –

    如果要将属性导出到 EXT_RESOURCEACCOUNT_ACCTATTR 表中,必须选中要导出的每个属性的“审计”框。


  4. 指定与“进度表”选项卡上的数据类型关联的信息的导出频率。周期相对于服务器上的午夜零点。周期为 20 分钟的导出操作将发生在午夜零点,以及零点过后的第 20 分钟和第 40 分钟。如果尝试导出所需的时间比计划的周期长,则会跳过下一个周期。例如,如果将周期定义为 20 分钟、从午夜零点开始,并且需要 25 分钟才能完成导出,则下次导出将在 0:40 开始。不会执行最初预定在 0:20 进行的导出。

配置导出器自动化

Identity Manager 允许指定在导出数据前后执行的工作流。

如果发生的事件为取消导出提供了充分的理由,则可以使用周期开始工作流禁止导出。例如,在预定的导出时间,如果在临时表中读取或写入数据的应用程序需要独占访问这些表,则应该取消导出。该工作流应返回值 1 以取消导出。Identity Manager 将创建一条审计记录以指示跳过了导出,并提供错误结果。如果该工作流返回 0,并且未发生错误,则会导出该数据类型。

在导出所有记录后,将运行周期完成工作流。该工作流通常会触发另一个应用程序来处理导出的数据。在该工作流完成后,导出器将检查另一种要导出的数据类型。

$WSHOME/sample/web/exporter.xml 文件中提供了示例工作流。导出器工作流的 subtypeDATA_EXPORT_AUTOMATIONauthTypeWarehouseConfig

Procedure配置导出器自动化

  1. 在“数据导出器配置”页中,单击“导出器自动化”部分中的“编辑”链接。

  2. (可选)在“周期开始工作流”下拉菜单中,选择一个要在导出前运行的工作流。

  3. (可选)在“周期开始工作流”下拉菜单中,选择一个要在导出后运行的工作流。

配置仓库任务

并不要求在专用服务器上运行导出任务;但如果希望导出大量的数据,则应该考虑使用专用服务器。在将数据从 Identity Manager 传输到仓库时,导出任务的效率较高,并且在导出操作期间会占用尽可能多的 CPU。如果没有使用专用服务器,应限制服务器处理交互通信,因为在导出大量数据期间会显著增加响应时间。

Procedure配置仓库配置信息

  1. 在“数据导出器配置”页中,单击“仓库任务配置”部分中的“编辑”链接。

    图 16–4 数据仓库进度表配置

    该图显示了“数据导出器仓库进度表配置”部分。

  2. 从“启动模式”下拉菜单中选择一个选项,以确定在启动 Identity Manager 时是否自动启动仓库任务。选择“已禁用”表示必须手动启动任务。

  3. 选中“以本人身份运行”复选框,以便使用管理帐户运行导出器任务。

  4. 选择可运行该任务的服务器。您可以指定多个服务器,但在任何给定时间只能运行一个仓库任务。如果执行任务的服务器停止,调度程序将自动在列表中的另一个服务器(如果可用)上重新启动任务。

  5. 在“队列读取块大小”字段中,指定在写入之前从队列读取到内存缓冲区的记录数。此字段的默认值适用于大多数导出。如果 Identity Manager 系统信息库服务器比仓库服务器慢,则增加该值。

  6. 在“队列写入块大小”字段中,指定在单个事务中写入仓库的记录数。

  7. 在“队列清空线程计数”字段中,指定用于读取队列记录的 Identity Manager 线程数。如果队列表中包含大量不同类型的记录,则增大该数字。如果队列表中包含的数据类型较少,则减小该数字。

  8. 单击“保存”以保存配置更改,并返回到“数据导出器配置”页。

修改配置对象

在数据导出器已配置并且正常运行后,将在内部队列表中捕获配置为排入队列的任何数据类型。默认情况下,该表没有上限,但可通过编辑数据仓库配置配置对象来配置上限。此对象具有一个名为 warehouseConfig 的嵌套对象。请将以下行添加到 warehouseConfig 对象中:

<Attribute name=’maxQueueSize’ value=’YourValue’/>

maxQueueSize 的值可以为小于 231 的任意正整数。在达到该限制时,数据导出器将禁止进行排队。直到清空队列后,才能导出生成的数据。

Identity Manager 在正常运行时每小时可能会生成数千条更改的记录,因此,队列表可能会迅速变大。由于队列表位于 Identity Manager 系统信息库中,这种增长会消耗 RDBMS 中的表空间,并且可能会耗尽表空间。如果表空间数量有限,则可能需要在队列上设置上限。

可以使用数据队列 JMX Mbean 来监视队列表的大小。有关详细信息,请参见监视数据导出器