4.8 导入、验证和部署目录提取层定义

导入、验证和部署目录提取层定义是在设计程序的《供应视图》中执行的操作。

4.8.1 关于导入

可以使用导入功能导入一组现有的定义。 在以下情况下需要进行导入:

  • 要根据已部署的项目新建项目。
  • 要与处理同一项目的其他开发者共享定义。 例如,另一位开发者将一个特性添加到用户实体中,或添加新的全局列表。 如果这位开发者将新定义部署到 Identity Vault 中,您可以导入此定义,这样就确保两人所使用的定义相同。

要导入现有的定义,请执行以下操作:

  1. 打开《供应视图》

  2. 确定要导入的内容:

    • 整个定义集
    • 某种定义类型的定义集,例如,所有实体或所有关系。
    • 一个特定对象(例如用户实体)
  3. 要进行导入,请执行以下操作:

    • 一个特定对象,从列表中选择该对象,单击右键并选择《导入对象》
    • 整个定义集,选择《目录提取层》节点,单击右键并选择 Import All(全部导入)或《导入对象》
  4. 单击 eDirectory《浏览》图标并导航至 DirectoryModel 节点,选择要导入的对象,然后单击《确定》

    • 如果对象匹配,将通知您没有差异,不进行导入。
    • 如果对象不匹配,可以确认要导入的对象。 审阅选定要导入的项目,进行必要的更改,然后单击《确定》

设置导入自选设置

可以使用导入自选设置指定设计程序如何解决 Identity Vault 中的数据和本地目录提取层文件数据之间的冲突。 这些冲突产生的原因是不同的用户和工具都可以访问 Identity Vault 目录提取层定义。 其他管理员或开发者可以使用 iManager 工具或使用他们在设计程序中自行创建的本地项目更改这些定义。 如果本地文件系统定义和 Identity Vault 定义发生冲突,可以使用这些自选设置指定如何处理冲突。

要设置导入自选设置,请执行以下操作:

  1. 选择《窗口》>《自选设置》

  2. 打开树中的《供应》节点并单击《导入》

    说明:说明: 图示
  3. 选择自选设置:

    自选设置

    说明

    Modified external object will overwrite modified local object(已修改的外部对象将覆盖已修改的本地对象)

    本地文件和 Identity Vault 定义中都包含更改。 尚未部署本地更改。

    如果希望 Identity Vault 对象覆盖对本地文件所做的更改,请选择此选项。

    Unmodified local copy overwritten by externally recreated object(外部重创建对象覆盖未修改的本地拷贝)

    删除 Identity Vault 对象然后重创建该对象。 本地文件集中包括未进行更改的原始定义。

    如果希望导入内容覆盖本地拷贝,请选择此选项。

    External object overwrites modified local object(外部对象覆盖已修改的本地对象)

    本地文件中包含未部署到 Identity Vault 中的更改。 如果希望导入时覆盖本地文件,请选择此选项。

    External object overwrites deleted local object(外部对象覆盖已删除的本地对象)

    已在本地删除定义,但尚未部署更改。 这意味着此对象仍在 Identity Vault 中。

    如果希望将 Identity Vault 中的对象复制到本地文件系统,请选择此选项。 如果选择此选项,未部署的更改将丢失。

4.8.2 关于验证

可以在尝试部署目录提取层数据定义之前,在本地文件系统中验证它们。 验证包括:

  • 检查 XML 格式是否正确,是否符合定义实体、特性、列表、关系等所需要素的纲要。
  • 检查每个实体,确保对其它实体和全局列表的参照有效。

例如,验证实体及其特性时,验证程序通过《编辑实体》、《DN 查找》和《细节实体》字段中实际存在的参照实体检查其它实体的所有参照。

  • 确保每个实体至少定义了一个特性。
  • 确保每个本地列表和全局列表中都至少包含一个项目。

可在《供应视图》中有选择地验证定义。 要验证:

  • 节点中的所有项目,选择此节点,单击右键并选择《验证》
  • 节点中的一个对象,选择此对象,单击右键并选择《验证》

单击目录提取层工具栏中的 Validate Abstraction Layer(验证提取层)按钮,可以验证所有定义。

注:此验证不检查 Identity Vault 中是否存在对象。

4.8.3 关于部署

要想在 Identity Manager 用户应用程序中看到更改结果,必须先将定义部署到 Identity Vault 中。

