Подключения индексатора к экземпляру SQL Server на виртуальной машине Azure

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

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

  • Получите сертификат от поставщика центра сертификации для полного доменного имени экземпляра SQL Server на виртуальной машине.

  • Установите сертификат на виртуальной машине.

После установки сертификата на виртуальной машине вы будете готовы выполнить следующие действия, описанные в этой статье.

Примечание.

Столбцы Always Encrypted в настоящее время не поддерживаются индексаторами поиска ИИ Azure.

Активация зашифрованных подключений

Для поиска ИИ Azure требуется зашифрованный канал для всех запросов индексатора через общедоступное подключение к Интернету. В данном разделе перечислены действия, необходимые для выполнения этого требования.

  1. Проверьте свойства сертификата, чтобы убедиться, что имя субъекта является полным доменным именем (FQDN) виртуальной машины Azure.

    Чтобы просмотреть свойства, можно воспользоваться инструментом, таким как CertUtils, или оснасткой диспетчера сертификатов. Полное доменное имя можно найти на портале Azure в колонке служб виртуальных машин (в разделе "Основные сведения" в поле Общедоступный IP-адрес/Метка DNS-имени).

    Полное доменное имя обычно форматируется как <your-VM-name>.<region>.cloudapp.azure.com

  2. С помощью редактора реестра (regedit) настройте SQL Server для использования сертификата.

    Несмотря на то, что диспетчер конфигурации SQL Server часто используется для данной задачи, его нельзя использовать в этом сценарии. Он не найдет импортированный сертификат, так как полное доменное имя виртуальной машины в Azure не соответствует полному доменному имени, определяемому виртуальной машиной (он определяет домен как локальный компьютер или сетевой домен, к которому он присоединен). Если имена не совпадают, воспользуйтесь редактором реестра, чтобы указать сертификат.

    1. В редакторе реестра перейдите к разделу реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      Часть [MSSQL13.MSSQLSERVER] зависит от версии и имени экземпляра.

    2. Задайте для ключа сертификатаотпечаток (без пробелов) сертификата TLS/SSL, импортированного на виртуальную машину.

    Есть несколько способов получить это значение отпечатка, из которых некоторые удобнее других. При копировании из оснастки "Сертификаты " в MMC вы, вероятно, выберете невидимый ведущий символ , как описано в этой статье поддержки, что приводит к ошибке при попытке подключения. Для этой проблемы существует несколько обходных решений. Самый простой способ — это стереть клавишей BACKSPACE, а затем повторно ввести первый знак отпечатка, чтобы удалить начальный знак в поле значения ключа в редакторе реестра. Также для копирования отпечатка можно воспользоваться другим инструментом.

  3. Предоставьте разрешения учетной записи службы.

    Убедитесь, что учетной записи службы SQL Server предоставлено необходимое разрешение для закрытого ключа TLS/SSL-сертификата. Если вы пропустите этот шаг, SQL Server не запустится. Для выполнения этой задачи можно использовать оснастку сертификатов или инструмент CertUtils.

  4. Перезапустите службу SQL Server.

Подключение к SQL Server

После настройки зашифрованного подключения, необходимого для поиска ИИ Azure, вы подключитесь к экземпляру через общедоступную конечную точку. В следующей статье описываются требования к подключению и синтаксис:

Настройка группы безопасности сети

Нестандартно настроить группу безопасности сети и соответствующую конечную точку Azure или список контроль доступа (ACL), чтобы сделать виртуальную машину Azure доступной для других сторон. Есть вероятность, что вы уже выполнили эту настройку, чтобы разрешить логике своего приложения подключаться к виртуальной машине SQL Azure. Это не отличается для подключения поиска ИИ Azure к виртуальной машине SQL Azure.

Приведенные ниже ссылки содержат инструкции по настройке групп безопасности сети для развертывания виртуальной машины. Используйте эти инструкции для ACL конечной точки службы поиска на основе IP-адреса.

  1. Получите IP-адрес службы поиска. Инструкции см. в следующем разделе .

  2. Добавьте IP-адрес поиска в список IP-фильтров группы безопасности. В одной из следующих статей описаны действия.

IP-адресация может представлять несколько проблем, которые легко преодолеваются, если вы знаете о проблеме и потенциальных обходных решениях. В дальнейших разделах приводятся рекомендации по устранению проблем, связанных с IP-адресами в списке управления доступом.

Настоятельно рекомендуется ограничить доступ к IP-адресу службы поиска и диапазону IP-адресов тега AzureCognitiveSearch службы в ACL, а не открывать виртуальные машины SQL Azure для всех запросов на подключение.

Вы можете узнать этот IP-адрес, выполнив проверку связи с полным доменным именем (например, <your-search-service-name>.search.windows.net) своей службы поиска. Хотя IP-адрес службы поиска может измениться, вряд ли это изменится. В течение времени существования службы, как правило, используется статический IP-адрес.

Вы можете узнать диапазон IP-адресов тега службы с помощью скачиваемых JSON-файлов или API обнаружения тегов AzureCognitiveSearchслужбы. Диапазон IP-адресов обновляется еженедельно.

Включение IP-адресов портала поиска ИИ Azure

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

Чтобы получить IP-адрес портала, проверьте связь с stamp2.ext.search.windows.net. Это домен диспетчера трафика. Время ожидания запроса истекает, но IP-адрес будет отображаться в сообщении о состоянии. Например, в сообщении "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48], IP-адрес — "52.252.175.48".

Кластеры в разных регионах подключаются к различным диспетчерам трафика. Независимо от доменного имени, IP-адрес, возвращенный после проверки связи, необходимо использовать при определении правила брандмауэра для входящего трафика портала Azure в вашем регионе.

Следующие шаги

После настройки теперь можно указать SQL Server на виртуальной машине Azure в качестве источника данных для индексатора поиска ИИ Azure. Дополнительные сведения см. в статье "Индексирование данных из SQL Azure".