Azure Data Studio — подключение к Azure

Azure Data Studio использует библиотеку проверки подлинности Майкрософт (MSAL) по умолчанию для получения маркера доступа из идентификатора Microsoft Entra. Параметры, применяемые к проверке подлинности Microsoft Entra, рассматриваются вместе с распространенными проблемами и их решениями.

Примечание.

Хотя идентификатор Microsoft Entra — это новое имя Azure Active Directory (Azure AD), чтобы предотвратить нарушение существующих сред, Azure AD по-прежнему остается в некоторых жестко закодированных элементах, таких как поля пользовательского интерфейса, поставщики подключений, коды ошибок и командлеты. В этой статье два имени являются взаимозаменяемыми.

Azure: библиотека проверки подлинности

Этот параметр доступен только в Azure Data Studio 1.41–1.45. Она больше не доступна в Azure Data Studio 1.46 и более поздних версиях.

Этот параметр управляет библиотекой проверки подлинности, используемой Azure Data Studio при добавлении учетной записи Microsoft Entra. Библиотека проверки подлинности Майкрософт (MSAL) предлагает службы проверки подлинности и авторизации с использованием стандартных реализаций OAuth 2.0 и OpenID Подключение (OIDC) 1.0. Дополнительные сведения о библиотеке проверки подлинности Майкрософт (MSAL). В Azure Data Studio 1.46 и более поздних версиях MSAL — это единственная библиотека, используемая как ADAL (библиотека проверки подлинности Active Directory) устарела.

Метод проверки подлинности Azure

Azure Data Studio поддерживает многофакторную проверку подлинности Microsoft Entra (MFA) с помощью следующих режимов:

  • Использование проверки подлинности предоставления кода (включена по умолчанию)
  • Использование проверки подлинности кода устройства

Учетные > записи Azure > Auth: предоставление кода

Settings.json

"accounts.azure.auth.codeGrant": true

Screenshot of Azure authentication Code Grant option.

Когда метод предоставления кода проверка, пользователям предлагается пройти проверку подлинности с помощью проверки подлинности на основе браузера. Этот параметр по умолчанию включен.

Учетные > записи Azure > Auth: код устройства

Settings.json

"accounts.azure.auth.deviceCode": true

Screenshot of Azure authentication Device Code option.

Если включен метод Device Code, пользователи предоставляют код и URL-адрес, который затем можно использовать для входа.

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

Конфигурация облака Azure

Azure Data Studio поддерживает проверку подлинности Microsoft Entra с национальными облаками. Общедоступное облако Azure включено по умолчанию, но пользователи могут включить другие национальные облака по мере необходимости:

Settings.json

"accounts.azure.cloud.enableChinaCloud": false,
"accounts.azure.cloud.enablePublicCloud": true,
"accounts.azure.cloud.enableUsGovCloud": false

Screenshot of Azure authentication National Clouds.

Также можно определить пользовательские облачные конечные точки. См. статью "Настройка пользовательских облачных конечных точек".

Конфигурация ресурсов Azure

Эти параметры применяют фильтры к ресурсам и клиентам Azure.

  • Фильтр конфигурации ресурсов: применяет фильтр включения к ресурсам, которые должны отображаться.
  • Фильтр конфигурации клиента: применяет фильтр исключения к клиентам, которые следует игнорировать.

Settings.json

"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
    "313b5f9e-9b92-414c-8d87-a317e42d0222"
]

Screenshot of Azure authentication resource configuration options.

Настройка прокси-сервера для проверки подлинности Microsoft Entra

При использовании Azure Data Studio за прокси-сервером пользователи должны указать параметры прокси-сервера для взаимодействия с внешними конечными точками Azure Data Studio. Существует два способа предоставления параметров прокси-сервера для использования Azure Data Studio.

  • Настройка конфигурации прокси-сервера в Azure Data Studio (Параметры Http: прокси-сервер > Параметры)
  • Настройка переменных среды для конфигурации прокси-сервера

Параметры Azure Data Studio имеют приоритет над переменными среды.

Параметры прокси-сервера Azure Data Studio

В Azure Data Studio доступны следующие параметры:

Settings.json

"http.proxy": "https://userName@fqdn:yourPassword@yourProxyURL.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": "",
"http.proxySupport" : "override"

