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 系統管理員) 身分執行。

  • 從 gv$session 中選取SERVICE_NAME,其中 sid 在 (從 v$MYSTAT) 選取 sid;
  • 從雙重選sys_context ('userenv','service_name') ;

注意事項

您的資料庫必須執行 Oracle 資料庫 11g 版或更新版本,連接器才能連線機。 連接器支援裝載於 Windows、Linux 和 Azure VM 平臺上的 Oracle 資料庫。

若要搜尋資料庫內容,您必須在設定連接器時指定 SQL 查詢。 這些 SQL 查詢需要將您想要編製索引的所有資料庫數據行命名 (也就是來源屬性) ,包括需要執行才能取得所有數據行的任何 SQL 聯結。 若要限制對搜尋結果的存取,您必須在設定連接器時,在 SQL 查詢內指定 存取控制 清單 (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:此選項會指定可存取搜尋結果的使用者標識符清單。 在下列範例中,用戶清單: 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:此選項會指定 無法 存取搜尋結果的使用者群組。 在下列範例中,群組 engg-team@contoso.com 和 pm-team@contoso.com 沒有 OrderId = 15 之記錄的存取權,而其他人則可以存取此記錄。

顯示具有範例屬性之 OrderTable 和 AclTable 的範例數據。

支援的數據類型

下表摘要說明 Oracle SQL Microsoft Graph 連接器支援的數據類型。 數據表也會摘要說明支援的SQL數據類型的索引數據類型。 若要深入瞭解Microsoft圖形連接器支持的數據類型來編製索引,請參閱 屬性資源類型的檔。

類別 源數據類型 編製數據類型的索引
數字數據類型 NUMBER (p,0) int64 (for p <= 18)
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). 使用保留關鍵詞 @watermark來寫入浮 您只能以遞增順序排序浮水印資料列。
  • ORDER BY CreatedDateTime ASC. 以遞增順序排序浮浮水印數據行。

在下圖所示的組態中, CreatedDateTime 是選取的水位線數據行。 若要擷取第一批數據列,請指定浮水印數據行的數據類型。 在這裡情況下,資料類型為 DateTime

浮浮水印資料行設定。

第一個查詢會使用下列方法擷取前 N 個數據列數:“CreatedDateTime > January 1, 1753 00:00:00” (dateTime 數據類型的最小值) 。 擷取第一個批次之後,如果數據列是以遞增順序排序,則批次中傳回的最高值 CreatedDateTime 會儲存為檢查點。 例如,2019 年 3 月 1 日 03:00:00。 然後在查詢中使用 「CreatedDateTime > March 1, 2019 03:00:00」 擷取下一批 N 個數據列。

略過虛刪除的數據列 (選擇性)

若要排除資料庫中虛刪除的數據列不編製索引,請指定虛刪除數據行名稱和值,指出數據列已刪除。

虛刪除設定:「虛刪除數據行」和「虛刪除數據行的值,表示已刪除的數據列」。

完整編目:管理搜尋許可權

取 [管理許可權] 以選擇指定存取控制機制的各種存取控制 (ACL) 資料行。 選取您在完整編目 SQL 查詢中指定的數據行名稱。

每個 ACL 資料行都應該是多重值數據行。 這些多個標識碼值可以使用分號 (;) 、逗號 (、) 等分隔符來分隔。 您必須在值分隔符欄位中指定此 分隔符

支援使用下列識別碼類型作為 ACL:

  • UPN) (用戶主體名稱 :UPN) (用戶主體名稱是電子郵件位址格式的系統用戶名稱。 例如,UPN (: john.doe@domain.com) 包含使用者名稱 (登入名稱) 、@符号) (分隔符,以及 UPN 後綴) (功能變數名稱。
  • Microsoft Entra ID:在 Microsoft Entra ID 中,每個使用者或群組都有類似 'e0d3ad3d-0000-1111-2222-3c5f5c52ab9b' 的物件標識符
  • Active Directory (AD) 安全性標識符:在內部部署 AD 安裝程式中,每個使用者和群組都有不可變的唯一安全標識符,看起來像 'S-1-5-21-3878594291-2115959936-132693609-65242.'

用來設定訪問控制清單的搜尋許可權設定。

步驟 3b:累加編目 (選擇性)

在這個選擇性步驟中,提供 SQL 查詢來執行資料庫的累加編目。 使用此查詢時,SQL 連接器會決定自上次累加編目之後對數據所做的任何變更。 如同在完整編目中,選取 [查詢]、[ 搜尋] 或 [擷 取] 選項。 指定您在完整編目查詢中指定的同一組 ACL 資料行。

下圖中的元件類似於完整編目元件,但有一個例外狀況。 在此情況下,“ModifiedDateTime” 是選取的水位線數據行。 檢閱 完整的編目步驟 ,以瞭解如何撰寫累加編目查詢,並查看下列影像作為範例。

累加編目腳本,顯示可以使用的 OrderTable、AclTable 和範例屬性。

步驟 4:指派屬性標籤

請遵循一般 設定指示

步驟 5:管理架構

請遵循一般 設定指示

步驟 6:管理搜尋許可權

您可以選擇使用 完整搜耙畫面中指定的 ACL ,也可以覆寫這些 ACL,讓每個人都能看到您的內容。

步驟 7:選擇重新整理設定

Oracle SQL Microsoft Graph 連接器支援完整和增量編目的重新整理排程。 我們建議您設定兩者。

完整編目排程會尋找先前同步處理至 [Microsoft 搜尋] 索引的已刪除數據列,以及移出同步篩選的任何數據列。 當您第一次連線到資料庫時,會執行完整編目來同步處理從完整編目查詢擷取的所有數據列。 若要同步處理新的數據列並進行更新,您需要排程累加編目。

步驟 8:檢閱連線

請遵循一般 設定指示

限制

Oracle SQL Microsoft Graph 連接器在預覽版本中有下列限制:

  • 內部部署資料庫必須執行 Oracle Database 11g 版或更新版本。
  • ACL 僅支援使用使用者主體名稱 (UPN) 、Microsoft Entra ID 或 Active Directory 安全性。
  • 不支援在資料庫數據行內編製豐富內容的索引。 這類內容的範例包括 HTML、JSON、XML、Blob,以及作為資料庫數據行內連結存在的檔剖析。

疑難排解

發佈連線之後,您可以在系統管理中心的 [數據源] 索引卷標下檢閱狀態。 若要瞭解如何進行更新和刪除,請參閱 管理您的連接器。 您可以 在這裡找到常見問題的疑難解答步驟。

如果您有任何其他問題或想要提供意見反應,請寫 aka.ms/TalkToGraphConnectors 給我們。