要将一组定义部署到 Identity Vault,请执行以下操作:

  1. 使用目录提取层编辑器保存所做的全部更改。

    如果在尝试部署前未保存更改,编辑器将显示一个对话框,其中显示尚未保存的定义, 并提示保存最近所做的更改。 如果未保存更改,也可将此对象部署到服务器,但部署的内容不包括未保存的更改。 选择不保存更改不会取消部署。

  2. 打开《供应视图》

  3. 决定是否部署用目录提取层编辑器或子集定义的所有对象。

    • 要全部部署,请执行以下操作:

      选择根节点,单击右键并选择 Deploy All(全部部署)

    • 要部署特定的实体、关系、列表或配置设置,请执行以下操作:

      选择要部署的特定对象,单击右键并选择《部署对象》

    系统会提示输入 Identity Vault 身份凭证。 编辑器将执行验证,并在对话框中显示验证讯息。 可通过选择/取消选择要部署的项目,来响应验证讯息。 在进行完部署选择并将其提交后,将得到部署成功或失败的通知。

设置部署自选设置

可以使用部署自选设置指定设计程序如何解决 Identity Vault 中的数据和本地目录提取层文件数据之间的冲突。 冲突产生的原因可能是:其他用户已将更改部署到 Identity Vault,但这些更改并未反映到您的本地文件系统定义中。 要确保以预期的方法处理冲突,可以设置自选设置指定冲突解析。

要设置部署自选设置,请执行以下操作:

  1. 选择《窗口》>《自选设置》

  2. 打开树中的《供应》节点并单击《部署》

    说明:说明: 图示
  3. 指定一般部署自选设置:

    自选设置

    说明

    Set delete from identity vault as default for all “Confirm Delete” dialogs(将所有“确认删除”对话框中的从 Identity Vault 中删除设为默认)

    如果尝试在供应视图或目录提取层编辑器中删除对象,系统将使用如下对话框提示确认删除:

    此自选设置确定在默认情况下,是否选择 Delete object in identity vault on deploy(部署时删除 Identity Vault 中的对象)删除确认对话框复选框。 选择此自选设置意味着默认情况下将删除 Identity Vault 对象。

    始终删除本地对象。

    Allow deployment of objects with validation errors(验证出错时允许部署对象)

    选中 - 如果想要部署未通过验证的对象,请选择此选项。 部署时,设计程序按照部分 4.8, 导入、验证和部署目录提取层定义中描述的验证规则验证被部署的定义。

    取消选中 - 防止部署未通过验证的定义。

    Allow deployment of unmodified objects that will overwrite externally modified newer version(允许部署将覆盖外部已修改较新版本的未修改对象)

    选中 - 如果尚未更改本地文件,但已更改 Identity Vault 对象。 希望用本地文件覆盖 Identity Vault 文件吗? 如果是,选择此自选设置。

    取消选中 - 如果希望保留较新的 Identity Vault 版本。

    选中后,也可以选择冲突解析自选设置 Unmodified local copy overwrites externally modified newer version(未修改的本地拷贝覆盖外部已修改的较新版本)将此设为默认操作。

  4. 指定冲突解析自选设置:

    自选设置

    说明

    Local change overwrites externally created object(本地更改覆盖外部创建对象)

    选中 - 如果希望用正在部署的对象覆盖 Identity Vault 中的对象。

    取消选中 - 发生此冲突时,不进行部署。

    Unmodified local copy recreates externally deleted object(未修改的本地拷贝重创建外部已删除对象)

    选中 - 如果希望正在部署的本地对象创建已从 Identity Vault 中删除的对象。

    取消选中 - 发生此冲突时,不进行部署。

    Local change overwrites externally modified object(本地更改覆盖外部已修改对象)

    选中 - 如果希望 Identity Vault 被另一用户更改后,仍部署本地定义。

    取消选中 - 发生此冲突时,不进行部署。

    Local copy overwrites deleted and recreated object(本地拷贝覆盖已删除和重创建的对象)

    选中 - 如果希望 Identity Vault 对象被删除或被删除并重创建后,仍部署本地对象。

    取消选中 - 发生此冲突时,不进行部署。

    Unmodified local copy overwrites externally modified newer version(未修改的本地拷贝覆盖外部已修改的较新版本)

    只能在一般部署自选设置中选中 Allow deployment of unmodified objects that will overwrite externally modified newer version(允许部署将覆盖外部已修改较新版本的未修改对象)后,才可设置此自选设置。

    选中 - 如果未更改本地文件,但已更改 Identity Vault 对象,并始终希望默认操作为本地文件覆盖 Identity Vault 文件。

    取消选中 - 如果希望保留较新的 Identity Vault 版本。