Azure Data Studio — łączność platformy Azure

Domyślnie usługa Azure Data Studio używa biblioteki Microsoft Authentication Library (MSAL), aby uzyskać token dostępu z identyfikatora Entra firmy Microsoft. Omówiono ustawienia dotyczące uwierzytelniania firmy Microsoft Entra wraz z często obserwowanymi problemami i ich rozwiązaniami.

Uwaga

Chociaż identyfikator Entra firmy Microsoft jest nową nazwą usługi Azure Active Directory (Azure AD), aby zapobiec zakłócaniu działania istniejących środowisk, usługa Azure AD nadal pozostaje w niektórych zakodowanych na stałe elementach, takich jak pola interfejsu użytkownika, dostawcy połączeń, kody błędów i polecenia cmdlet. W tym artykule dwie nazwy są wymienne.

Azure: biblioteka uwierzytelniania

To ustawienie jest dostępne tylko w programie Azure Data Studio 1.41 do 1.45. Nie jest już dostępna w programie Azure Data Studio 1.46 i nowszych wersjach.

To ustawienie steruje biblioteką uwierzytelniania używaną przez program Azure Data Studio podczas dodawania konta Microsoft Entra. Biblioteka Microsoft Authentication Library (MSAL) oferuje usługi uwierzytelniania i autoryzacji przy użyciu standardowych implementacji protokołu OAuth 2.0 i openID Połączenie (OIDC) 1.0. Przeczytaj więcej na temat biblioteki Microsoft Authentication Library (MSAL). W programie Azure Data Studio 1.46 i nowszych wersjach biblioteka MSAL jest jedyną używaną biblioteką, ponieważ biblioteka ADAL (Biblioteka uwierzytelniania usługi Active Directory) jest przestarzała.

Metoda uwierzytelniania platformy Azure

Usługa Azure Data Studio obsługuje uwierzytelnianie wieloskładnikowe firmy Microsoft (MFA) przy użyciu następujących trybów:

  • Korzystanie z uwierzytelniania przy udzielaniu kodu (domyślnie włączone)
  • Korzystanie z uwierzytelniania za pomocą kodu urządzenia

Uwierzytelnianie kont platformy > Azure > : udzielanie kodu

Settings.json

"accounts.azure.auth.codeGrant": true

Screenshot of Azure authentication Code Grant option.

Po zaznaczeniu metody udzielania kodu użytkownicy są monitowani o uwierzytelnienie przy użyciu uwierzytelniania opartego na przeglądarce. Ta opcja jest domyślnie włączona.

> Uwierzytelnianie kont platformy Azure>: kod urządzenia

Settings.json

"accounts.azure.auth.deviceCode": true

Screenshot of Azure authentication Device Code option.

Po włączeniu metody kod urządzenia użytkownicy otrzymują kod i adres URL, który może następnie służyć do logowania.

Po zaznaczeniu obu opcji użytkownicy są monitowani o wybranie jednego z dwóch trybów uwierzytelniania podczas dodawania konta Microsoft Entra.

Konfiguracja chmury platformy Azure

Usługa Azure Data Studio obsługuje uwierzytelnianie w usłudze Microsoft Entra za pomocą chmur krajowych. Chmura publiczna platformy Azure jest domyślnie włączona, ale użytkownicy mogą w razie potrzeby włączyć inne chmury krajowe:

Settings.json

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

Screenshot of Azure authentication National Clouds.

Niestandardowe punkty końcowe w chmurze można również zdefiniować. Zobacz Konfigurowanie niestandardowych punktów końcowych chmury.

Konfiguracja zasobów platformy Azure

Te ustawienia stosują filtry w zasobach i dzierżawach platformy Azure.

  • Filtr konfiguracji zasobów: stosuje filtr dołączania do zasobów, które powinny być wyświetlane.
  • Filtr konfiguracji dzierżawy: stosuje filtr wykluczeń do dzierżaw, które powinny być ignorowane.

Settings.json

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

Screenshot of Azure authentication resource configuration options.

Konfiguracja serwera proxy na potrzeby uwierzytelniania w usłudze Microsoft Entra

