Бөлісу құралы:


Соединитель Microsoft Graph Oracle SQL

Соединитель Oracle SQL Graph позволяет вашей организации обнаруживать и индексировать данные из локальной базы данных Oracle. Соединитель индексирует указанное содержимое в поиске (Майкрософт). Для поддержания индекса в актуальном состоянии с исходными данными поддерживается периодическое полное и добавочное обход контента. Соединитель Oracle SQL также позволяет ограничить доступ к результатам поиска для определенных пользователей.

Эта статья предназначена для всех, кто настраивает, запускает и отслеживает соединитель Oracle SQL Graph. Он дополняет общий процесс установки и содержит инструкции, которые применяются только к соединителю Oracle SQL Graph. В этой статье также содержатся сведения об устранении неполадок и ограничениях.

Перед началом работы

Установка агента соединителя

Чтобы получить доступ к локальным сторонним данным, необходимо установить и настроить агент соединителя Graph. Дополнительные сведения см. в статье Установка агента соединителя Graph .

Шаг 1. Добавление соединителя в Центр администрирования Microsoft 365

Добавление соединителя Oracle SQL

Следуйте общим инструкциям по настройке.

Шаг 2. Присвойте соединению имя

Следуйте общим инструкциям по настройке.

Шаг 3. Настройка параметров подключения

Чтобы подключить соединитель Oracle SQL к источнику данных, необходимо настроить сервер базы данных, для которого требуется выполнить обход контента, и локальный агент соединителя Graph. Затем можно подключиться к базе данных с помощью необходимого метода проверки подлинности.

Для соединителя Oracle SQL необходимо указать имя узла, порт и имя службы (базы данных), а также предпочтительный метод проверки подлинности, имя пользователя и пароль.

Если имя службы недоступно и вы подключаетесь с помощью идентификатора безопасности, имя службы можно получить с помощью одной из следующих команд (будет выполнено от имени администратора sys).

  • выберите SERVICE_NAME из gv$session, где sid in (выберите sid из v$MYSTAT);
  • выберите sys_context('userenv','service_name') из dual;

Примечание.

Чтобы соединитель мог подключаться, в базе данных должна быть запущена база данных Oracle версии 11g или более поздней. Соединитель поддерживает базу данных Oracle, размещенную на платформах Виртуальных машин Windows, Linux и Azure.

Для поиска содержимого базы данных необходимо указать SQL-запросы при настройке соединителя. Эти SQL-запросы должны присвоить имена всем столбцам базы данных, которые требуется индексировать (т. е. свойства источника), включая все соединения SQL, которые необходимо выполнить для получения всех столбцов. Чтобы ограничить доступ к результатам поиска, необходимо указать списки контроль доступа (ACL) в SQL-запросах при настройке соединителя.

Шаг 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. В таблице также приводится сводка типа данных индексирования для поддерживаемого типа данных SQL. Дополнительные сведения о поддерживаемых соединителях Microsoft Graph для индексирования см. в документации по типам ресурсов свойств.

Категория Тип данных источника Индексирование типа данных
Тип данных number ЧИСЛО(p,0) int64 (для p <= 18)
double (для p > 18)
Тип данных числа с плавающей запятой NUMBER(p,s)
FLOAT(p)
double
Тип данных даты ДАТА
TIMESTAMP
TIMESTAMP(n)
datetime
Тип данных символа CHAR(n)
VARCHAR
VARCHAR2
ДЛИННЫЕ
CLOB
NCLOB
string
Тип данных символа Юникода NCHAR
NVARCHAR
string
Тип данных RowID ROWID
UROWID
string

Для любого другого типа данных, который в настоящее время не поддерживается напрямую, необходимо явно привести столбец к поддерживаемому типу данных.

Подложка (обязательно)

Чтобы предотвратить перегрузку базы данных, соединитель пакетирует и возобновляет запросы полного обхода с помощью столбца подложки полного обхода. Используя значение столбца подложки, извлекается каждый последующий пакет, а запрос возобновляется из последней контрольной точки. По сути, это механизм управления обновлением данных для полного обхода контента.

Создайте фрагменты запросов для подложек, как показано в следующих примерах:

  • WHERE (CreatedDateTime > @watermark). Приведите имя столбца подложки с зарезервированным ключевое слово @watermark. Столбец подложки можно отсортировать только по возрастанию.
  • ORDER BY CreatedDateTime ASC. Сортировка по столбцу водяного знака по возрастанию.

В конфигурации, показанной на следующем рисунке, CreatedDateTime является выбранным столбцом водяного знака. Чтобы получить первый пакет строк, укажите тип данных столбца подложки. В этом случае типом данных является DateTime.

Конфигурация столбца подложки.

Первый запрос извлекает первое N строк с помощью : "CreatedDateTime > 1 января 1753 00:00:00" (минимальное значение типа данных DateTime). После получения первого пакета наибольшее значение, возвращенное CreatedDateTime в пакете, сохраняется в качестве контрольной точки, если строки отсортированы по возрастанию. Пример: 1 марта 2019 г. 03:00:00. Затем следующий пакет из N строк извлекается с помощью "CreatedDateTime > 1 марта 2019 г. 03:00:00" в запросе.

Пропуск обратимо удаленных строк (необязательно)

