IMPORT GRCPROJECT 命令

通过导入一个 Diligent One 项目应用程序表来创建 Analytics 表。

语法

IMPORT GRCPROJECT TO  导入文件名 PASSWORD 数值 FROM 组织 ID/类型 ID <FIELD 名称 AS 显示名称 <...n>> <CHARMAX 最大字段长度>

参数

名称 描述
TO 

数据要导入到的 Analytics 表的名称。

说明

表名称被限制为不超过 64 个字母数字字符。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。

导入文件名

要创建的 Analytics 数据文件的名称。

导入文件名指定为具有 .FIL 文件扩展名的带引号的字符串。例如,"Invoices.FIL"

默认情况下,数据文件 (.fil) 被保存到包含 Analytics 项目的文件夹。

请使用绝对或相对文件路径将该数据文件保存到另外的现有文件夹:

  • "C:\data\Invoices.FIL"
  • "data\Invoices.FIL"
PASSWORD 数字

要使用的密码定义。

您不使用 PASSWORD 数字提示用户提供或者指定实际密码。密码定义是指先前使用 PASSWORD 命令、SET PASSWORD 命令或 PASSWORD 分析标记提供或设置的密码。

数字是密码定义的编号。例如,如果之前已在脚本中或在调度分析脚本时提供或设置了两个密码,则 PASSWORD 2 指定使用密码 #2。

有关提供或设置密码的详细信息,请参阅:

所需的密码值是 Diligent One 访问令牌。有关详细信息,请参阅创建密码定义并指定密码值

可能需要也可能不需要 PASSWORD 数值,具体取决于脚本运行的环境。

脚本运行环境 PASSWORD 数值要求
Analytics

(在线激活)

不需要 PASSWORD 数值

将自动使用当前用户存储在 Windows 注册表中的 Diligent One 访问令牌。

Analytics

(离线激活)

需要 PASSWORD 数值

机器人

FROM 组织 ID/类型 ID

定义所导入的数据的信息的组织和类型:

  • 组织 ID 您要从中导Diligent One入数据的 Diligent One 组织
  • 类型 ID 您要导入的信息的类型

必须使用斜杠来分隔组织 ID 值和类型 ID 值,并且两者之间不能有空格:

FROM "125@-eu/audits"

整个字符串必须用引号围起来。

组织 ID

组织 ID 必须包括组织 ID 号码,并且如果您要从北美(美国)以外的数据中心导入,则必须包括数据中心代码。组织 ID 编号和数据中心代码必须使用 @ 符号 (@) 和一个连字符 (-) 加以分隔:

FROM "125@-eu"

说明

如果您指定北美 (US) 数据中心代码,则它会使用一种稍微不同的格式(没有连字符):

FROM "125@us"

数据中心代码指定您要从哪个地区的 Diligent One 服务器导入数据。

  • af – 非洲(南非)
  • ap – 亚太(新加坡)
  • au – 亚太(澳大利亚)
  • ca – 北美(加拿大)
  • eu – 欧洲(德国)
  • jp – 亚太(东京)
  • sa – 南美(巴西)
  • us – 北美(美国)

您只能使用为贵组织的 Diligent One 实例授权的数据中心代码。北美(美国)数据中心是默认的,因此指定 @us 是可选操作。

如果您不知道组织 ID 号码,请使用 Analytics 用户界面从项目应用程序导入表。组织 ID 编号包含在日志中的命令中。有关详细信息,请参见导入 Diligent One 项目数据

类型 ID

类型 ID 指定您要导入的信息的类型。项目应用程序中的信息被包含在一系列相关表中。

对于类型 ID,请使用下列值之一。请严格按照如下所示输入值,并且包括下划线(如果适用):

  • audits - 项目
  • control_test_plans - 控制测试计划
  • control_tests - 控制测试
  • controls - 控制
  • finding_actions - 操作
  • findings - 问题
  • mitigations - 风险控制关联
  • narratives - 叙述
  • objectives- 对象
  • risks - 风险
  • walkthroughs - 排查

提示

有关项目应用程序中的表如何相互关联以及在将这些表导入 Analytics 后可使用哪些键域联接这些表的信息,请参见导入 Diligent One 项目数据

FIELD 名称 AS 显示名称 <...n>

可选

源数据中要导入的单个域。请指定名称。

