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

Screenshot of Azure authentication Code Grant option.

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

Screenshot of Azure authentication Device Code option.

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

Screenshot of Azure authentication National Clouds.

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

Screenshot of Azure authentication resource configuration options.

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"

Screenshot of Azure authentication proxy settings.

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:

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

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:

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

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.

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

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.

  1. Öffnen Sie Edge/Chrome, und geben Sie in der Adressleiste edge://net-internals/#hsts (oder chrome://net-internals/#hsts für Chrome) ein.
  2. Scrollen Sie an das Ende der Seite, und geben Sie im Abschnitt Delete domain security policieslocalhost ein. Drücken Sie dann Delete.

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.

  1. Ü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.

  2. 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.

  3. 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.

Screenshot of built-in Azure Core extension.

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:

Screenshot of system certificates setting.

"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 finden Sie in Azure Data Studio-Protokollen und -Speicherorten , um zu erfahren, wie Protokollierungsinformationen erfasst werden.

Settings.json

"azure.loggingLevel": "Verbose"

Screenshot of Azure authentication logging Level configuration.

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

Screenshot of Azure authentication PII logging option.

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

Screenshot of Azure authentication keychain configuration.

Löschen des Caches des Microsoft Entra-Kontotokens

Azure Data Studio Standard enthält einen Cache von Zugriffstoken, um die Drosselung von Tokenanforderungen an Die 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)