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

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

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

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

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

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

Примечание.

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

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

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

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

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

    Полное доменное имя обычно форматируется как <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, подключитесь к экземпляру через общедоступную конечную точку. В следующей статье описываются требования к подключению и синтаксис:

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

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

Ниже приведены инструкции по настройке NSG для развертываний виртуальных машин. Используйте эти инструкции для 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 в вашем регионе.

Дополнение сетевой безопасности с проверкой подлинности маркеров

Брандмауэры и сетевая безопасность являются первым шагом в предотвращении несанкционированного доступа к данным и операциям. Авторизация должна быть следующим шагом.

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

Если вам не нужна проверка подлинности на основе ключей, рекомендуется отключить ключи API и использовать назначения ролей исключительно.

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

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