Screenshot of Azure authentication proxy settings.

Поддерживаемые переменные среды для прокси-сервера

  • 'HTTP_PROXY': 'http://userName@fqdn:yourPassword@yourProxyURL.com:8080'
  • 'HTTPS_PROXY': 'https://userName@fqdn:yourPassword@yourProxyURL.com:8080'

URL-адреса списка разрешений

В прокси-среде пользовательские приложения могут разрешать определенные домены, используемые Azure Data Studio. Имена узлов, с помощью которых может потребоваться или хотите разрешить обмен данными:

Azure Public

  • https://management.azure.com
  • https://login.microsoftonline.com/

Azure (правительство США)

  • https://management.core.usgovcloudapi.net/
  • https://login.microsoftonline.us/

Azure, управляемый 21Vianet

  • https://management.core.chinacloudapi.cn/
  • https://login.partner.microsoftonline.cn/

URL-адреса, которые можно разрешить, иногда могут различаться по регистру. Чтобы убедиться, что вы не блокируете просмотр URL-адресов, перейдите к разделу "Справка > по переключениям средств разработчика" и выберите вкладку "Сеть ". Все заблокированные URL-адреса перечислены, и может потребоваться разрешить эти URL-адреса успешно добавить свою учетную запись.

Настройка пользовательских облачных конечных точек

Azure Data Studio 1.46 предоставляет поддержку добавления пользовательских конечных точек для неопубликованных облаков.

Добавление пользовательских облачных конечных точек

Откройте Параметры в Azure Data Studio (CTRL/CMD+SHIFT+P) и введите Azure: настраиваемый поставщик Параметры, а затем выберите "Изменить в settings.json", который открывает settings.json файл автоматически и добавляетazure.customProviderSettings:

Screenshot of azure.customProviderSettings added to settings.json file.

Для работы конечной точки требуются следующие записи:

  • host
  • clientId
  • scopes
  • sqlResource
  • microsoftResource
  • armResource
  • graphResource
  • azureStorageResource

Пример записи JSON для одного поставщика представлен в виде руководства.

"azure.customProviderSettings": [
    {
        "name": "Azure Custom",
        "settings": {
            "metadata": {
                "displayName": "Azure Custom Cloud",
                "id": "azure_customCloud",
                "endpoints": {
                    "host": "https://hostendpoint.com/",
                    "clientId": "test",
                    "microsoftResource": "https://microsoftresource.com/",
                    "graphResource": "https://graphresource.com/",
                    "msGraphResource": "https://msgraphresource.com/",
                    "armResource": "https://armresource.com/",
                    "sqlResource": "https://sqlresource.net/",
                    "azureKeyVaultResource": "https://azurekeyvault.net/",
                    "azureLogAnalyticsResource": "https://azure.loganalytic.io/",
                    "azureStorageResource": {
                        "endpoint": "",
                        "endpointSuffix": ".azurestorage.net/"
                    },
                    "azureKustoResource": "https://kusto.net/",
                    "powerBiResource": "https://powerbi.net/",
                    "scopes": "https://management.net/scopes",
                    "portalEndpoint": "https://portal.azure.com"
                }
            }
        }
    }
]

После добавления конечной точки сохраните settings.json файл. Azure Data Studio уведомляет вас о перезагрузке приложения. После перезагрузки вы получите уведомление о загрузке пользовательских конечных точек:

Screenshot after reloading Azure Data Studio indicating custom endpoints have been loaded.

Если это сообщение не отображается, проверка, что все записи для конечной точки существуют и заполняются.

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

Screenshot of a custom cloud provider in the Azure accounts pane.

Несколько пользовательских поставщиков облачных служб

Дополнительные поставщики облачных служб можно добавить в settings.json файл с помощью того же формата.