Чтобы исключить обратимо удаленные строки в базе данных из индексирования, укажите имя и значение обратимого удаления столбца, указывающее, что строка удалена.

Параметры обратимого удаления:

Полный обход контента: управление разрешениями поиска

Выберите Управление разрешениями , чтобы выбрать различные столбцы управления доступом (ACL), определяющие механизм управления доступом. Выберите имя столбца, указанного в sql-запросе для полного обхода контента.

Ожидается, что каждый из столбцов ACL будет многозначным. Эти значения идентификаторов можно разделить разделителями, такими как точка с запятой (;), запятая (,) и т. д. Этот разделитель необходимо указать в поле разделителя значений .

Для использования в качестве списков управления доступом поддерживаются следующие типы идентификаторов:

  • Имя участника-пользователя (UPN). Имя участника-пользователя (UPN) — это имя системного пользователя в формате адреса электронной почты. Имя участника-пользователя (например, john.doe@domain.com) состоит из имени пользователя (имя входа), разделителя (символ @) и доменного имени (суффикс имени участника-пользователя).
  • идентификатор Microsoft Entra. В Microsoft Entra идентификаторе каждый пользователь или группа имеет идентификатор объекта, который выглядит примерно так: "e0d3ad3d-0000-1111-2222-3c5f5c52ab9b".
  • Идентификатор безопасности Active Directory (AD). В локальной установке AD каждый пользователь и группа имеют неизменяемый уникальный идентификатор безопасности, который выглядит примерно так: S-1-5-21-3878594291-215959936-132693609-65242.

Параметры разрешений на поиск для настройки списков управления доступом.

Шаг 3b. Добавочный обход контента (необязательно)

На этом необязательном шаге предоставьте SQL-запрос для выполнения добавочного обхода базы данных. С помощью этого запроса соединитель SQL определяет все изменения в данных с момента последнего добавочного обхода контента. Как и при полном обходе контента, выберите один из параметров Запрос, Поиск или Получить. Укажите тот же набор столбцов ACL, который вы указали в запросе полного обхода контента.

Компоненты на следующем рисунке похожи на компоненты полного обхода контента с одним исключением. В этом случае "ModifiedDateTime" является выбранным столбцом подложки. Ознакомьтесь с полными инструкциями по обходу контента , чтобы узнать, как написать добавочный запрос обхода контента, и просмотрите следующий образ в качестве примера.

Скрипт добавочного обхода, показывающий OrderTable, AclTable и примеры свойств, которые можно использовать.

Шаг 4. Назначение меток свойств

Следуйте общим инструкциям по настройке.

Шаг 5. Управление схемой

Следуйте общим инструкциям по настройке.

Шаг 6. Управление разрешениями поиска

Вы можете использовать списки ACL, указанные в полноэкранном режиме обхода контента, или переопределить их, чтобы сделать содержимое видимым для всех.

Шаг 7. Выбор параметров обновления

Соединитель Oracle SQL поддерживает расписания обновления для полного и добавочного обхода контента. Рекомендуется задать и то, и другое.

Полное расписание обхода контента находит удаленные строки, которые ранее были синхронизированы с индексом Поиска Майкрософт, и все строки, которые были перемещены из фильтра синхронизации. При первом подключении к базе данных выполняется полный обход контента для синхронизации всех строк, полученных из запроса полного обхода контента. Чтобы синхронизировать новые строки и вносить обновления, необходимо запланировать добавочное обход контента.

Шаг 8. Проверка подключения

Следуйте общим инструкциям по настройке.

Устранение неполадок

Ниже приведен список распространенных ошибок, наблюдаемых при настройке соединителя, и их возможные причины.

Шаг настройки Сообщение об ошибке Возможные причины
Параметры базы данных Ошибка сервера базы данных: истекло время ожидания запроса на подключение Недопустимое имя узла
Узел недоступен
Параметры базы данных Ошибка сервера базы данных: ORA-12541: TNS: нет прослушивателя Недопустимый порт
Параметры базы данных Ошибка с сервера базы данных: ORA-12514: TNS: прослушиватель в настоящее время не знает о службе, запрошенной в дескрипторе соединителя Недопустимое имя службы (базы данных)
Параметры базы данных Ошибка сервера базы данных: сбой входа для пользователя "user". Недопустимое имя пользователя или пароль
Полный обход контента Столбец column_name, возвращаемый из sql-запроса полного обхода контента, содержит не буквенно-цифровой символ Небуквенно-цифровые символы (например, символы подчеркивания) не допускаются в именах столбцов в предложении SELECT. Используйте псевдонимы для переименования столбцов и удаления небуквенно-цифровых символов (пример: SELECT column_name AS columnName).

Ограничения

Соединитель Oracle SQL имеет следующие ограничения в предварительной версии:

  • Локальная база данных должна работать под управлением Oracle Database версии 11g или более поздней.
  • Списки управления доступом поддерживаются только с помощью имени участника-пользователя (UPN), идентификатора Microsoft Entra или безопасности Active Directory.
  • Индексирование полнофункционированного содержимого внутри столбцов базы данных не поддерживается. Примерами такого содержимого являются HTML, JSON, XML, BLOB-объекты и синтаксический анализ документов, которые существуют в виде ссылок внутри столбцов базы данных.