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 資料行,將搜尋結果的存取限制為特定使用者或群組。
提示
若要取得您需要的所有資料行,您可以聯結多個數據表。
選取 (必要) 和 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 之記錄的存取權,而其他人則可以存取此記錄。
支援的數據類型
下表摘要說明 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” 是選取的水位線數據行。 檢閱 完整的編目步驟 ,以瞭解如何撰寫累加編目查詢,並查看下列影像作為範例。
步驟 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 給我們。