"azure.customProviderSettings": [
    {
        "name": "Azure Custom",
        "settings": {
            "metadata": {
                "displayName": "Azure Custom Cloud",
                "id": "azure_customCloud",
                "endpoints": {
                    "host": "https://hostendpoint.com/",
                    "clientId": "test",
                    "microsoftResource": "https://microsoftresource.com/",
                    "graphResource": "https://graphresource.com/",
                    "msGraphResource": "https://msgraphresource.com/",
                    "armResource": "https://armresource.com/",
                    "sqlResource": "https://sqlresource.net/",
                    "azureKeyVaultResource": "https://azurekeyvault.net/",
                    "azureLogAnalyticsResource": "https://azure.loganalytic.io/",
                    "azureStorageResource": {
                        "endpoint": "",
                        "endpointSuffix": ".azurestorage.net/"
                    },
                    "azureKustoResource": "https://kusto.net/",
                    "powerBiResource": "https://powerbi.net/",
                    "scopes": "https://management.net/scopes",
                    "portalEndpoint": "https://portal.azure.com"
                }
            }
        }
    },
    {
        "name": "Azure Custom 2",
        "settings": {
            "metadata": {
                "displayName": "Azure Custom Cloud 2",
                "id": "azure_customCloud2",
                "endpoints": {
                    "host": "https://hostendpoint.com/",
                    "clientId": "test",
                    "microsoftResource": "https://microsoftresource.com/",
                    "graphResource": "https://graphresource.com/",
                    "msGraphResource": "https://msgraphresource.com/",
                    "armResource": "https://armresource.com/",
                    "sqlResource": "https://sqlresource.net/",
                    "azureKeyVaultResource": "https://azurekeyvault.net/",
                    "azureLogAnalyticsResource": "https://azure.loganalytic.io/",
                    "azureStorageResource": {
                        "endpoint": "",
                        "endpointSuffix": ".azurestorage.net/"
                    },
                    "azureKustoResource": "https://kusto.net/",
                    "powerBiResource": "https://powerbi.net/",
                    "scopes": "https://management.net/scopes",
                    "portalEndpoint": "https://portal.azure.com"
                }
            }
        }
    }
]

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

Обсуждаются возможные проблемы и решения при добавлении учетной записи Azure.

Проблема: ошибка SSL на странице localhost (ERR_SSL_PROTOCOL_ERROR)

При входе в учетную запись пользователи могут столкнуться с ошибкой SSL. Этот поток открывает внешнюю веб-страницу localhost, чтобы пользователи обычно запрашивали вход с помощью стандартных запросов проверки подлинности Майкрософт. URL-адрес этой страницы выглядит примерно так: http://localhost:50055/signin?nonce=...

Некоторые браузеры могут быть настроены для автоматического перенаправления всех http ссылок https, на которые прерывается этот процесс, так как локальный сервер, обслуживающий веб-страницу, не поддерживает https. Если ссылка в адресной строке начинается с https, вы получите ошибку SSL и страницу не удается загрузить. В этом случае обходные пути, перечисленные здесь, могут устранить проблему.

Изменение URL-адреса на http

Сначала вручную измените URL-адрес на https://http://. Браузер может изменить его обратно на https, в этом случае необходимо попробовать другой вариант.

Отключение HSTS (HTTP Strict Transport Security)

Для браузеров Edge и Chrome можно отключить HSTS для localhost.

  1. Откройте Edge или Chrome и в адресной строке введите edge://net-internals/#hsts (или chrome://net-internals/#hsts для Chrome).
  2. Прокрутите страницу до нижней части страницы и в Delete domain security policies разделе, введите localhost и нажмите клавишу Delete.

После завершения работы вы сможете войти в систему и не перенаправить localhost ссылки автоматически https.

Проблема. Не удается добавить учетную запись за прокси-сервером

Если пользовательское приложение работает в среде прокси-сервера, проверка подлинности пользователя может завершиться, и эти действия можно использовать для устранения проблемы.

  1. Повторно проверка переменные среды и параметры http.proxy в Azure Data Studio. Если прокси-сервер требует проверки подлинности пользователя, предоставление имени пользователя или пароля в URL-адресе http.proxy может устранить проблемы с проверкой подлинности. В противном случае Azure Data Studio не может считывать учетные данные пользователя, вошедшего в систему. Кроме того, вы можете попробовать запустить Azure Data Studio в качестве другого пользователя, так как это может помочь устранить проблемы проверки подлинности с прокси-сервером. Однако последний работает только для некоторых сценариев.

  2. URL-адреса, которые можно разрешить, могут различаться по регистру. Чтобы убедиться, что вы не блокируете просмотр URL-адресов, перейдите на вкладку "Справка > разработчика " и перейдите на вкладку "Сеть ". Здесь вы увидите все URL-адреса, которые блокируются, что может потребоваться разрешить успешно добавить учетную запись.

  3. Un проверка Http: Proxy Strict SSL. Возможно, что сертификат прокси-сервера не проверяется в списке доверенных ЦС. Отключение Строгого SSL-сертификата может исключить прокси-сертификат в качестве проблемы.