W przypadku korzystania z narzędzia Azure Data Studio za serwerem proxy użytkownicy muszą określić ustawienia serwera proxy dla programu Azure Data Studio w celu komunikowania się z zewnętrznymi punktami końcowymi. Istnieją dwa sposoby udostępniania ustawień serwera proxy dla programu Azure Data Studio do użycia:

  • Ustawianie konfiguracji serwera proxy w narzędziu Azure Data Studio (Ustawienia > Http: serwer proxy Ustawienia)
  • Ustawianie zmiennych środowiskowych dla konfiguracji serwera proxy

Ustawienia usługi Azure Data Studio mają pierwszeństwo przed zmiennymi środowiskowymi.

Ustawienia serwera proxy usługi Azure Data Studio

W narzędziu Azure Data Studio są dostępne następujące ustawienia:

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.

Obsługiwane zmienne środowiskowe dla serwera proxy

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

Adresy URL listy dozwolonych

W środowisku proxy aplikacje użytkowników mogą wymagać zezwolenia na określone domeny używane przez program Azure Data Studio. Nazwy hostów, za pomocą których może być konieczne lub chcesz zezwolić na komunikację:

Publiczna platforma Azure

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

Azure (instytucje rządowe USA)

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

Platforma Azure obsługiwana przez firmę 21Vianet

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

Adresy URL, które mają być dozwolone, mogą czasami się różnić w zależności od wielkości liter. Aby sprawdzić, czy nie blokujesz przechodzenia żadnych adresów URL, przejdź do pozycji Pomoc > Przełącz narzędzia deweloperskie i wybierz kartę Sieć . Wszystkie zablokowane adresy URL są wyświetlane i może być konieczne zezwolenie tym adresom URL na pomyślne dodanie konta.

Konfigurowanie niestandardowych punktów końcowych chmury

Program Azure Data Studio 1.46 wprowadza obsługę dodawania niestandardowych punktów końcowych dla chmur niepublikacyjnych.

Dodawanie niestandardowych punktów końcowych chmury

Otwórz Ustawienia w narzędziu Azure Data Studio (Ctrl/Cmd + Shift + P) i wprowadź polecenie Azure: Niestandardowy dostawca Ustawienia, a następnie wybierz pozycję Edytuj w pliku settings.json, co spowoduje automatyczne otwarcie settings.json pliku i dodanie azure.customProviderSettings:

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

Aby punkt końcowy działał, wymagane są następujące wpisy:

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

Przykładowy wpis JSON dla jednego dostawcy jest przedstawiony jako przewodnik:

"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"
                }
            }
        }
    }
]

Po dodaniu punktu końcowego zapisz settings.json plik. Narzędzie Azure Data Studio powiadamia o ponownym załadowaniu aplikacji. Po ponownym załadowaniu otrzymasz powiadomienie o załadowaniu niestandardowych punktów końcowych:

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

Jeśli ten komunikat nie zostanie wyświetlony, sprawdź, czy wszystkie wpisy punktu końcowego istnieją i zostały wypełnione.

Po dodaniu chmury niestandardowej otwórz okienko Połączone konta platformy Azure, a zostanie wyświetlony niestandardowy widok chmury. Wybierz pozycję Dodaj konto i wybierz tryb uwierzytelniania, jeśli zostanie wyświetlony monit. Przejście do punktu końcowego hosta w celu uwierzytelnienia.

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

Wielu niestandardowych dostawców usług w chmurze

Do pliku można dodać settings.json dodatkowych dostawców usług w chmurze przy użyciu tego samego formatu.

"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"
                }
            }
        }
    }
]

Typowe problemy z uwierzytelnianiem

Omówiono możliwe problemy i rozwiązania podczas dodawania konta platformy Azure.

Problem: Błąd SSL na stronie localhost (ERR_SSL_PROTOCOL_ERROR)

Użytkownicy mogą zobaczyć błąd SSL podczas logowania się do swojego konta. Ten przepływ otwiera zewnętrzną stronę internetową w witrynie localhost, zazwyczaj monitując użytkowników o zalogowanie się za pośrednictwem standardowych monitów uwierzytelniania firmy Microsoft. Adres URL tej strony wygląda podobnie do następującego: http://localhost:50055/signin?nonce=...

Niektóre przeglądarki można skonfigurować tak, aby automatycznie przekierowywać wszystkie http linki do httpsprogramu , co powoduje przerwanie tego procesu, ponieważ serwer lokalny obsługujący stronę internetową nie obsługuje protokołu HTTPS. Jeśli link na pasku adresu zaczyna się od https, zostanie wyświetlony błąd SSL i strona nie może załadować. W takim przypadku obejścia wymienione tutaj mogą rozwiązać problem.

Zmień adres URL na http

Najpierw ręcznie zmień adres URL z https:// na http://. Przeglądarka może zmienić ją z powrotem na https, w tym przypadku konieczne jest wypróbowanie innej opcji.

Wyłączanie hsTS (HTTP Strict Transport Security)

W przypadku przeglądarek Edge/Chrome można wyłączyć usługę HSTS dla hosta lokalnego.

  1. Otwórz przeglądarkę Edge/Chrome i na pasku adresu wpisz edge://net-internals/#hsts (lub chrome://net-internals/#hsts dla przeglądarki Chrome).
  2. Przewiń do dołu strony i w Delete domain security policies sekcji wprowadź localhost i naciśnij klawisz Delete.

Po zakończeniu powinno być możliwe zalogowanie się, a przeglądarka nie przekierowuje localhost linków automatycznie do httpsusługi .

Problem: Nie można dodać konta za serwerem proxy

Jeśli aplikacja użytkownika jest uruchomiona w środowisku za serwerem proxy, uwierzytelnianie użytkownika może nie zostać ukończone i te kroki mogą służyć do rozwiązania problemu.

  1. Ponownie sprawdź zmienne środowiskowe i ustawienia http.proxy w narzędziu Azure Data Studio. Jeśli serwer proxy wymaga uwierzytelniania użytkownika, podanie nazwy użytkownika/hasła w adresie URL http.proxy może rozwiązać problemy z uwierzytelnianiem. W przeciwnym razie program Azure Data Studio nie może odczytać poświadczeń zalogowanego użytkownika. Alternatywnie możesz spróbować uruchomić narzędzie Azure Data Studio jako inny użytkownik, ponieważ może pomóc rozwiązać problemy z uwierzytelnianiem serwera proxy. Jednak ten ostatni działa tylko w niektórych scenariuszach.

  2. Adresy URL dozwolone mogą się różnić w zależności od wielkości liter. Aby sprawdzić, czy nie blokujesz przechodzenia żadnych adresów URL, przejdź do pozycji Pomoc > Przełącz narzędzia deweloperskie i wybierz kartę Sieć . W tym miejscu zobaczysz wszystkie adresy URL, które są blokowane, może być konieczne zezwolenie na pomyślne dodanie konta.

  3. Usuń zaznaczenie pola Http: Serwer proxy Strict SSL. Istnieje możliwość, że certyfikat serwera proxy nie jest weryfikowalny względem listy zaufanych urzędów certyfikacji. Wyłączenie ścisłego protokołu SSL może wykluczyć certyfikat serwera proxy jako problem.

Aby zakończyć:

Jako aplikacja międzyplatformowa rozpoznawanie serwera proxy usługi Azure Data Studio pobiera serwer proxy z ustawienia w aplikacji lub za pośrednictwem zmiennych środowiskowych. Celem jest uniknięcie interakcji z ustawieniami systemu, które mogą się znacznie różnić w różnych systemach operacyjnych.

Problem: rozszerzenie Azure Core jest wyłączone

Rozszerzenie Azure Core to wbudowane rozszerzenie w narzędziu Azure Data Studio. Upewnij się, że nie został on przypadkowo wyłączony lub odinstalowany. To rozszerzenie jest wymagane do uwierzytelniania kont entra firmy Microsoft i nawiązywania połączenia z zasobami przy użyciu uwierzytelniania wieloskładnikowego.

Screenshot of built-in Azure Core extension.

Problem: Certyfikaty urzędu certyfikacji systemu wygasły