如果您省略 FIELD,则会导入所有域。

  • 名称必须完全匹配项目应用程序表中的物理域名称,包括匹配大小写Projects
  • 显示名称(备选列标题)是新 Analytics 表中的视图中的域的显示名称。您必须为每个 FIELD 名称指定一个显示名称。请将显示名称指定为带引号的字符串。

    如果您希望列标题包含换行符,请在单词之间使用分号 (;)。

    与 Analytics 中的某些其他 IMPORT 命令不同,您不能指定空白显示名称作为将 FIELD 名称用作显示名称的一种方式。

提示

要获取物理域名称,请使用 Analytics 用户界面从项目应用程序中导入适当的表。物理域名称被包含在日志内的命令中。

后续导入可以被脚本化。

CHARMAX 最大域长度

可选

Analytics 表中所有字段的最大字符长度,源自项目表中的字符数据。

项目表中超过最大字段长度的数据在导入 Analytics 时会被截断。

截断字段这项功能,可防止偶尔出现的长值将整体记录长度扩展到超过导入流程支持的长度范围:

  • 32,767 个字符(非 Unicode 版 Analytics)

  • 16,383 个字符(Unicode 版 Analytics)

示例

从项目应用程序表导入指定的域

您将属于组织 286(美国地区)的所有活动项目的项目应用程序表中的指定域导入到一个名为 All_Projects 的 Analytics 表:

IMPORT GRCPROJECT TO All_Projects "C:\Projects Data\All_Projects.fil" FROM "286@us/audits" FIELD "id" AS "Id" FIELD "description" AS "Description" FIELD "name" AS "Name" FIELD "start_date" AS "Start date" FIELD "status" AS "Status" FIELD "created_at" AS "Created at"

从项目应用程序表导入所有域

您将属于组织 286(美国地区)的所有活动项目的目应用程序表中的所有域导入到一个名为 All_Projects 的 Analytics 表。您包括一个编号的密码定义以对该连接进行认证:

IMPORT GRCPROJECT TO All_Projects "C:\Projects Data\All_Projects.fil" PASSWORD 1 FROM "286@us/audits"

从项目表导入时,限制字段长度

项目表中的所有字段导入名为 All_Projects 的 Analytics 表。使用 CHARMAX 参数限制字段长度。

IMPORT GRCPROJECT TO All_Projects "C:\Projects Data\All_Projects.fil" PASSWORD 1 FROM "286@us/audits" CHARMAX 200

在生成的 Analytics 表中,源自项目的字符数据的所有字段长度均限制为指定的 200 个字符。超出限制的所有字段值都将被截断为 200 个字符。

从 Issues 表导入所有域

您将属于组织 11594(欧洲地区)的所有活动项目的 Issues 表中的所有域导入到一个名为 All_Issues 的 Analytics 表:

IMPORT GRCPROJECT TO All_Issues "C:\Projects Data\All_Issues.fil" FROM "11594@-eu/findings"

备注

有关此命令工作方式的详细信息,请参见导入 Diligent One 项目数据

创建密码定义并指定密码值

在可导入 Diligent One 项目表的机器人应用程序中运行脚本时,需要使用 IMPORT GRCPROJECT 命令添加密码定义。如果您使用离线激活,则同样的要求适用于在 Analytics 中运行的脚本。

无论您使用哪种方法创建密码定义,必填的密码值都是 Diligent One 访问令牌,您可以在启动面板中生成该令牌。有关详细信息,请参阅获取 Diligent One 访问令牌

密码定义方法

方法 描述

PASSWORD 分析标记

(适用于在机器人中运行的脚本)

如果使用 PASSWORD 分析标记创建用于连接到 Diligent One 的编号密码定义,且脚本中未指定密码值。当您创建一个要在机器人中运行脚本的任务时,任务设计器中的输入字段允许您或其他用户指定实际密码。

有关更多信息,请参阅 PASSWORD 分析标记

PASSWORD 命令

(适用于在 Analytics 中运行的脚本,离线激活)

如果使用 PASSWORD 命令创建用于连接到 Diligent One 的编号密码定义,且脚本中未指定密码值。当脚本试图连接时,会显示密码提示。

有关详细信息,请参见PASSWORD 命令

SET PASSWORD 命令

(适用于在 Analytics 中运行的脚本,离线激活)