Чтобы завершить:

В качестве кроссплатформенного приложения разрешение прокси-сервера Azure Data Studio получает прокси-сервер из параметра в приложении или через переменные среды. Цель состоит в том, чтобы избежать взаимодействия с параметрами системы, которые могут значительно отличаться в разных операционных системах.

Проблема: расширение Azure Core отключено

Расширение Azure Core — это встроенное расширение в Azure Data Studio. Убедитесь, что он не отключен или удален случайно. Это расширение необходимо для проверки подлинности учетных записей Microsoft Entra и подключения к ресурсам с помощью MFA.

Screenshot of built-in Azure Core extension.

Проблема. Срок действия сертификатов ЦС системы истекает

Поведение azure Data Studio по умолчанию включает проверку корневых сертификатов ЦС системы при выполнении вызовов REST API с помощью протокола HTTPS. Проверка управляется параметром http:systemCertificates , который включен по умолчанию:

Screenshot of system certificates setting.

"http.systemCertificates": true

Если срок действия корневого ЦС системы истек, запросы проверки подлинности к идентификатору Microsoft Entra ID завершаются ошибкой, а в журналах учетных записей Azure возникает ошибка:

error: certificate is expired

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

Запись журналов для проверки подлинности Azure

Azure Data Studio записывает события ошибок для действия учетной записи Microsoft Entra по умолчанию. Чтобы включить более подробные трассировки, пользователи могут изменить следующие параметры:

Azure: уровень ведения журнала

Этот параметр настраивает уровень ведения журнала для сведений из ядра Azure, которые можно записать в Azure Data Studio. Измените его на подробные или все , чтобы записать подробные журналы, которые могут быть полезны для диагностики сбоев проверки подлинности. Дополнительные сведения см. в журналах и расположении Azure Data Studio, чтобы узнать, как записывать сведения о ведении журнала.

Settings.json

"azure.loggingLevel": "Verbose"

Screenshot of Azure authentication logging Level configuration.

Azure: ведение журнала PII

Пользователи могут включить ведение журнала персональных данных (личная информация) для локального тестирования и отладки. Этот параметр позволяет более тщательно ведения журнала процесса проверки подлинности, но может содержать конфиденциальные сведения, такие как маркеры доступа или идентификаторы пользователей при проверке подлинности с помощью идентификатора Microsoft Entra. Так как это ведение журнала записывает конфиденциальную информацию, рекомендуется:

  • Не совместное использование этих журналов с другими пользователями, особенно при добавлении журналов в GitHub
  • Отключите параметр после сбора необходимых сведений
  • Удаление файлов журнала после отключения параметра

Settings.json

"azure.piiLogging": true

Screenshot of Azure authentication PII logging option.

Azure: нет системных связка ключей

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

Settings.json

"azure.noSystemKeychain": true

Screenshot of Azure authentication keychain configuration.

Очистка кэша маркеров учетных записей Microsoft Entra

Azure Data Studio поддерживает кэш маркеров доступа, чтобы предотвратить регулирование запросов маркеров к идентификатору Microsoft Entra. Возможно, кэш маркеров Azure Data Studio может быть устаревшим, что требует очистки маркеров доступа с истекшим сроком действия из кэша приложений.

Выполните эту команду из палитры команд (CTRL/CMD+ SHIFT+P), чтобы очистить маркеры доступа для связанных учетных записей Microsoft Entra:

Azure Accounts: Clear Azure Account Token Cache (accounts.clearTokenCache)

Очистка всех сохраненных учетных записей Microsoft Entra

Выполните эту команду из палитры команд (CTRL/CMD+ SHIFT+P), чтобы удалить все связанные учетные записи Microsoft Entra из Azure Data Studio:

Очистка всех сохраненных учетных записей (clearSavedAccounts)