Oracle SQL Microsoft Graph 连接器

Oracle SQL Microsoft Graph 连接器允许组织发现本地 Oracle 数据库中的数据并编制索引。 连接器为 Microsoft Search 和 Microsoft Copilot 365 中的指定内容编制索引。 为了使索引与源数据保持同步,它支持定期完全爬网和增量爬网。 使用 Oracle SQL Microsoft Graph 连接器,还可以限制对某些用户的搜索结果的访问。

本文适用于配置、运行和监视 Oracle SQL Microsoft Graph 连接器的任何人。 它补充了常规设置过程,并显示仅适用于 Oracle SQL Microsoft Graph 连接器的说明。 它还包括有关 故障排除限制的信息。

开始之前

安装连接器代理

若要访问本地第三方数据,必须安装和配置 Microsoft Graph 连接器代理。 有关详细信息,请参阅 安装 Microsoft Graph 连接器代理

步骤 1:在Microsoft 365 管理中心中添加连接器

添加 Oracle SQL Microsoft Graph 连接器

按照常规 设置说明进行操作

步骤 2:命名连接

按照常规 设置说明进行操作

步骤 3:配置连接设置

若要将 Oracle SQL Microsoft Graph 连接器连接到数据源,必须配置要爬网的数据库服务器和本地 Microsoft Graph 连接器代理。 然后,可以使用所需的身份验证方法连接到数据库。

对于 Oracle SQL Microsoft Graph 连接器,需要指定主机名、端口和服务 (数据库) 名称以及首选的身份验证方法、用户名和密码。

如果服务名称不可用,并且使用 SID 进行连接,则可以使用以下命令之一派生服务名称, (作为 sys admin) 执行。

  • 从 gv$session 中选择SERVICE_NAME,其中 sid in (从 v$MYSTAT) 中选择 sid;
  • 选择sys_context ('userenv','service_name') 从双;

注意

数据库必须运行 Oracle 数据库版本 11g 或更高版本,连接器才能进行连接。 连接器支持托管在 Windows、Linux 和 Azure VM 平台上的 Oracle 数据库。

若要搜索数据库内容,必须在配置连接器时指定 SQL 查询。 这些 SQL 查询需要命名要编制索引的所有数据库列, (即源属性) ,包括需要执行以获取所有列的任何 SQL 联接。 若要限制对搜索结果的访问,必须在配置连接器时在 SQL 查询中指定访问控制 Lists (ACL) 。

步骤 3a:需要完全爬网 ()

在此步骤中,将配置运行数据库完全爬网的 SQL 查询。 完全爬网将选择要在其中选择“ 查询”、“ 搜索”或“ 检索”选项的所有列或属性。 还可以指定 ACL 列,以将搜索结果的访问限制为特定用户或组。

提示

若要获取所需的所有列,可以联接多个表。

显示具有示例属性的 OrderTable 和 AclTable 的脚本。

选择 (必需) 的数据列和 ACL 列 (可选)

该示例演示了保存搜索数据的五个数据列的选择:orderId、orderTitle、orderDesc、createdDateTime 和 isDeleted。 若要设置每行数据的查看权限,可以选择选择以下 ACL 列:allowedUsers、allowedGroups、deniedUsers 和 deniedGroups。 对于所有这些数据列,可以选择 “查询”、“ 搜索”或“ 检索”选项。

选择此示例查询中所示的数据列。 SELECT OrderId, orderTitle, orderDesc, allowedUsers, allowedGroups, deniedUsers, deniedGroups, createdDateTime, isDeleted.

若要管理对搜索结果的访问,可以在查询中指定一个或多个 ACL 列。 SQL 连接器允许你控制每个记录级别的访问。 可以选择对表中的所有记录使用相同的访问控制。 如果 ACL 信息存储在单独的表中,则可能必须与查询中的这些表进行联接。

下面介绍了上述查询中每个 ACL 列的用法。 以下列表介绍了四 种访问控制机制

  • allowedUsers:此选项指定可以访问搜索结果的用户 ID 列表。 在以下示例中,用户列表: john@contoso.com、 keith@contoso.com和 lisa@contoso.com 将仅有权访问 OrderId = 12 的记录。
  • allowedGroups:此选项指定可以访问搜索结果的用户组。 在以下示例中,组 sales-team@contoso.com 只能访问 OrderId = 12 的记录。
  • deniedUsers:此选项指定 无权 访问搜索结果的用户列表。 在以下示例中,用户 john@contoso.com 和 keith@contoso.com 无权访问 OrderId = 13 的记录,而其他人则有权访问此记录。
  • deniedGroups:此选项 指定无权访问 搜索结果的用户组。 在以下示例中,对 OrderId = 15 的记录进行分组 engg-team@contoso.com 和 pm-team@contoso.com 无权访问,而其他人则有权访问此记录。

显示具有示例属性的 OrderTable 和 AclTable 的示例数据。

支持的数据类型

此表汇总了 Oracle SQL Microsoft Graph 连接器支持的数据类型。 该表还汇总了支持的 SQL 数据类型的索引数据类型。 若要详细了解Microsoft Graph 连接器支持的索引数据类型,请参阅有关 属性资源类型的文档。

