Freigeben über


Konnektivität mit Azure-Diensten und -Datenbanken aus Azure App Service sicherstellen

Ihr App Service muss möglicherweise eine Verbindung mit anderen Azure-Diensten herstellen, z. B. einer Datenbank, einem Speicher oder einer anderen App. In dieser Übersicht werden verschiedene Methoden zum Herstellen einer Verbindung und der Zeitpunkt ihrer Verwendung empfohlen.

Heutzutage hängt die Entscheidung für einen Konnektivitätsansatz eng mit der Verwaltung von Geheimnissen zusammen. Das häufige Muster der Verwendung von Verbindungsgeheimnissen in Verbindungszeichenfolgen, z. B. Benutzername und Kennwort, geheimer Schlüssel usw. wird nicht mehr als der sicherste Ansatz für die Konnektivität betrachtet. Das Risiko ist noch höher, da Bedrohungsakteure regelmäßig öffentliche GitHub-Repositorys für versehentlich begangene Verbindungsgeheimnisse durchforsten. Bei Cloud-Anwendungen besteht die beste Methode zur Geheimnisverwaltung darin, überhaupt keine Geheimnisse zu haben. Wenn Sie zu Azure App Service migrieren, startet Ihre App möglicherweise mit einer auf Geheimnissen basierenden Konnektivität, und App Service ermöglicht Ihnen die sichere Aufbewahrung von Geheimnissen. Azure kann jedoch dazu beitragen, die Back-End-Konnektivität Ihrer App über die Microsoft Entra-Authentifizierung zu sichern, wodurch geheime Schlüssel in Ihrer App vollständig beseitigt werden.

Verbindungsmethode Einsatzgebiete
Herstellen einer Verbindung mit einer App-Identität * Sie möchten Anmeldeinformationen, Schlüssel oder Geheimnisse vollständig aus Ihrer Anwendung entfernen.
* Der nachgeschaltete Azure-Dienst unterstützt die Microsoft Entra-Authentifizierung, z. B. Microsoft Graph.
* Die nachgelagerte Ressource muss den aktuellen angemeldeten Benutzer nicht kennen oder keine präzise Autorisierung des aktuellen angemeldeten Benutzers benötigen.
Verbinden im Auftrag des angemeldeten Benutzers * Die App muss im Namen des angemeldeten Benutzers auf eine nachgelagerte Ressource zugreifen.
* Der nachgeschaltete Azure-Dienst unterstützt die Microsoft Entra-Authentifizierung, z. B. Microsoft Graph.
* Die nachgelagerte Ressource muss eine granulare Autorisierung des aktuellen angemeldeten Benutzers durchführen.
Verbinden mithilfe von Geheimnissen * Für die nachgeschaltete Ressource sind Verbindungsschlüssel erforderlich.
* Ihre App stellt eine Verbindung mit Nicht-Azure-Diensten wie einem lokalen Datenbankserver bereit.
* Der nachgeschaltete Azure-Dienst unterstützt die Microsoft Entra-Authentifizierung noch nicht.

Herstellen einer Verbindung mit einer App-Identität

Wenn Ihre App bereits eine einzelne Gruppe von Anmeldeinformationen für den Zugriff auf einen nachgeschalteten Azure-Dienst verwendet, können Sie die Verbindung schnell konvertieren, um stattdessen eine App-Identität zu verwenden. Mit einer verwalteten Identität von Microsoft Entra ID kann App Service ohne geheime Schlüssel auf Ressourcen zugreifen, und Sie können den Zugriff über die rollenbasierte Zugriffssteuerung (RBAC) verwalten. Eine verwaltete Identität kann eine Verbindung mit jeder Azure-Ressource herstellen, die die Microsoft Entra-Authentifizierung unterstützt, und die Authentifizierung erfolgt mit kurzlebigen Token.

Die folgende Abbildung zeigt einen App Service beim Herstellen einer Verbindung mit anderen Azure-Diensten:

  • A: Der Benutzer besucht die Azure App Service-Website.
  • B: Herstellen einer sicheren Verbindung von App Service mit einem anderen Azure-Dienst mithilfe einer verwalteten Identität.
  • C: Herstellen einer sicheren Verbindung von App Service mit Microsoft Graph mithilfe einer verwalteten Identität.

Diagramm: Verwaltete Identität, die mit oder ohne Identität des Benutzers auf eine Ressource zugreift

Die folgenden Beispiele verwenden Anwendungsgeheimnisse zum Herstellen einer Verbindung mit einer Datenbank:

Verbinden im Auftrag des angemeldeten Benutzers

