Azure Data Studio – Azure-anslutning
Azure Data Studio använder Microsoft Authentication Library (MSAL) som standard för att hämta en åtkomsttoken från Microsoft Entra-ID. De inställningar som gäller för Microsoft Entra-autentisering diskuteras tillsammans med vanliga problem och deras lösningar.
Kommentar
Även om Microsoft Entra-ID är det nya namnet på Azure Active Directory (Azure AD), för att förhindra avbrott i befintliga miljöer, förblir Azure AD fortfarande i vissa hårdkodade element som gränssnittsfält, anslutningsproviders, felkoder och cmdletar. I den här artikeln är de två namnen utbytbara.
Azure: Autentiseringsbibliotek
Den här inställningen är endast tillgänglig i Azure Data Studio 1.41 till 1.45. Den är inte längre tillgänglig i Azure Data Studio 1.46 och senare versioner.
Den här inställningen styr det autentiseringsbibliotek som används av Azure Data Studio när du lägger till ett Microsoft Entra-konto. Microsoft Authentication Library (MSAL) erbjuder autentiserings- och auktoriseringstjänster med standardkompatibla implementeringar av OAuth 2.0 och OpenID Connect (OIDC) 1.0. Läs mer om Microsoft Authentication Library (MSAL). I Azure Data Studio 1.46 och senare versioner är MSAL det enda bibliotek som används eftersom ADAL (Active Directory Authentication Library) är inaktuellt.
Azure-autentiseringsmetod
Azure Data Studio stöder Microsoft Entra multifaktorautentisering (MFA) med hjälp av följande lägen:
- Använda kod bevilja autentisering (aktiverad som standard)
- Använda autentisering med enhetskod
Konton > Azure > Auth: Code Grant
Settings.json
"accounts.azure.auth.codeGrant": true
När metoden För att bevilja kod är markerad uppmanas användarna att autentisera med webbläsarbaserad autentisering. Det här alternativet är aktiverat som standard.
Konton > Azure > Auth: Enhetskod
Settings.json
"accounts.azure.auth.deviceCode": true
När metoden Enhetskod är aktiverad får användarna en kod och en URL att ange som sedan kan användas för att logga in.
När båda alternativen är markerade uppmanas användarna att välja något av de två autentiseringslägena när de lägger till ett Microsoft Entra-konto.
Azure-molnkonfiguration
Azure Data Studio stöder Microsoft Entra-autentisering med nationella moln. Azure Public Cloud är aktiverat som standard, men användarna kan aktivera andra nationella moln efter behov:
Settings.json
"accounts.azure.cloud.enableChinaCloud": false,
"accounts.azure.cloud.enablePublicCloud": true,
"accounts.azure.cloud.enableUsGovCloud": false
Anpassade molnslutpunkter kan också definieras. Se Konfigurera anpassade molnslutpunkter.
Azure-resurskonfiguration
De här inställningarna tillämpar filter på Azure-resurser och klientorganisationer.
- Resurskonfigurationsfilter: Tillämpar inkluderingsfilter på resurser som ska visas.
- Klientkonfigurationsfilter: Tillämpar undantagsfilter på klienter som ska ignoreras.
Settings.json
"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
"313b5f9e-9b92-414c-8d87-a317e42d0222"
]
Proxykonfiguration för Microsoft Entra-autentisering
Om du använder Azure Data Studio bakom en proxyserver måste användarna ange proxyinställningar för att Azure Data Studio ska kunna kommunicera med externa slutpunkter. Det finns två sätt att ange proxyinställningar som Azure Data Studio kan använda:
- Ange proxykonfiguration i Azure Data Studio (Inställningar > Http: Proxyinställningar)
- Ställa in miljövariabler för proxykonfiguration
Azure Data Studio-inställningar har företräde framför miljövariabler.
Proxyinställningar för Azure Data Studio
Följande inställningar är tillgängliga i Azure Data Studio:
Settings.json
"http.proxy": "https://userName@fqdn:yourPassword@yourProxyURL.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": "",
"http.proxySupport" : "override"
Miljövariabler som stöds för proxy
'HTTP_PROXY': 'http://userName@fqdn:yourPassword@yourProxyURL.com:8080'
'HTTPS_PROXY': 'https://userName@fqdn:yourPassword@yourProxyURL.com:8080'
Url:er för tillåtna listor
I en proxymiljö kan användarprogram behöva tillåta specifika domäner som används av Azure Data Studio. Värdnamn som du kan behöva eller vill tillåta kommunikation med är:
Azure Public
https://management.azure.com
https://login.microsoftonline.com/
Azure (US Government)
https://management.core.usgovcloudapi.net/
https://login.microsoftonline.us/
Azure drivs av 21Vianet
https://management.core.chinacloudapi.cn/
https://login.partner.microsoftonline.cn/
De URL:er som ska tillåtas kan ibland variera från fall till fall. För att kontrollera att du inte blockerar url:er från att gå igenom går du till Hjälp > att växla utvecklarverktyg och väljer fliken Nätverk . Alla URL:er som blockeras visas, och du kan behöva tillåta att dessa URL:er lägger till ditt konto.
Konfigurera anpassade molnslutpunkter
Azure Data Studio 1.46 introducerar stöd för att lägga till anpassade slutpunkter för icke-offentliga moln.
Lägga till anpassade molnslutpunkter
Öppna Inställningar i Azure Data Studio (Ctrl/Cmd + Skift + P) och ange Inställningar för Azure: Anpassad provider och välj sedan Redigera i settings.json, vilket öppnar settings.json
filen automatiskt och lägger till azure.customProviderSettings
:
Följande poster krävs för att slutpunkten ska fungera:
host
clientId
scopes
sqlResource
microsoftResource
armResource
graphResource
azureStorageResource
Ett exempel på en JSON-post för en provider visas som en guide:
"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"
}
}
}
}
]
Spara filen när du har lagt till slutpunkten settings.json
. Azure Data Studio meddelar dig att läsa in programmet igen. När den har lästs in igen meddelas du att de anpassade slutpunkterna har lästs in:
Om det här meddelandet inte visas kontrollerar du att alla poster för slutpunkten finns och är ifyllda.
När du har lagt till ett anpassat moln öppnar du fönstret Azure-länkade konton så visas den anpassade molnvyn. Välj Lägg till ett konto och välj autentiseringsläget om du uppmanas att göra det. Du tas till värdslutpunkten för att autentisera.
Flera anpassade molnleverantörer
Ytterligare molnleverantörer kan läggas till i settings.json
filen med samma format.
"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"
}
}
}
}
]
Vanliga autentiseringsproblem
Möjliga problem och lösningar när du lägger till ett Azure-konto diskuteras.
Problem: SSL-fel på localhost-sidan (ERR_SSL_PROTOCOL_ERROR)
Användare kan se ett SSL-fel när de loggar in på sitt konto. Det här flödet öppnar en extern webbsida till localhost
, vilket vanligtvis uppmanar användarna att logga in via microsofts standardanvisningarna för autentisering. URL:en för den här sidan ser ut ungefär som http://localhost:50055/signin?nonce=...
Vissa webbläsare kan konfigureras för att automatiskt omdirigera alla http
länkar till https
, vilket bryter den här processen eftersom den lokala server som betjänar webbsidan inte stöder https. Om länken i adressfältet börjar med https
får du ett SSL-fel och sidan kan inte läsas in. I så fall kan de lösningar som anges här åtgärda problemet.
Ändra URL till http
Ändra först URL:en manuellt från https://
till http://
. Webbläsaren kan ändra tillbaka den till https, i vilket fall det är nödvändigt att prova ett annat alternativ.
Inaktivera HSTS (HTTP Strikt transportsäkerhet)
För Edge-/Chrome-webbläsare kan du inaktivera HSTS för localhost.
- Öppna Edge/Chrome och skriv
edge://net-internals/#hsts
(ellerchrome://net-internals/#hsts
för Chrome) i adressfältet. - Rulla längst ned på sidan och i avsnittet
Delete domain security policies
angerlocalhost
du och trycker påDelete
.
När det är klart bör du kunna logga in och inte låta webbläsaren omdirigera dina localhost
länkar automatiskt till https
.
Problem: Det går inte att lägga till ett konto bakom en proxyserver
Om användarprogrammet körs i en miljö bakom en proxyserver kanske användarautentiseringen inte slutförs och de här stegen kan användas för att lösa problemet.
Kontrollera miljövariabler och http.proxy-inställningar i Azure Data Studio igen. Om proxyn kräver användarautentisering kan ett användarnamn/lösenord i http.proxy-URL :en lösa autentiseringsproblem. Annars kan Azure Data Studio inte läsa inloggade autentiseringsuppgifter. Du kan också prova att köra Azure Data Studio som en annan användare, eftersom det kan hjälpa dig att lösa autentiseringsproblem med proxy. Det senare fungerar dock bara för vissa scenarier.
Url:erna som ska tillåtas kan variera från fall till fall. Om du vill kontrollera att du inte blockerar url:er från att gå igenom går du till Hjälp växla utvecklarverktyg och väljer fliken Nätverk>. Här ser du alla URL:er som blockeras och som du kan behöva tillåta för att lägga till ditt konto.
Avmarkera Http: Strikt SSL-proxyproxy. Det är möjligt att proxycertifikatet inte kan verifieras mot listan över betrodda certifikatutfärdare. Om du inaktiverar Strikt SSL kan proxycertifikatet uteslutas som ett problem.
För att avsluta:
Som ett plattformsoberoende program hämtar Azure Data Studio proxymatchning proxyn från antingen inställningen i programmet eller via miljövariabler. Syftet är att undvika interaktion med systeminställningar, som kan variera avsevärt på olika operativsystem.
Problem: Azure Core-tillägget är inaktiverat
Azure Core-tillägget är ett inbyggt tillägg i Azure Data Studio. Kontrollera att den inte har inaktiverats eller avinstallerats av misstag. Det här tillägget krävs för att autentisera Microsoft Entra-konton och ansluta till resurser med hjälp av MFA.
Problem: Certifikat för systemcertifikatutfärdare har upphört att gälla
Standardbeteendet för Azure Data Studio omfattar validering av systemets rotcertifikatutfärdarcertifikat när REST API-anrop används med HJÄLP av HTTPS Protocol. Verifieringen styrs med inställningen http:systemCertificates
, som är aktiverad som standard:
"http.systemCertificates": true
Om ett systems rotcertifikatutfärdarcertifikat har upphört att gälla misslyckas autentiseringsbegäranden till Microsoft Entra-ID och ett fel registreras i Azure-kontologgarna:
error: certificate is expired
För att undvika det här felet bör du ta bort alla utgångna rotcertifikatutfärdarcertifikat eller inaktivera inställningen för att inte validera systemcertifikat.
Samla in loggar för Azure-autentisering
Azure Data Studio samlar in felhändelser för Microsoft Entra-kontoaktivitet som standard. Om du vill aktivera mer detaljerade spårningar kan användarna ändra de här inställningarna:
Azure: Loggningsnivå
Den här inställningen konfigurerar loggningsnivån för information från Azure Core som kan samlas in i Azure Data Studio. Ändra den till Utförlig eller Alla för att samla in detaljerade loggar som kan vara användbara för att diagnostisera autentiseringsfel. Mer information finns i Azure Data Studio-loggar och -plats för att lära dig hur du samlar in loggningsinformation.
Settings.json
"azure.loggingLevel": "Verbose"
Azure: PII-loggning
Användare kan aktivera PII-loggning (personligt identifierbar information) för lokal testning och felsökning. Den här inställningen möjliggör noggrannare loggning av autentiseringsprocessen, men kan innehålla känslig information, till exempel åtkomsttoken eller användar-ID:n när du autentiserar med Microsoft Entra-ID. Eftersom den här loggningen samlar in känslig information rekommenderar vi att du:
- Dela inte dessa loggar med någon annan, särskilt inte när du lägger till loggar i GitHub-problem
- Inaktivera inställningen när nödvändig information har samlats in
- Ta bort loggfilerna när inställningen har inaktiverats
Settings.json
"azure.piiLogging": true
Azure: Ingen systemnyckelkedja
Den här inställningen inaktiverar systemnyckelringsintegrering för att förhindra upprepade frågor om åtkomst till nyckelringar på macOS. Användarautentiseringsuppgifter lagras alternativt i en flat fil i användarens hemkatalog.
Settings.json
"azure.noSystemKeychain": true
Rensa Cacheminne för Microsoft Entra-kontotoken
Azure Data Studio har en cache med åtkomsttoken för att förhindra begränsning av tokenbegäranden till Microsoft Entra-ID. Det är möjligt att Azure Data Studio-tokencacheminnet kan vara inaktuellt, vilket kräver rensning av utgångna åtkomsttoken från programcachen.
Kör det här kommandot från kommandopaletten (Ctrl/CMD + Skift + P) för att rensa åtkomsttoken för länkade Microsoft Entra-konton:
Azure Accounts: Clear Azure Account Token Cache (accounts.clearTokenCache)
Rensa alla sparade Microsoft Entra-konton
Kör det här kommandot från kommandopaletten (Ctrl/CMD + Skift + P) för att ta bort alla länkade Microsoft Entra-konton från Azure Data Studio:
Rensa alla sparade konton (clearSavedAccounts)