如果使用 SET PASSWORD 命令创建用于连接到 Diligent One 的编号密码定义,且在脚本中指定了密码值,则不会显示密码提示。这种方法适用于设计为以无人看管方式运行的脚本,但它会在脚本中以明文形式显示实际密码,这可能不适合您的情况。

有关详细信息,请参见 SET PASSWORD 命令

获取 Diligent One 访问令牌

注意

生成的访问令牌与用于登录 Diligent One 的账户匹配。 作为脚本编写者,如果该脚本将供他人使用,则在脚本中指定您自己的访问令牌可能不适当。

像保护任何账户密码一样保护访问令牌。

除非有充分的理由创建新令牌,否则请使用现有令牌。如果现有令牌不工作,请创建一个新的令牌。使用现有令牌可削减您需要管理的令牌数。

  1. 执行以下操作之一:

    • 从 Analytics 主菜单中,选择工具 > Diligent One 访问令牌

    • 脚本编辑器中,右键单击并选择插入 > Diligent One 令牌

    管理 API 令牌页面将在您的浏览器中打开。您可能需要先登录到 Diligent One。

    通过 Analytics 访问管理 API 令牌页面是一项便利功能。您还可以登录到 Diligent One,然后通过用户个人资料访问该页面,而无需使用 Analytics。

  2. 执行以下操作之一:

    • 使用现有令牌

      1. 令牌列中,单击要使用的已部分屏蔽的令牌。

      2. 输入您的 Diligent One 账户密码,然后单击确认

        未屏蔽的令牌被显示。

      3. 单击复制以复制该令牌。

        提示

        在成功粘贴该令牌之前,请勿关闭包含该令牌的对话框。

    • 创建新令牌

      1. 单击添加令牌 > Analytics

      2. 新建 Analytics 令牌侧面板中,指定以下信息:

        域或选项 描述
        描述

        输入提供有用信息的描述,例如:

        • 令牌的用途
        • 令牌的使用场景 – 例如,分析脚本的名称和位置,或者机器人任务的名称和位置
        令牌有效期
        • 已启用令牌将在您指定的天数之后到期
        • 已禁用令牌永不过期

        说明

        贵组织可能制定了一项安全政策,要求令牌在一定时间之后到期。创建包含有效期的令牌是一种好做法。Diligent One 会在到期日之前,向您发送一封自动电子邮件通知。

        即将在…到期 指定距离令牌到期日之前的天数(1 到 365 天)。
        密码 输入您的 Diligent One 账户密码。
      3. 单击生成令牌

      4. 单击复制以复制该令牌。

        提示

        在成功粘贴该令牌之前,请勿关闭包含该令牌的侧面板。

  3. 根据您使用的密码定义方法,执行以下操作之一:

    • PASSWORD 分析标记在 ACL 机器人的任务设计器中,将复制的令牌粘贴到密码参数字段中。

    • PASSWORD 命令在 Analytics 中,将复制的令牌粘贴到执行脚本过程中出现的密码提示中。

    • SET PASSWORD 命令在 Analytics 中,将复制的令牌粘贴到脚本中 SET PASSWORD 命令语法的适当位置。

  4. 在启动面板中,关闭包含该令牌的对话框或侧面板。

    如果您创建了新令牌,则该令牌的部分屏蔽版本被添加到您的令牌列表的顶部。

    有关更多信息,请参阅创建和管理 Diligent One 访问令牌

导入调试功能

对于从 Diligent One 执行的导入操作,存在简单的调试功能。

导入的数据被暂时存储在包含目标 Analytics 项目的文件夹中的一个 JSON 中间文件中。在任何包含 Analytics 项目的文件夹中,您都可以创建一个文本文件,以使该 JSON 文件得以保留,而不是在数据导入到 Analytics 之后被删除。

  • 存在 JSON 文件如果从 Diligent One 导入失败,但您的计算机上存在 JSON 文件,则您可以断定问题出在 Analytics,而不是出在 Diligent One。
  • 不存在 JSON 文件如果从 Diligent One 导入失败且您的计算机上不存在 JSON 文件,则您可以断定问题出在 Diligent One。

该信息可以帮助排除故障。

配置 JSON 中间文件的保留

在包含目标 Analytics 项目的文件夹中,创建一个空文本文件,其名称恰好为:_grc_import_debug.txt

当您从 Diligent One 中的结果应用程序或者项目应用程序中导入时,会保留 JSON 中间文件且其名称为 results.json。此后,每次从 Diligent One 导入时,都会覆盖该文件。