Ihre App muss möglicherweise eine Verbindung mit einem nachgelagerten Dienst im Namen des angemeldeten Benutzers herstellen. Mit App Service können Sie Benutzer ganz einfach mithilfe der am häufigsten verwendeten Identitätsanbieter authentifizieren (siehe Authentifizierung und Autorisierung in Azure App Service und Azure Functions). Wenn Sie den Microsoft-Anbieter (Microsoft Entra-Authentifizierung) verwenden, können Sie den angemeldeten Benutzer an einen beliebigen nachgeschalteten Dienst senden. Zum Beispiel:

  • Führen Sie eine Datenbankabfrage aus, die vertrauliche Daten zurückgibt, die der angemeldete Benutzer zum Lesen autorisiert hat.
  • Rufen Sie personenbezogene Daten ab, oder ergreifen Sie Aktionen als angemeldeter Benutzer in Microsoft Graph.

Die folgende Abbildung zeigt, wie eine App sicher auf eine SQL-Datenbank im Namen des angemeldeten Benutzerkontos zugreift.

Architekturdiagramm für das tutorial szenario.

Es folgen einige gängige Szenarien:

Verbinden mithilfe von Geheimnissen

Es gibt zwei Methoden, die für die Verwendung von Geheimnissen in Ihrer App empfohlen werden: Geheimnisse, die in Azure Key Vault gespeichert sind, oder Geheimnisse in den Anwendungseinstellungen in App Service.

Verwenden von Geheimnissen aus dem Key Vault

Azure Key Vault kann verwendet werden, um Geheimnisse sicher zu speichern, um den Zugriff auf Geheimnisse und ihre Verwendung zu überwachen und um die Verwaltung von Anwendungsgeheimnissen zu vereinfachen. Wenn der nachgeschaltete Dienst die Microsoft Entra-Authentifizierung nicht unterstützt, oder wenn er eine Verbindungszeichenfolge oder einen Schlüssel erfordert, verwenden Sie Key Vault, um Ihre Geheimnisse zu speichern und Ihre App mithilfe von Key Vault mit einer verwalteten Identität zu verbinden und die Geheimnisse abzurufen. Ihre App kann auf die Key Vault-Geheimnisse als Key Vault-Referenzen in den App-Einstellungen zugreifen.

Mit Key Vault integrierte verwaltete Identitäten bieten unter anderem die folgenden Vorteile:

  • Der Zugriff auf das Key Vault-Geheimnis ist auf die App beschränkt.
  • App-Beitragende, wie z. B. Administratoren, können die vollständige Kontrolle über die App-Service-Ressourcen haben, haben aber gleichzeitig keinen Zugriff auf die Geheimnisse des Key Vault.
  • Es ist keine Codeänderung erforderlich, wenn Ihr Anwendungscode bereits über die Anwendungseinstellungen auf Verbindungsgeheimnisse zugreift.
  • Key Vault bietet Überwachungsfunktionen, mit denen Sie anzeigen können, wer auf Geheimnisse zugegriffen hat.
  • Für die Rotation der Key Vault-Geheimnisse sind keine Änderungen im App Service erforderlich.

Die folgende Abbildung zeigt, wie der App-Dienst mithilfe einer verwalteten Identität eine Verbindung mit Key Vault herstellt und anschließend mithilfe von in Key Vault gespeicherten Geheimnissen auf einen Azure-Dienst zugreift:

Das Diagramm zeigt den App-Dienst, der ein in Key Vault gespeichertes und mit einer verwalteten Identität verwaltetes Geheimnis verwendet, um eine Verbindung mit Azure KI-Diensten herzustellen.

Verwenden von Geheimnissen in App-Einstellungen

Für Apps, die eine Verbindung mit Diensten herstellen, die geheime Schlüssel verwenden (z. B. Benutzernamen, Kennwörter und API-Schlüssel), kann der App-Dienst sie sicher in App-Einstellungen speichern. Diese Geheimnisse werden beim App-Start als Umgebungsvariablen in Ihren Anwendungscode eingefügt. App-Einstellungen werden bei der Speicherung stets verschlüsselt (encrypted-at-rest). Für die erweiterte Verwaltung von geheimen Schlüsseln, z. B. Rotation geheimer Schlüssel, Zugriffsrichtlinien und Überwachungsverlauf wird die Nutzung von Key Vault empfohlen.

Die folgenden Beispiele verwenden Anwendungsgeheimnisse zum Herstellen einer Verbindung mit einer Datenbank:

Nächste Schritte

In diesem Artikel werden folgende Themen erläutert: