Azure Data Studio – Připojení k Azure

Azure Data Studio ve výchozím nastavení používá knihovnu MICROSOFT Authentication Library (MSAL) k získání přístupového tokenu z ID Microsoft Entra. O nastaveních, která platí pro ověřování Microsoft Entra, se probírají spolu s běžně pozorovanými problémy a jejich řešeními.

Poznámka:

I když je ID Microsoft Entra novým názvem služby Azure Active Directory (Azure AD), aby se zabránilo narušení existujících prostředí, azure AD stále zůstává v některých pevně zakódovaných prvcích, jako jsou pole uživatelského rozhraní, poskytovatelé připojení, kódy chyb a rutiny. V tomto článku jsou tyto dva názvy zaměnitelné.

Azure: Knihovna ověřování

Toto nastavení je dostupné jenom v Azure Data Studiu 1.41 až 1.45. Azure Data Studio 1.46 a novější verze už není k dispozici.

Toto nastavení řídí knihovnu ověřování používanou nástrojem Azure Data Studio při přidávání účtu Microsoft Entra. Knihovna MSAL (Microsoft Authentication Library) nabízí služby ověřování a autorizace s využitím standardních implementací OAuth 2.0 a OpenID Připojení (OIDC) 1.0. Přečtěte si další informace o knihovně Microsoft Authentication Library (MSAL). V Azure Data Studiu 1.46 a novějších verzích je knihovna MSAL jedinou knihovnou, protože knihovna ADAL (Active Directory Authentication Library) je zastaralá.

Metoda ověřování Azure

Azure Data Studio podporuje vícefaktorové ověřování Microsoft Entra (MFA) pomocí následujících režimů:

  • Použití ověřování udělení kódu (ve výchozím nastavení povoleno)
  • Použití ověřování pomocí kódu zařízení

Účty > Azure > Auth: Udělení kódu

Settings.json

"accounts.azure.auth.codeGrant": true

Screenshot of Azure authentication Code Grant option.

Při kontrole metody Udělení kódu se uživatelům zobrazí výzva k ověření pomocí ověřování na základě prohlížeče. Tato možnost je ve výchozím nastavení povolená.

Účty > Azure > Auth: Kód zařízení

Settings.json

"accounts.azure.auth.deviceCode": true

Screenshot of Azure authentication Device Code option.

Pokud je povolená metoda kódu zařízení, uživatelům se poskytne kód a adresa URL k zadání, která se pak dá použít k přihlášení.

Při zaškrtnutí obou možností se uživatelům při přidávání účtu Microsoft Entra zobrazí výzva k výběru jednoho ze dvou režimů ověřování.

Konfigurace cloudu Azure

Azure Data Studio podporuje ověřování Microsoft Entra s národními cloudy. Veřejný cloud Azure je ve výchozím nastavení povolený, ale uživatelé můžou podle potřeby povolit další národní cloudy:

Settings.json

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

Screenshot of Azure authentication National Clouds.

Můžete také definovat vlastní koncové body cloudu. Viz Konfigurace vlastních koncových bodů cloudu.

Konfigurace prostředků Azure

Tato nastavení používají filtry pro prostředky a tenanty Azure.

  • Filtr konfigurace prostředků: Použije filtr zahrnutí na prostředky, které by se měly zobrazit.
  • Filtr konfigurace tenanta: Použije filtr vyloučení pro tenanty, které by se měly ignorovat.

Settings.json

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

Screenshot of Azure authentication resource configuration options.

Nastavení proxy serveru pro ověřování Microsoft Entra

Pokud používáte Azure Data Studio za proxy serverem, musí uživatelé zadat nastavení proxy serveru pro Azure Data Studio, aby mohli komunikovat s externími koncovými body. Nastavení proxy serveru pro Azure Data Studio můžete použít dvěma způsoby:

  • Nastavení konfigurace proxy serveru v Nástroji Azure Data Studio (Nastavení > HTTP: Proxy Nastavení)
  • Nastavení proměnných prostředí pro konfiguraci proxy serveru

Nastavení nástroje Azure Data Studio má přednost před proměnnými prostředí.

Nastavení proxy serveru azure Data Studio

V nástroji Azure Data Studio jsou k dispozici následující nastavení:

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.

Podporované proměnné prostředí pro proxy server

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

Adresy URL seznamu povolených

V proxy prostředí můžou uživatelské aplikace potřebovat povolit konkrétní domény používané nástrojem Azure Data Studio. Názvy hostitelů, jejichž prostřednictvím možná budete potřebovat nebo chcete povolit komunikaci, jsou:

Azure Public

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

Azure (US Government)

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

Azure provozovaný společností 21Vianet

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

Adresy URL, které se mají povolit, se někdy můžou v jednotlivých případech lišit. Pokud chcete ověřit, že neblokujete průchod žádnými adresami URL, přejděte na Help Toggle Developer Tools (Přepnout vývojářské nástroje) > a vyberte kartu Síť. Všechny adresy URL, které jsou zablokované, jsou uvedené a možná budete muset povolit, aby tyto adresy URL úspěšně přidaly váš účet.

Konfigurace vlastních koncových bodů cloudu

Azure Data Studio 1.46 zavádí podporu přidávání vlastních koncových bodů pro nepublikované cloudy.

Přidání vlastních koncových bodů cloudu

Otevřete Nastavení v Azure Data Studiu (Ctrl/Cmd + Shift + P) a zadejte Azure: Vlastní poskytovatel Nastavení a pak vyberte Upravit v souboru settings.json, který soubor otevře settings.json automaticky a přidáazure.customProviderSettings:

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

Aby koncový bod fungoval, vyžadují se následující položky:

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

Příklad položky JSON pro jednoho zprostředkovatele se zobrazí jako průvodce:

"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 přidání koncového bodu soubor uložte settings.json . Azure Data Studio vás upozorní na opětovné načtení aplikace. Po opětovném načtení se zobrazí oznámení o načtení vlastních koncových bodů:

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

Pokud se tato zpráva nezobrazí, zkontrolujte, jestli existují všechny položky koncového bodu a že jsou vyplněné.

Po přidání vlastního cloudu otevřete podokno propojených účtů Azure a zobrazí se vlastní zobrazení cloudu. Vyberte Přidat účet a v případě výzvy zvolte režim ověřování. Budete přesměrováni do koncového bodu hostitele, který se má ověřit.

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

Několik vlastních poskytovatelů cloudu

Do souboru je možné přidat settings.json další poskytovatele cloudu pomocí stejného formátu.

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

Běžné problémy s ověřováním

Možné problémy a řešení při přidávání účtu Azure jsou popsány.

Problém: Chyba SSL na stránce localhost (ERR_SSL_PROTOCOL_ERROR)

Při přihlašování ke svému účtu se uživatelům může zobrazit chyba SSL. Tento tok otevře externí webovou stránku, která localhostobvykle vyzve uživatele, aby se přihlásili prostřednictvím standardních výzev k ověření Microsoftu. Adresa URL této stránky vypadá nějak takto: http://localhost:50055/signin?nonce=...

Některé prohlížeče můžou být nastavené tak, aby automaticky přesměrovály všechny http odkazy https, které tento proces přeruší, protože místní server obsluhující webovou stránku nepodporuje https. Pokud odkaz na panelu Adresa začíná https, zobrazí se chyba SSL a stránka se nenačte. V takovém případě můžou tato alternativní řešení tento problém vyřešit.

Změna adresy URL na http

Nejprve ručně změňte adresu URL z https:// na http://. Prohlížeč ho může změnit zpátky na https, v takovém případě je potřeba vyzkoušet jinou možnost.

Zákaz HSTS (striktní zabezpečení přenosu HTTP)

V prohlížečích Edge/Chrome můžete HSTS zakázat pro místního hostitele.

  1. Otevřete Edge nebo Chrome a na panelu Adresa zadejte edge://net-internals/#hsts (nebo chrome://net-internals/#hsts pro Chrome).
  2. Posuňte se do dolní části stránky a v oddílu Delete domain security policies , zadejte localhost a stiskněte Delete.

Po dokončení byste měli být schopni se přihlásit a nemáte localhost prohlížeč přesměrovávat odkazy automaticky na https.

Problém: Nejde přidat účet za proxy serverem

Pokud je uživatelská aplikace spuštěná v prostředí za proxy serverem, ověření uživatele se nemusí dokončit a tyto kroky je možné použít k vyřešení problému.

  1. Znovu zkontrolujte proměnné prostředí a nastavení http.proxy v Nástroji Azure Data Studio. Pokud proxy server vyžaduje ověření uživatele, poskytnutí uživatelského jména a hesla v adrese URL http.proxy může vyřešit problémy s ověřováním. V opačném případě Azure Data Studio nemůže číst přihlašovací údaje přihlášeného uživatele. Alternativně můžete zkusit spustit Azure Data Studio jako jiný uživatel, protože může pomoct vyřešit problémy s ověřováním proxy serveru. Druhá možnost ale funguje jenom v některých scénářích.

  2. Adresy URL, které se mají povolit, se můžou v jednotlivých případech lišit. Pokud chcete ověřit, že neblokujete procházení žádných adres URL, přejděte do části Nápověda > Přepnout vývojářské nástroje a vyberte kartu Síť. Tady uvidíte všechny adresy URL, které se blokují, že možná budete muset povolit úspěšné přidání účtu.

  3. Zrušte zaškrtnutí políčka Http: Proxy Strict SSL. Je možné, že certifikát proxy serveru není ověřitelný v seznamu důvěryhodných certifikačních autorit. Zakázání striktního ssl může vyloučit certifikát proxy serveru jako problém.

K závěru:

Jako multiplatformní aplikace načte překlad proxy serveru Azure Data Studio z nastavení v rámci aplikace nebo prostřednictvím proměnných prostředí. Cílem je vyhnout se interakci s nastavením systému, což se může výrazně lišit v různých operačních systémech.

Problém: Rozšíření Azure Core je zakázané

Rozšíření Azure Core je integrované rozšíření v Nástroji Azure Data Studio. Ujistěte se, že není zakázané nebo neodinstalované omylem. Toto rozšíření se vyžaduje k ověření účtů Microsoft Entra a připojení k prostředkům pomocí vícefaktorového ověřování.

Screenshot of built-in Azure Core extension.

Problém: Platnost certifikátů certifikační autority systému vypršela

Výchozí chování nástroje Azure Data Studio zahrnuje ověřování kořenových certifikátů certifikační autority systému při volání rozhraní REST API pomocí protokolu HTTPS. Ověřování se řídí http:systemCertificates nastavením, které je ve výchozím nastavení povolené:

Screenshot of system certificates setting.

"http.systemCertificates": true

Pokud vypršela platnost kořenového certifikátu certifikační autority systému, požadavky na ověření na ID Microsoft Entra selžou a v protokolech účtu Azure se zaznamená chyba:

error: certificate is expired

Pokud chcete tuto chybu zmírnit, měli byste odebrat všechny certifikáty kořenové certifikační autority, jejichž platnost vypršela, nebo zakázat nastavení, aby se neověřovaly systémové certifikáty.

Zachytávání protokolů pro ověřování Azure

Azure Data Studio ve výchozím nastavení zaznamenává chybové události pro aktivitu účtu Microsoft Entra. Pokud chcete povolit podrobnější trasování, můžou uživatelé tato nastavení upravit:

Azure: Úroveň protokolování

Toto nastavení nakonfiguruje úroveň protokolování pro informace z jádra Azure, které je možné zachytit v nástroji Azure Data Studio. Změňte ho na Podrobné nebo Všechny , abyste zachytili podrobné protokoly, které můžou být užitečné při diagnostice selhání ověřování. Další informace najdete v protokolech a umístění nástroje Azure Data Studio, kde se dozvíte, jak zaznamenávat informace o protokolování.

Settings.json

"azure.loggingLevel": "Verbose"

Screenshot of Azure authentication logging Level configuration.

Azure: Protokolování PII

Uživatelé můžou povolit protokolování PII (identifikovatelné osobní údaje) pro účely místního testování a ladění. Toto nastavení umožňuje důkladnější protokolování procesu ověřování, ale při ověřování pomocí Microsoft Entra ID může obsahovat citlivé informace, jako jsou přístupové tokeny nebo ID uživatelů. Vzhledem k tomu, že toto protokolování zaznamenává citlivé informace, doporučujeme:

  • Tyto protokoly nesdílejte s kýmkoli jiným, zejména při přidávání protokolů do problémů s GitHubem
  • Po shromáždění potřebných informací zakažte nastavení.
  • Odstranění souborů protokolu po zakázání nastavení

Settings.json

"azure.piiLogging": true

Screenshot of Azure authentication PII logging option.

Azure: Žádná systémová sada klíčů

Toto nastavení zakáže integraci řetězce klíčů systému, aby se zabránilo opakovaným výzvám k přístupu ke klíčence v systému macOS. Přihlašovací údaje uživatele jsou alternativně uložené v plochém souboru v domovském adresáři uživatele.

Settings.json

"azure.noSystemKeychain": true

Screenshot of Azure authentication keychain configuration.

Vymazání mezipaměti tokenů účtu Microsoft Entra

Azure Data Studio udržuje mezipaměť přístupových tokenů, aby se zabránilo omezování požadavků na tokeny na MICROSOFT Entra ID. Je možné, že mezipaměť tokenů nástroje Azure Data Studio je zastaralá, což vyžaduje vyčištění přístupových tokenů s vypršenou platností z mezipaměti aplikace.

Spuštěním tohoto příkazu z palety příkazů (Ctrl/CMD + Shift + P) vymažte přístupové tokeny pro propojené účty Microsoft Entra:

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

Vymazat všechny uložené účty Microsoft Entra

Spuštěním tohoto příkazu z palety příkazů (Ctrl/CMD + Shift + P) odeberte všechny propojené účty Microsoft Entra ze sady Azure Data Studio:

Vymazat všechny uložené účty (clearSavedAccounts)