Domyślne zachowanie usługi Azure Data Studio obejmuje weryfikowanie certyfikatów głównego urzędu certyfikacji systemu podczas wykonywania wywołań interfejsu API REST przy użyciu protokołu HTTPS. Walidacja jest kontrolowana za pomocą http:systemCertificates ustawienia, które jest domyślnie włączone:

Screenshot of system certificates setting.

"http.systemCertificates": true

Jeśli certyfikat głównego urzędu certyfikacji systemu wygasł, żądania uwierzytelniania do identyfikatora Entra firmy Microsoft kończą się niepowodzeniem i w dziennikach konta platformy Azure zostanie przechwycony błąd:

error: certificate is expired

Aby wyeliminować ten błąd, należy usunąć wszystkie wygasłe certyfikaty głównego urzędu certyfikacji lub wyłączyć ustawienie, aby nie weryfikować certyfikatów systemowych.

Przechwytywanie dzienników uwierzytelniania platformy Azure

Usługa Azure Data Studio domyślnie przechwytuje zdarzenia błędów dla działania konta Entra firmy Microsoft. Aby włączyć bardziej szczegółowe ślady, użytkownicy mogą modyfikować następujące ustawienia:

Azure: poziom rejestrowania

To ustawienie umożliwia skonfigurowanie poziomu rejestrowania informacji z rdzenia platformy Azure, który można przechwycić w narzędziu Azure Data Studio. Zmień ją na Pełne lub Wszystkie , aby przechwycić szczegółowe dzienniki, które mogą być przydatne do diagnozowania błędów uwierzytelniania. Aby uzyskać więcej informacji, zobacz Dzienniki i lokalizacja usługi Azure Data Studio, aby dowiedzieć się, jak przechwytywać informacje rejestrowania.

Settings.json

"azure.loggingLevel": "Verbose"

Screenshot of Azure authentication logging Level configuration.

Azure: rejestrowanie danych pii

Użytkownicy mogą włączyć rejestrowanie danych osobowych (dane osobowe) na potrzeby lokalnego testowania i debugowania. To ustawienie umożliwia dokładniejsze rejestrowanie procesu uwierzytelniania, ale może zawierać poufne informacje, takie jak tokeny dostępu lub identyfikatory użytkowników podczas uwierzytelniania przy użyciu identyfikatora Entra firmy Microsoft. Ponieważ to rejestrowanie przechwytuje poufne informacje, zaleca się:

  • Nie udostępniaj tych dzienników nikomu innemu, zwłaszcza podczas dodawania dzienników do problemów z usługą GitHub
  • Wyłącz ustawienie po zebraniu niezbędnych informacji
  • Usuwanie plików dziennika po wyłączeniu ustawienia

Settings.json

"azure.piiLogging": true

Screenshot of Azure authentication PII logging option.

Azure: brak łańcucha kluczy systemowych

To ustawienie wyłącza integrację łańcucha kluczy systemowych, aby zapobiec powtarzającym się monitom o dostęp pęku kluczy w systemie macOS. Poświadczenia użytkownika są alternatywnie przechowywane w pliku prostym w katalogu głównym użytkownika.

Settings.json

"azure.noSystemKeychain": true

Screenshot of Azure authentication keychain configuration.

Wyczyść pamięć podręczną tokenu konta entra firmy Microsoft

Usługa Azure Data Studio przechowuje pamięć podręczną tokenów dostępu, aby zapobiec ograniczaniu żądań tokenów do identyfikatora Entra firmy Microsoft. Istnieje możliwość, że pamięć podręczna tokenów usługi Azure Data Studio może być nieaktualna, co wymaga czyszczenia wygasłych tokenów dostępu z pamięci podręcznej aplikacji.

Wykonaj to polecenie z palety poleceń (Ctrl/CMD + Shift + P), aby wyczyścić tokeny dostępu dla połączonych kont Microsoft Entra:

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

Wyczyść wszystkie zapisane konta Microsoft Entra

Wykonaj to polecenie z palety poleceń (Ctrl/CMD + Shift + P), aby usunąć wszystkie połączone konta Microsoft Entra z usługi Azure Data Studio:

Wyczyść wszystkie zapisane konta (clearSavedAccounts)