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 Connect (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
При проверке метода предоставления кода пользователям предлагается пройти проверку подлинности с помощью проверки подлинности на основе браузера. Этот параметр по умолчанию включен.
Учетные > записи Azure > Auth: код устройства
Settings.json
"accounts.azure.auth.deviceCode": true
Если включен метод 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
Также можно определить пользовательские облачные конечные точки. См. статью "Настройка пользовательских облачных конечных точек".
Конфигурация ресурсов Azure
Эти параметры применяют фильтры к ресурсам и клиентам Azure.
- Фильтр конфигурации ресурсов: применяет фильтр включения к ресурсам, которые должны отображаться.
- Фильтр конфигурации клиента: применяет фильтр исключения к клиентам, которые следует игнорировать.
Settings.json
"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
"313b5f9e-9b92-414c-8d87-a317e42d0222"
]
Настройка прокси-сервера для проверки подлинности 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"
Поддерживаемые переменные среды для прокси-сервера
'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
:
Для работы конечной точки требуются следующие записи:
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 уведомляет вас о перезагрузке приложения. После перезагрузки вы получите уведомление о загрузке пользовательских конечных точек:
Если это сообщение не отображается, убедитесь, что все записи для конечной точки существуют и заполнены.
После добавления настраиваемого облака откройте область связанных учетных записей Azure и появится пользовательский модуль просмотра облака. Выберите "Добавить учетную запись " и выберите режим проверки подлинности при появлении запроса. Для проверки подлинности вы перейдете в конечную точку узла.
Несколько пользовательских поставщиков облачных служб
Дополнительные поставщики облачных служб можно добавить в 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.
- Откройте Edge или Chrome и в адресной строке введите
edge://net-internals/#hsts
(илиchrome://net-internals/#hsts
для Chrome). - Прокрутите страницу до нижней части страницы и в
Delete domain security policies
разделе, введитеlocalhost
и нажмите клавишуDelete
.
После завершения работы вы сможете войти в систему и не перенаправить localhost
ссылки автоматически https
.
Проблема. Не удается добавить учетную запись за прокси-сервером
Если пользовательское приложение работает в среде прокси-сервера, проверка подлинности пользователя может завершиться, и эти действия можно использовать для устранения проблемы.
Повторно проверьте переменные среды и параметры http.proxy в Azure Data Studio. Если прокси-сервер требует проверки подлинности пользователя, предоставление имени пользователя или пароля в URL-адресе http.proxy может устранить проблемы с проверкой подлинности. В противном случае Azure Data Studio не может считывать учетные данные пользователя, вошедшего в систему. Кроме того, вы можете попробовать запустить Azure Data Studio в качестве другого пользователя, так как это может помочь устранить проблемы проверки подлинности с прокси-сервером. Однако последний работает только для некоторых сценариев.
URL-адреса, которые можно разрешить, могут различаться по регистру. Чтобы убедиться, что вы не блокируете просмотр URL-адресов, перейдите на вкладку "Справка > разработчика " и перейдите на вкладку "Сеть ". Здесь вы увидите все URL-адреса, которые блокируются, что может потребоваться разрешить успешно добавить учетную запись.
Снимите флажок HTTP: прокси-сервер строгого SSL. Возможно, что сертификат прокси-сервера не проверяется в списке доверенных ЦС. Отключение Строгого SSL-сертификата может исключить прокси-сертификат в качестве проблемы.
Чтобы завершить:
В качестве кроссплатформенного приложения разрешение прокси-сервера Azure Data Studio получает прокси-сервер из параметра в приложении или через переменные среды. Цель состоит в том, чтобы избежать взаимодействия с параметрами системы, которые могут значительно отличаться в разных операционных системах.
Проблема: расширение Azure Core отключено
Расширение Azure Core — это встроенное расширение в Azure Data Studio. Убедитесь, что он не отключен или удален случайно. Это расширение необходимо для проверки подлинности учетных записей Microsoft Entra и подключения к ресурсам с помощью MFA.
Проблема. Срок действия сертификатов ЦС системы истекает
Поведение azure Data Studio по умолчанию включает проверку корневых сертификатов ЦС системы при выполнении вызовов REST API с помощью протокола HTTPS. Проверка управляется параметром http:systemCertificates
, который включен по умолчанию:
"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"
Azure: ведение журнала PII
Пользователи могут включить ведение журнала персональных данных (личная информация) для локального тестирования и отладки. Этот параметр позволяет более тщательно ведения журнала процесса проверки подлинности, но может содержать конфиденциальные сведения, такие как маркеры доступа или идентификаторы пользователей при проверке подлинности с помощью идентификатора Microsoft Entra. Так как это ведение журнала записывает конфиденциальную информацию, рекомендуется:
- Не совместное использование этих журналов с другими пользователями, особенно при добавлении журналов в GitHub
- Отключите параметр после сбора необходимых сведений
- Удаление файлов журнала после отключения параметра
Settings.json
"azure.piiLogging": true
Azure: нет системной цепочки ключей
Этот параметр отключает интеграцию с цепочкой ключей системы, чтобы предотвратить повторные запросы доступа к цепочке ключей в macOS. Учетные данные пользователя также хранятся в неструктурированном файле в домашнем каталоге пользователя.
Settings.json
"azure.noSystemKeychain": true
Очистка кэша маркеров учетных записей 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)