Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Möglicherweise muss Ihr App-Dienst 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, beginnt Ihre App möglicherweise mit geheimen Verbindungen, und Der App-Dienst ermöglicht es Ihnen, geheime Schlüssel sicher zu halten. Azure können jedoch dazu beitragen, die Back-End-Konnektivität Ihrer App durch Microsoft Entra Authentifizierung zu sichern, wodurch geheime Schlüssel in Ihrer App vollständig beseitigt werden.
| Verbindungsmethode | Wann verwenden |
|---|---|
| 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 Authentifizierung mit Microsoft Entra, wie beispielsweise 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 nachgelagerte 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 Verbindungsgeheimnisse erforderlich. * Ihre App stellt eine Verbindung mit Nicht-Azure-Diensten wie einem lokalen Datenbankserver bereit. * Der nachgeschaltete Azure-Dienst unterstützt noch keine Microsoft Entra Authentifizierung. |
Verbindung mit einer App-Identität herstellen
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. Eine verwaltete Identität aus Microsoft Entra ID ermöglicht es App Service, auf Ressourcen ohne geheime Schlüssel zuzugreifen, und Sie können den Zugriff mit rollenbasierter Zugriffssteuerung (RBAC) verwalten. Eine verwaltete Identität kann eine Verbindung mit einer beliebigen Azure Ressource herstellen, die Microsoft Entra Authentifizierung unterstützt, und die Authentifizierung erfolgt mit kurzlebigen Token.
Die folgende Abbildung zeigt, wie ein App-Dienst eine Verbindung mit anderen Azure-Diensten herstellt:
- A: Der Benutzer besucht Azure App-Dienstwebsite.
- B: Sichere Verbindung von App Service zu einem anderen Azure-Dienst mithilfe einer verwalteten Identität.
- C: Stellen Sie sicher, dass Sie mit App Service zu Microsoft Graph eine Verbindung mithilfe einer verwalteten Identität herstellen.
Die folgenden Beispiele verwenden Anwendungsgeheimnisse zum Herstellen einer Verbindung mit einer Datenbank:
- Tutorial: Herstellen einer Verbindung mit Azure Datenbanken von App Service ohne geheime Schlüssel mithilfe einer verwalteten Identität
- Tutorial: Herstellen einer Verbindung mit sql-Datenbank über .NET App Service ohne geheime Schlüssel mithilfe einer verwalteten Identität
- Tutorial: Herstellen einer Verbindung mit einer PostgreSQL-Datenbank aus Java Tomcat App Service ohne geheime Schlüssel mithilfe einer verwalteten Identität
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 mit den am häufigsten verwendeten Identitätsanbietern auf einfache Weise authentifizieren (siehe Authentication 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 zu lesen berechtigt ist.
- 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.
Es folgen einige gängige Szenarien:
- Verbindung mit Microsoft Graph im Namen des Benutzers herstellen
- Herstellen einer Verbindung mit einer SQL-Datenbank im Auftrag des Benutzers
- Herstellen einer Verbindung mit einer anderen App Service-App im Namen des Benutzers
- Leiten Sie den angemeldeten Benutzer durch mehrere Ebenen von nachgeschalteten Diensten
Verbinden mithilfe von Geheimnissen
Es gibt zwei empfohlene Methoden zum Verwenden von geheimen Schlüsseln in Ihrer App: Verwenden von geheimen Schlüsseln, die in Azure Key Vault oder geheimen Schlüsseln in den App-Einstellungen von App Service gespeichert sind.
Verwenden von geheimen Schlüsseln aus Key Vault
Azure Key Vault kann verwendet werden, um geheime Schlüssel sicher zu speichern, den Zugriff und die Verwendung geheimer Schlüssel zu überwachen und die Verwaltung von Anwendungsgeheimnissen zu vereinfachen. Wenn der nachgeschaltete Dienst die Microsoft Entra-Authentifizierung nicht unterstützt oder eine Verbindungszeichenfolge oder einen Schlüssel erfordert, verwenden Sie Key Vault, um Ihre Geheimnisse zu speichern. Stellen Sie Ihre App mit einer verwalteten Identität eine Verbindung zu Key Vault her und rufen Sie die Geheimnisse ab. Ihre App kann auf die Geheimnisse des Key Vault als Key Vault Verweise in den App-Einstellungen zugreifen.
Zu den Vorteilen verwalteter Identitäten, die in Key Vault integriert sind, gehören:
- 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 Überwachung und Überprüfung, 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 App Service eine Verbindung mit Key Vault mithilfe einer verwalteten Identität herstellt und dann auf einen Azure Dienst zugreift, der geheime Schlüssel verwendet, die in Key Vault gespeichert sind:
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 (verschlüsselt im Ruhezustand). Für eine fortschrittlichere Verwaltung von Secrets, wie zum Beispiel die Rotation von Secrets, Zugriffsrichtlinien und Protokollierungshistorie, versuchen Sie, Key Vault zu verwenden.
Die folgenden Beispiele verwenden Anwendungsgeheimnisse zum Herstellen einer Verbindung mit einer Datenbank:
- Tutorial: Bereitstellen einer ASP.NET Core und Azure SQL Database App für Azure App Service
- Tutorial: Bereitstellen einer ASP.NET App zum Azure mit Azure SQL Database
- Tutorial: Bereitstellen einer PHP-, MySQL- und Redis-App für Azure App Service
- Deploy a Node.js + MongoDB web app to Azure
- Bereitstellen einer Python (Flask) Webanwendung mit PostgreSQL in Azure
- Deploy a Python (Django) web app with PostgreSQL in Azure
- Deploy a Python (FastAPI) web app with PostgreSQL in Azure
- Tutorial: Erstellen einer Tomcat-Web-App mit Azure App Service on Linux und MySQL
- Tutorial: Erstellen einer Java Spring Boot Web App mit Azure App Service on Linux und Azure Cosmos DB
Verwandte Inhalte
- Speichern Sie geheime Schlüssel sicher in Azure Key Vault.
- Zugreifen auf Ressourcen mithilfe einer verwalteten Identität
- Speichern von Geheimnissen mithilfe der App-Einstellungen in App Service
- Connect to Microsoft Graph als der Benutzer.
- Herstellen einer Verbindung mit einer SQL-Datenbank über das Benutzerkonto
- Herstellen einer Verbindung mit einer anderen App Service-App als Benutzer
- Stellen Sie Verbindung mit einer anderen App Service-App her und anschließend mit einem Downstreamdienst als Benutzer