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


соединители Microsoft Graph Azure SQL и Microsoft SQL Server

Соединители Microsoft SQL Server или Azure SQL Microsoft Graph позволяют вашей организации обнаруживать и индексировать данные из локальной базы данных SQL Server или базы данных, размещенной в экземпляре Azure SQL в облаке. Соединитель индексирует указанное содержимое в поиске (Майкрософт) и Microsoft 365 Copilot. Для поддержания индекса в актуальном состоянии с исходными данными поддерживается периодическое полное и добавочное обход контента. С помощью этих соединителей SQL можно также ограничить доступ к результатам поиска для определенных пользователей.

Эта статья предназначена для администраторов Microsoft 365 или тех, кто настраивает, запускает и отслеживает Azure SQL или соединитель Microsoft SQL Server Microsoft Graph.

Возможности

  • Индексируйте записи из базы данных MS SQL Server или Azure SQL с помощью SQL-запроса.
  • Укажите разрешения доступа для каждой записи со списком пользователей или групп, добавленных в SQL-запросе.
  • Разоставьте пользователям возможность задавать вопросы, связанные с индексированием записей в Copilot.
  • Используйте семантический поиск в Copilot , чтобы пользователи могли находить релевантный контент на основе ключевых слов, личных предпочтений и социальных связей.

Ограничения

  • Соединитель Microsoft SQL Server. Локальная база данных должна работать SQL Server версии 2008 или более поздней.
  • соединитель Azure SQL: подписка Microsoft 365 и подписка Azure (размещение Azure SQL базы данных) должны находиться в одной Microsoft Entra ID. Поток данных между клиентами не поддерживается.
  • Для поддержки высокой скорости обхода контента и повышения производительности соединитель создан для поддержки только рабочих нагрузок OLTP (online Transaction Processing). Рабочие нагрузки OLAP (интерактивная аналитическая обработка), которые не выполняют предоставленный SQL-запрос в течение 40 секунд и не поддерживаются.
  • Списки управления доступом поддерживаются только с помощью имени участника-пользователя (UPN), Microsoft Entra ID или безопасности Active Directory.
  • Индексирование полнофункционированного содержимого внутри столбцов базы данных не поддерживается. Примерами такого содержимого являются HTML, JSON, XML, BLOB-объекты и синтаксический анализ документов, которые существуют в виде ссылок внутри столбцов базы данных.

Предварительные условия

  • Вы должны быть администратором поиска для клиента Microsoft 365 вашей организации.
  • Установите агент соединителя Microsoft Graph (применимо только для соединителя MS SQL). Чтобы получить доступ к SQL Server Microsoft, необходимо установить и настроить агент соединителя. Дополнительные сведения см. в статье Установка агента соединителя Microsoft Graph .
  • Учетная запись службы. Чтобы подключиться к базе данных SQL и разрешить Соединителю Microsoft Graph регулярно обновлять записи, требуется учетная запись службы с разрешениями на чтение, предоставленными учетной записи службы.

Примечание.

Если при настройке соединителя Microsoft SQL Server используется проверка подлинности Windows, пользователь, с помощью которого вы пытаетесь войти, должен иметь интерактивные права входа на компьютер, на котором установлен агент соединителя. Дополнительные сведения см. в разделе Управление политиками входа.

Начало работы с программой установки

1. Отображаемое имя

Отображаемое имя используется для идентификации каждой ссылки в Copilot, помогая пользователям легко распознавать связанный файл или элемент. Отображаемое имя также означает доверенное содержимое. Отображаемое имя также используется в качестве фильтра источника содержимого. Для этого поля используется значение по умолчанию, но его можно настроить на имя, которое распознают пользователи в вашей организации.

сервер 2. SQL

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

3. Тип проверки подлинности

соединитель Azure SQL поддерживает только проверку подлинности Microsoft Entra ID OpenID Connect (OIDC) для подключения к базе данных.

Регистрация приложения (только для соединителя Microsoft Graph Azure SQL)

Для соединителя Azure SQL необходимо зарегистрировать приложение в Microsoft Entra ID, чтобы разрешить приложению Поиска (Майкрософт) и Microsoft 365 Copilot доступ к данным для индексирования. Дополнительные сведения о регистрации приложения см. в документации по Microsoft Graph о регистрации приложения.

После завершения регистрации приложения и записи имени приложения, идентификатора приложения (клиента) и идентификатора клиента необходимо создать новый секрет клиента. Клиент отображается только один раз. Не забудьте отметить, & безопасно хранить секрет клиента. Используйте идентификатор клиента и секрет клиента при настройке нового подключения в Поиске (Майкрософт) и Microsoft 365 Copilot.

Чтобы добавить зарегистрированное приложение в базу данных Azure SQL, необходимо:

  1. Войдите в базу данных Azure SQL.
  2. Откройте новое окно запроса.
  3. Создайте пользователя, выполнив команду CREATE USER [имя приложения] FROM EXTERNAL PROVIDER.
  4. Добавьте пользователя в роль, выполнив команду "exec sp_addrolemember "db_datareader", [имя приложения]" или "ALTER ROLE db_datareader ADD MEMBER [имя приложения]".

Дополнительные сведения об отзыве доступа к любому приложению, зарегистрированным в Microsoft Entra ID, см. в статье Удаление зарегистрированного приложения.

Параметры брандмауэра (только для соединителя Microsoft Graph Azure SQL)

Для обеспечения повышенной безопасности можно настроить правила брандмауэра ДЛЯ IP-адресов для сервера Azure SQL или базы данных. Дополнительные сведения о настройке правил брандмауэра для IP-адресов см. в документации по правилам брандмауэра для IP-адресов. Добавьте следующие диапазоны IP-адресов клиента в параметры брандмауэра.

Region Microsoft 365 корпоративный Microsoft 365 для государственных организаций
NAM 52.250.92.252/30, 52.224.250.216/30 52.245.230.216/30, 20.141.117.64/30
EUR 20.54.41.208/30, 51.105.159.88/30 Н/Д
APC 52.139.188.212/30, 20.43.146.44/30 Н/Д

4. Развертывание для ограниченной аудитории

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

Содержимое

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

1. Полный обход контента (обязательный)

А. Выбор столбцов данных (обязательный) и ACL (необязательно)

[Щелкните, чтобы развернуть] Выбор столбцов данных для полного запроса обхода контента.

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

Совет

Чтобы получить все необходимые столбцы, можно объединить несколько таблиц.

Скрипт, показывающий OrderTable и AclTable с примерами свойств.

В примере демонстрируется выбор из пяти столбцов данных, в которые содержатся данные для поиска: OrderId, OrderTitle, OrderDesc, CreatedDateTime и IsDeleted. Чтобы задать разрешения на просмотр для каждой строки данных, при необходимости можно выбрать следующие столбцы ACL: AllowedUsers, AllowedGroups, DeniedUsers и DeniedGroups. Все эти столбцы данных также имеют параметры Query, Search, Retrieve или Refine.

Выберите столбцы данных, как показано в этом примере запроса: SELECT orderId, orderTitle, orderDesc, allowedUsers, allowedGroups, deniedUsers, deniedGroups, createdDateTime, isDeleted

Соединители SQL не разрешают имена столбцов с неальфанумерными символами в предложении SELECT. Удалите все неальфакнумерные символы из имен столбцов с помощью псевдонима. Пример. SELECT column_name AS columnName

Чтобы управлять доступом к результатам поиска, можно указать один или несколько столбцов 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 с примерами свойств.

Б. Поддерживаемые типы данных

[Щелкните, чтобы развернуть] Список поддерживаемых типов данных.

В таблице перечислены типы данных SQL, поддерживаемые соединителями MS SQL и Azure SQL. В таблице также приводится сводка типа данных индексирования для поддерживаемого типа данных SQL. Дополнительные сведения о поддерживаемых типах данных соединителей Microsoft Graph для индексирования см. в документации по типам ресурсов свойств.

Категория Тип данных источника Индексирование типа данных
дата и время; date
datetime
datetime2
smalldatetime
datetime
Точное число bigint
int
smallint
tinyint
int64
Точное число бит логический
Приблизительное число float
real
double
Строка символов обугливать
varchar
текст
string
Строки символов Юникода nchar
nvarchar
ntext
string
Коллекция строк обугливать
varchar
текст
stringcollection*
Другие типы данных uniqueidentifier string

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

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

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

[Щелкните, чтобы развернуть] Указание столбца подложки в запросе полного обхода контента

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

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

  • 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" в запросе.

2. Управление свойствами

Соединитель SQL выбирает все столбцы, указанные в sql-запросе полного обхода, в качестве исходных свойств для приема. На этом шаге можно определить схему поиска для содержимого. Это включает определение заметок поиска, таких как поиск, извлечение, запрос и уточнение для выбранных свойств источника. Сюда также входит назначение семантических меток и псевдонимов для повышения релевантности поиска. Дополнительные сведения о схеме поиска см. в документации по рекомендациям по управлению свойствами.

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

А. Запрос добавочной синхронизации

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

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

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

Б. Инструкции по обратимой удалению (необязательно)

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

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

Пользователи

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

1. Сопоставление столбцов, содержащих сведения о разрешениях доступа

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

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

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

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

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

Синхронизация

Интервал обновления определяет частоту синхронизации данных между источником данных и индексом соединителя Graph.

Вы можете настроить полное и добавочное обход контента на основе параметров планирования, представленных здесь. По умолчанию добавочный обход контента (при настройке) устанавливается каждые 15 минут, а полный обход — на каждый день. При необходимости эти расписания можно настроить в соответствии с потребностями обновления данных.

На этом этапе вы готовы создать подключение для Azure SQL или MS SQL. Вы можете нажать кнопку "Создать", чтобы опубликовать данные подключения и индексирования из базы данных.

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

После публикации подключения можно просмотреть состояние на вкладке Источники данных в Центре администрирования. Сведения об обновлении и удалении см. в статье Управление соединителем. Инструкции по устранению распространенных проблем можно найти здесь.

Если у вас возникли проблемы или вы хотите отправить отзыв, обратитесь в Microsoft Graph | Поддержка.