类别 源数据类型 索引数据类型
数字数据类型 数字 (p,0) p <= 18) 的 int64 (
p > 18) 的双 (。
浮点数数据类型 number (p,s)
FLOAT (p)
双。
日期数据类型 日期
时间戳
TIMESTAMP (n)
datetime。
字符数据类型 CHAR (n)
VARCHAR
VARCHAR2

CLOB
NCLOB
字符串。
Unicode 字符数据类型 NCHAR
NVARCHAR
字符串。
RowID 数据类型 ROWID
UROWID
字符串。

对于当前不直接支持的任何其他数据类型,需要将列显式强制转换为受支持的数据类型。

需要水印 ()

为了防止数据库过载,连接器使用完全爬网水印列对完全爬网查询进行批处理并恢复。 通过使用水印列的值,提取每个后续批,并从最后一个检查点恢复查询。 实质上,这是一种用于控制完全爬网的数据刷新的机制。

为水印创建查询代码段,如以下示例所示:

  • WHERE (CreatedDateTime > @watermark). 引用带有保留关键字 (keyword) @watermark的水印列名称。 只能按升序对水印列进行排序。
  • ORDER BY CreatedDateTime ASC. 按水印列按升序排序。

在下图所示的配置中, CreatedDateTime 是所选水印列。 若要提取第一批行,请指定水印列的数据类型。 在这种情况下,数据类型为 DateTime

水印列配置。

第一个查询使用“CreatedDateTime > January 1, 1753 00:00:00” (DateTime 数据类型的最小值) 提取前 N 行数。 提取第一批后,如果行按升序排序,则批中返回的最高值 CreatedDateTime 将保存为检查点。 例如,2019 年 3 月 1 日 03:00:00。 然后在查询中使用“CreatedDateTime > 2019 年 3 月 1 日 03:00:00”提取下一批 N 行。

跳过软删除行 (可选)

若要将数据库中的软删除行从索引中排除,请指定软删除列名和值,该值指示该行已删除。

软删除设置:“软删除列”和“软删除列的值,指示已删除的行。

完全爬网:管理搜索权限

选择“ 管理权限 ”以选择各种访问控制 (ACL) 指定访问控制机制的列。 选择在完全爬网 SQL 查询中指定的列名称。

每个 ACL 列应为多值列。 这些多个 ID 值可以通过分隔符分隔,例如分号 (;) 、逗号 (、) 等。 需要在值分隔符字段中指定此 分隔符

支持将以下 ID 类型用作 ACL:

  • 用户主体名称 (UPN) :UPN) (用户主体名称是采用电子邮件地址格式的系统用户的名称。 例如,UPN (: john.doe@domain.com) 由用户名 (登录名) 、@ 符号 (分隔符) 以及域名 (UPN 后缀) 组成。
  • Microsoft Entra ID:在 Microsoft Entra ID,每个用户或组都有一个对象 ID,该 ID 类似于“e0d3ad3d-0000-1111-2222-3c5f5c52ab9b”
  • Active Directory (AD) 安全 ID:在本地 AD 设置中,每个用户和组都有一个不可变的唯一安全标识符,该标识符类似于“S-1-5-21-3878594291-2115959936-132693609-65242”。

用于配置访问控制列表的搜索权限设置。

步骤 3b:增量爬网 (可选)

在此可选步骤中,提供 SQL 查询以运行数据库的增量爬网。 使用此查询,SQL 连接器确定自上次增量爬网以来对数据所做的任何更改。 与完全爬网一样,在 “查询”、“ 搜索”或“ 检索”选项之间进行选择。 指定在完整爬网查询中指定的同一组 ACL 列。

下图中的组件类似于完整爬网组件,但有一个例外。 在这种情况下,“ModifiedDateTime”是所选水印列。 查看 完整的爬网步骤 ,了解如何编写增量爬网查询,并参阅下图作为示例。

显示 OrderTable、AclTable 和可使用的示例属性的增量爬网脚本。

步骤 4:分配属性标签

按照常规 设置说明进行操作

步骤 5:管理架构

按照常规 设置说明进行操作

步骤 6:管理搜索权限

可以选择使用 在完全爬网屏幕中指定的 ACL ,也可以重写它们以使内容对每个人都可见。

步骤 7:选择刷新设置

Oracle SQL Microsoft Graph 连接器支持完整爬网和增量爬网的刷新计划。 建议同时设置这两者。

完整爬网计划可查找以前同步到Microsoft搜索索引的已删除行,以及从同步筛选器移出的任何行。 首次连接到数据库时,将运行完全爬网以同步从完整爬网查询检索到的所有行。 若要同步新行并进行更新,需要计划增量爬网。

步骤 8:查看连接

按照常规 设置说明进行操作

限制

Oracle SQL Microsoft Graph 连接器在预览版中具有以下限制:

  • 本地数据库必须运行 Oracle 数据库版本 11g 或更高版本。
  • 仅使用用户主体名称 (UPN) 、Microsoft Entra ID或 Active Directory 安全性来支持 ACL。
  • 不支持为数据库列内的丰富内容编制索引。 此类内容的示例包括 HTML、JSON、XML、Blob 和作为数据库列内的链接存在的文档分析。

疑难解答

发布连接后,可以在管理中心的“数据源”选项卡下查看状态。 若要了解如何进行更新和删除,请参阅 管理连接器。 可 在此处找到常见问题的故障排除步骤。

如果你有任何其他问题或想要提供反馈,请写信给我们 aka.ms/TalkToGraphConnectors