Azure Data Studio: Azure-Konnektivität
Azure Data Studio verwendet standardmäßig die Microsoft Authentication Library (MSAL), um ein Zugriffstoken von Microsoft Entra ID abzurufen. Die Einstellungen, die für die Microsoft Entra-Authentifizierung gelten, werden zusammen mit häufig beobachteten Problemen und deren Lösungen erläutert.
Hinweis
Während Microsoft Entra-ID der neue Name für Azure Active Directory (Azure AD) ist, bleibt Azure AD in einigen fest kodierten Elementen wie Benutzeroberfläche-Feldern, Verbindungsanbietern, Fehlercodes und Cmdlets erhalten, um Störungen in bestehenden Umgebungen zu vermeiden. In diesem Artikel sind die beiden Namen austauschbar.
Azure: Authentifizierungsbibliothek
Diese Einstellung ist nur in Azure Data Studio 1.41 bis 1.45 verfügbar. Sie ist in Azure Data Studio 1.46 und höheren Versionen nicht mehr verfügbar.
Diese Einstellung steuert die Authentifizierungsbibliothek, die von Azure Data Studio beim Hinzufügen eines Microsoft Entra-Kontos verwendet wird. Die Microsoft Authentication Library (MSAL) bietet Authentifizierungs- und Autorisierungsdienste mit standardkonformen Implementierungen von OAuth 2.0 und OpenID Connect (OIDC) 1.0. Erfahren Sie mehr über Microsoft Authentication Library (MSAL). In Azure Data Studio 1.46 und höheren Versionen ist MSAL die einzige verwendete Verzeichnis, nachdem ADAL (Active Directory-Authentifizierungsbibliothek) nicht mehr unterstützt wird.
Azure-Authentifizierungsmethode
Azure Data Studio unterstützt die mehrstufige Microsoft Entra-Authentifizierung (MFA) mithilfe der folgenden Modi:
- Verwenden der Codegenehmigungsauthentifizierung (standardmäßig aktiviert)
- Verwenden der Gerätecodeauthentifizierung
Konten > Azure > Authentifizierung: Codegenehmigung
Settings.json
"accounts.azure.auth.codeGrant": true
Wenn die Methode „Codegenehmigung“ aktiviert ist, werden Benutzer aufgefordert, sich mit der browserbasierten Authentifizierung zu authentifizieren. Diese Option ist standardmäßig aktiviert.
Konten > Azure > Authentifizierung: Gerätecode
Settings.json
"accounts.azure.auth.deviceCode": true
Wenn die Methode „Gerätecode“ aktiviert ist, erhalten Benutzer einen Code und eine URL zur Eingabe, die dann für die Anmeldung verwendet werden kann.
Wenn beide Optionen aktiviert sind, werden Benutzer aufgefordert, einen der beiden Authentifizierungsmodi auszuwählen, wenn Sie ein Microsoft Entra-Konto hinzufügen.
Azure Cloud-Konfiguration
Azure Data Studio unterstützt die Microsoft Entra-Authentifizierung mit nationalen Clouds. Die öffentliche Azure-Cloud ist standardmäßig aktiviert, Benutzer können allerdings bei Bedarf andere nationale Clouds aktivieren:
Settings.json
"accounts.azure.cloud.enableChinaCloud": false,
"accounts.azure.cloud.enablePublicCloud": true,
"accounts.azure.cloud.enableUsGovCloud": false
Benutzerdefinierte Cloudendpunkte können auch definiert werden. Siehe Konfigurieren von benutzerdefinierten Cloudendpunkten.
Azure-Ressourcenkonfiguration
Diese Einstellungen wenden Filter auf Azure-Ressourcen und -Mandanten an.
- Ressourcenkonfigurationsfilter: Wendet den Einschlussfilter auf Ressourcen an, die angezeigt werden sollen.
- Mandantenkonfigurationsfilter: Wendet einen Ausschlussfilter auf Mandanten an, die ignoriert werden sollen.
Settings.json
"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
"313b5f9e-9b92-414c-8d87-a317e42d0222"
]
Proxysetup für die Microsoft Entra-Authentifizierung
Wenn Sie Azure Data Studio hinter einem Proxy verwenden, müssen Benutzer Proxyeinstellungen für Azure Data Studio angeben, um mit externen Endpunkten zu kommunizieren. Es gibt zwei Möglichkeiten zum Bereitstellen von Proxyeinstellungen für Azure Data Studio:
- Festlegen der Proxykonfiguration in Azure Data Studio (Einstellungen > HTTP: Proxyeinstellungen)
- Festlegen von Umgebungsvariablen für die Proxykonfiguration
Azure Data Studio-Einstellungen haben Vorrang vor Umgebungsvariablen.
Azure Data Studio-Proxyeinstellungen
Die folgenden Einstellungen sind in Azure Data Studio verfügbar:
Settings.json
"http.proxy": "https://userName@fqdn:yourPassword@yourProxyURL.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": "",
"http.proxySupport" : "override"
Unterstützte Umgebungsvariablen für den Proxy
'HTTP_PROXY': 'http://userName@fqdn:yourPassword@yourProxyURL.com:8080'
'HTTPS_PROXY': 'https://userName@fqdn:yourPassword@yourProxyURL.com:8080'
URLs auf die Positivliste setzen
In einer Proxyumgebung müssen Benutzeranwendungen möglicherweise bestimmte Domänen zulassen, die von Azure Data Studio verwendet werden. Hostnamen, über die Sie die Kommunikation zulassen können:
Azure öffentlich
https://management.azure.com
https://login.microsoftonline.com/
Azure (US Government)
https://management.core.usgovcloudapi.net/
https://login.microsoftonline.us/
Azure, betrieben von 21Vianet
https://management.core.chinacloudapi.cn/
https://login.partner.microsoftonline.cn/
Die zuzulassenden URLs können von Fall zu Fall variieren. Um sicherzustellen, dass Sie die Bearbeitung von URLs nicht blockieren, wechseln Sie zu Hilfe > Entwicklertools umschalten, und wählen Sie die Registerkarte Netzwerk aus. Alle gesperrten URLs sind aufgeführt. Möglicherweise müssen Sie erlauben, dass diese URLs Ihr Konto hinzufügen.
Konfigurieren von benutzerdefinierten Cloudendpunkten
Azure Data Studio 1.46 bietet Unterstützung für das Hinzufügen von benutzerdefinierten Endpunkten für nicht-öffentliche Clouds.
Hinzufügen von benutzerdefinierten Cloudendpunkten
Öffnen Sie Einstellungen in Azure Data Studio (Strg/Cmd + Umschalt +P), geben Sie Azure: Benutzerdefinierter Anbietereinstellungen ein und wählen Sie dann In settings.json bearbeiten aus, wodurch die settings.json
-Datei automatisch geöffnet und fügen Sie azure.customProviderSettings
hinzu:
Die folgenden Einträge sind erforderlich, damit der Endpunkt funktioniert:
host
clientId
scopes
sqlResource
microsoftResource
armResource
graphResource
azureStorageResource
Ein Beispiel für einen JSON-Eintrag für einen Anbieter wird als Anleitung dargestellt:
"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"
}
}
}
}
]
Speichern Sie nach dem Hinzufügen des Endpunkts die settings.json
-Datei. Azure Data Studio teilt Ihnen mit, die Anwendung neu zu laden. Nachdem diese neu geladen wurde, wird Ihnen mitgeteilt, dass die benutzerdefinierten Endpunkte geladen wurden:
Wenn diese Meldung nicht angezeigt wird, überprüfen Sie, ob alle Einträge für den Endpunkt vorhanden und ausgefüllt sind.
Öffnen Sie nach dem Hinzufügen einer benutzerdefinierten Cloud den Bereich Mit Azure verknüpfte Konten, und das benutzerdefinierte Cloud-Viewlet wird angezeigt. Wählen Sie Ein Konto hinzufügen und dann den Authentifizierungsmodus aus, wenn Sie dazu aufgefordert werden. Sie werden zum Host-Endpunkt weitergeleitet, um sich zu authentifizieren.
Mehrere benutzerdefinierte Cloudanbieter
Zusätzliche Cloudanbieter können der settings.json
-Datei mit demselben Format hinzugefügt werden.
"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"
}
}
}
}
]
Gängige Authentifizierungsprobleme
Mögliche Probleme und Lösungen beim Hinzufügen eines Azure-Kontos werden erläutert.
Problem: SSL-Fehler auf der Seite „localhost“ (ERR_SSL_PROTOCOL_ERROR)
Benutzern wird möglicherweise ein SSL-Fehler angezeigt, wenn sie sich bei ihrem Konto anmelden. Dieser Flow öffnet eine externe Webseite für localhost
. In der Regel werden Benutzer aufgefordert, sich über die standardmäßigen Microsoft-Authentifizierungsaufforderungen anzumelden. Die URL für diese Seite sieht in etwa wie folgt aus: http://localhost:50055/signin?nonce=...
Einige Browser sind möglicherweise so eingerichtet, dass alle http
-Links automatisch zu https
umgeleitet werden, wodurch dieser Prozess unterbrochen wird, da der lokale Server, der die Webseite bedient, HTTPS nicht unterstützt. Wenn der Link in der Adressleiste mit https
beginnt, erhalten Sie einen SSL-Fehler, und die Seite kann nicht geladen werden. In diesem Fall können die hier aufgeführten Problemumgehungen das Problem beheben.
URL in HTTP ändern
Ändern Sie zunächst manuell die URL von https://
in http://
. Der Browser kann sie wieder in HTTPS ändern. In diesem Fall muss eine andere Option ausprobiert werden.
HSTS (HTTP Strict Transport Security) deaktivieren
Für Edge-/Chrome-Browser können Sie HSTS für localhost deaktivieren.
- Öffnen Sie Edge/Chrome, und geben Sie in der Adressleiste
edge://net-internals/#hsts
(oderchrome://net-internals/#hsts
für Chrome) ein. - Scrollen Sie an das Ende der Seite, und geben Sie im Abschnitt
Delete domain security policies
localhost
ein. Drücken Sie dannDelete
.
Anschließend sollten Sie sich anmelden können und der Browser sollte Ihre localhost
-Links nicht automatisch an https
weiterleiten.
Problem: Konto kann nicht hinter einem Proxy hinzugefügt werden
Wenn die Benutzeranwendung in einer Umgebung hinter einem Proxy ausgeführt wird, wird die Benutzerauthentifizierung möglicherweise nicht abgeschlossen, und diese Schritte können verwendet werden, um das Problem zu beheben.
Überprüfen Sie Umgebungsvariablen und http.proxy-Einstellungen in Azure Data Studio erneut. Wenn für den Proxy eine Benutzerauthentifizierung erforderlich ist, kann die Angabe eines Benutzernamens/Kennworts in der HTTP.proxy-URL Authentifizierungsprobleme beheben. Andernfalls kann Azure Data Studio keine angemeldeten Benutzeranmeldeinformationen lesen. Alternativ können Sie versuchen, Azure Data Studio als einen anderen Benutzer auszuführen, da es möglicherweise helfen kann, Authentifizierungsprobleme mit Proxy zu beheben. Letzteres funktioniert jedoch nur bei einigen Szenarien.
Die zuzulassenden URLs können von Fall zu Fall variieren. Um sicherzustellen, dass Sie die Bearbeitung von URLs nicht blockieren, wechseln Sie zu Hilfe > Entwicklertools umschalten, und wählen Sie die Registerkarte Netzwerk aus. Hier sehen Sie alle gesperrten URLs. Möglicherweise müssen Sie erlauben, dass diese URLs Ihr Konto hinzufügen.
Deaktivieren Sie http: Proxy Strict SSL. Es ist möglich, dass das Proxyzertifikat nicht anhand der Liste der vertrauenswürdigen Zertifizierungsstellen überprüfbar ist. Wenn Sie Strict SSL deaktivieren, kann das Proxyzertifikat als Problem ausgeschlossen werden.
Zusammenfassend:
Als plattformübergreifende Anwendung ruft die Azure Data Studio-Proxyauflösung den Proxy entweder aus der Einstellung innerhalb der Anwendung oder über Umgebungsvariablen ab. Ziel ist es, Interaktionen mit Systemeinstellungen zu vermeiden, die bei verschiedenen Betriebssystemen erheblich variieren können.
Problem: Die Azure Core-Erweiterung ist deaktiviert.
Die Azure Core-Erweiterung ist eine integrierte Erweiterung in Azure Data Studio. Stellen Sie sicher, dass sie nicht deaktiviert oder versehentlich deinstalliert wird. Diese Erweiterung ist erforderlich, um Microsoft Entra-Konten zu authentifizieren und mithilfe von MFA eine Verbindung mit Ressourcen herzustellen.
Problem: Zertifikate der Systemzertifizierungsstelle sind abgelaufen.
Azure Data Studio überprüft standardmäßig die Stammzertifikate der Systemzertifizierungsstelle bei REST-API-Aufrufen über das HTTPS-Protokoll. Die Überprüfung wird mit der http:systemCertificates
-Einstellung gesteuert, die standardmäßig aktiviert ist:
"http.systemCertificates": true
Wenn das Stammzertifizierungsstellenzertifikat eines Systems abgelaufen ist, schlagen Authentifizierungsanforderungen an Die Microsoft Entra-ID fehl, und ein Fehler wird in den Azure-Kontoprotokollen erfasst:
error: certificate is expired
Um diesen Fehler zu beheben, sollten Sie alle abgelaufenen Zertifikate der Stammzertifizierungsstelle entfernen oder die Einstellung deaktivieren, damit Systemzertifikate nicht mehr überprüft werden.
Erfassen von Protokollen für die Azure-Authentifizierung
Azure Data Studio erfasst Fehlerereignisse für microsoft Entra-Kontoaktivität standardmäßig. Um ausführlichere Ablaufverfolgungen zu aktivieren, können Benutzer diese Einstellungen ändern:
Azure: Protokollierungsebene
Mit dieser Einstellung wird der Protokollierungsgrad für Informationen aus Azure Core konfiguriert, die in Azure Data Studio erfasst werden können. Ändern Sie sie in Ausführlich oder Alle, um detaillierte Protokolle zu erfassen, die für die Diagnose von Authentifizierungsfehlern nützlich sein können. Weitere Informationen dazu, wie Protokollierungsinformationen erfasst werden, finden Sie unter Azure Data Studio-Protokolle und -Speicherorte.
Settings.json
"azure.loggingLevel": "Verbose"
Azure: PII-Protokollierung
Benutzer können die PII-Protokollierung (Personally Identifiable Information) für lokale Test- und Debugzwecke aktivieren. Diese Einstellung ermöglicht eine gründlichere Protokollierung des Authentifizierungsprozesses, kann jedoch vertrauliche Informationen wie Zugriffstoken oder Benutzer-IDs enthalten, wenn sie mit Microsoft Entra-ID authentifiziert werden. Da diese Protokollierung vertrauliche Informationen erfasst, wird Folgendes empfohlen:
- Geben Sie diese Protokolle nicht für andere Personen frei, insbesondere beim Hinzufügen von Protokollen zu GitHub-Problemen.
- Deaktivieren Sie die Einstellung, nachdem die erforderlichen Informationen gesammelt wurden.
- Löschen Sie die Protokolldateien, nachdem die Einstellung deaktiviert wurde.
Settings.json
"azure.piiLogging": true
Azure: kein Systemschlüsselbund
Mit dieser Einstellung wird die Systemschlüsselbundintegration deaktiviert, um wiederholte Zugriffseingabeaufforderungen am Schlüsselbund unter macOS zu verhindern. Benutzeranmeldeinformationen werden alternativ in einer Flatfile im Basisverzeichnis des Benutzers gespeichert.
Settings.json
"azure.noSystemKeychain": true
Löschen des Caches des Microsoft Entra-Kontotokens
Azure Data Studio verwaltet einen Cache von Zugriffstoken, um die Drosselung von Tokenanforderungen an Microsoft Entra ID zu verhindern. Möglicherweise ist der Tokencache von Azure Data Studio veraltet, was das Bereinigen abgelaufener Zugriffstoken aus dem Anwendungscache erfordert.
Führen Sie diesen Befehl aus der Befehlspalette (STRG/CMD + UMSCHALT+ P) aus, um Zugriffstoken für verknüpfte Microsoft Entra-Konten zu löschen:
Azure Accounts: Clear Azure Account Token Cache (accounts.clearTokenCache)
Alle gespeicherten Microsoft Entra-Konten löschen
Führen Sie diesen Befehl aus der Befehlspalette (STRG/CMD + UMSCHALT+ P) aus, um alle verknüpften Microsoft Entra-Konten aus Azure Data Studio zu entfernen:
Löschen aller gespeicherten Konten (clearSavedAccounts)