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.
In dieser Schnellstartanleitung wird gezeigt, wie Sie eine Durable Functions-App mithilfe des standardanbieters Azure Storage konfigurieren, um identitätsbasierte Verbindungen zu verwenden, damit Ihre App auf sein Speicherkonto zugreifen kann, ohne geheime Schlüssel zu verwalten. Eine verwaltete Identität von Microsoft Entra ID wird von der Azure-Plattform verwaltet – Sie müssen keine geheimen Schlüssel bereitstellen oder aktualisieren.
In diesem Artikel:
- Einrichtung lokaler Entwicklung – Verwenden Sie Azurite oder Ihre Entwickleranmeldeinformationen für lokale Tests.
- Identitätsbasierte Verbindungen für Apps, die in Azure bereitgestellt werden – Aktivieren einer verwalteten Identität und Konfigurieren der Funktions-App
Hinweis
Verwaltete Identität wird in Versionen 2.7.0 und höher der Durable Functions Erweiterung unterstützt.
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Voraussetzungen
Für die Durchführung dieses Schnellstarts benötigen Sie Folgendes:
- Ein vorhandenes Durable Functions Projekt, das im Azure Portal oder einem lokalen Durable Functions Projekt erstellt wurde, das für Azure bereitgestellt wird.
- Vertrautheit beim Ausführen einer Durable Functions App in Azure.
Wenn Sie kein vorhandenes Durable Functions Projekt in Azure bereitgestellt haben, empfehlen wir, mit einer der folgenden Schnellstarts zu beginnen:
- Erstellen Ihrer ersten dauerhaften Funktion in C#
- Erstellen Ihrer ersten dauerhaften Funktion in JavaScript
- Erstellen Sie Ihre erste dauerhafte Funktion – Python
- Erstellen Ihrer ersten dauerhaften Funktion in PowerShell
- Erstellen Sie Ihre erste dauerhafte Funktion – Java
Einrichtung der lokalen Entwicklung
Sie haben zwei Optionen für die lokale Entwicklung. Verwenden Sie Azurite für schnelle lokale Tests ohne Azure Anmeldeinformationen. Wenn Sie identitätsbasierte Verbindungen mit einem echten Azure Storage Konto testen müssen, verwenden Sie stattdessen Ihre Entwickleranmeldeinformationen.
Option 1: Verwenden des Azure Storage Emulators
Bei der lokalen Entwicklung wird empfohlen, Azurite zu verwenden, den lokalen Emulator von Azure Storage. Konfigurieren Sie Ihre App für den Emulator, indem Sie "AzureWebJobsStorage": "UseDevelopmentStorage=true" in der Datei „local.settings.json“ angeben.
Option 2: Identitätsbasierte Verbindungen für die lokale Entwicklung
Streng genommen ist eine verwaltete Identität nur für Apps verfügbar, wenn sie auf Azure ausgeführt werden. Sie können jedoch weiterhin eine lokal ausgeführte App für die Verwendung einer identitätsbasierten Verbindung konfigurieren, indem Sie Ihre Entwickleranmeldeinformationen verwenden, um sich bei Azure Ressourcen zu authentifizieren. Wenn sie dann auf Azure bereitgestellt wird, verwendet die App stattdessen Ihre verwaltete Identitätskonfiguration.
Bei Verwendung von Entwickleranmeldeinformationen versucht die Verbindung, ein Token von den folgenden Speicherorten in dieser Reihenfolge abzurufen:
- Lokaler Cache, der von Microsoft-Anwendungen gemeinsam genutzt wird
- Der aktuelle Benutzerkontext in Visual Studio
- Der aktuelle Benutzerkontext in Visual Studio Code
- Der aktuelle Benutzerkontext im Azure CLI
Wenn keine dieser Optionen erfolgreich ist, wird eine Fehlermeldung angezeigt, die angibt, dass die App kein Authentifizierungstoken abrufen kann. Vergewissern Sie sich, dass Sie bei einem der aufgeführten Tools mit einem Konto angemeldet sind, das Zugriff auf Ihr Azure Storage-Konto hat.
Konfigurieren der Laufzeit zur Verwendung der lokalen Entwickleridentität.
Geben Sie den Namen Ihres Azure Storage Kontos in local.settings.jsonan, z. B.:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage__accountName": "<<your Azure Storage account name>>", "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" } }Navigieren Sie im Azure-Portal zu Ihrer Azure Storage-Kontoressource.
Wählen Sie die Registerkarte Access Control (IAM) und dann Rollen zuweisen aus.
Weisen Sie jede der folgenden Rollen sich selbst zu. Wählen Sie für jede Rolle "+ Mitglieder auswählen" aus, und suchen Sie nach der E-Mail, die Sie verwenden, um sich bei Visual Studio, Visual Studio Code oder dem Azure CLI anzumelden.
- Beitragender zu Speicher-Warteschlangendaten
- Storage Blob-Datenmitwirkender
- Storage Table Data-Beitragender
Hinweis
Dies sind die gleichen drei Rollen, die für Ihre verwaltete Identität erforderlich sind, wenn sie für Azure bereitgestellt werden. Siehe Zuweisen von Zugriffsrollen zur verwalteten Identität.
Identitätsbasierte Verbindungen für apps, die für Azure bereitgestellt werden
Aktivieren einer verwalteten Identitätsressource
Aktivieren Sie zunächst eine verwaltete Identität für Ihre Anwendung. Ihre Funktions-App muss entweder über eine vom System zugewiesene verwaltete Identität oder eine von der benutzenden Person zugewiesene verwaltete Identität verfügen. Um eine verwaltete Identität für Ihre Funktions-App zu aktivieren und mehr über die Unterschiede zwischen den beiden Arten von Identitäten zu erfahren, lesen Sie die Übersicht über verwaltete Identitäten.
Zuweisen von Zugriffsrollen zur verwalteten Identität
Navigieren Sie im Azure-Portal zur Azure Storage-Ressource Ihrer App und weisen Sie drei rollenbasierte Zugriffssteuerungen (RBAC) Ihrer verwalteten Identitätsressource zu.
- Beitragender zu Speicher-Warteschlangendaten
- Storage Blob-Datenmitwirkender
- Storage Table Data-Beitragender
Um Ihre Identitätsressource zu finden, wählen Sie zunächst für „Zuweisen des Zugriffs auf“ die Option Verwaltete Identität und dann + Mitglieder auswählen aus
Hinzufügen der Verwalteten Identitätskonfiguration zu Ihrer App
Bevor Sie die verwaltete Identität Ihrer App verwenden können, müssen Sie einige Änderungen an den App-Einstellungen vornehmen:
Wählen Sie im Azure-Portal im Ressourcenmenü der Funktions-App unter EinstellungenUmgebungsvariablen aus.
Suchen Sie in der Liste der Einstellungen nach AzureWebJobsStorage, und wählen Sie das Symbol Löschen aus.
Fügen Sie eine Einstellung hinzu, um Ihr Azure Speicherkonto mit der Anwendung zu verknüpfen.
Verwenden Sie je nach der Cloud, in der Ihre Anwendung läuft, eine der folgenden Methoden:
Azure cloud: Wenn Ihre App in global Azure ausgeführt wird, fügen Sie die Einstellung
AzureWebJobsStorage__accountNamehinzu, die einen Azure Speicherkontonamen identifiziert. Beispielwert:mystorageaccount123Non-Azure cloud: Wenn Ihre Anwendung in einer Cloud außerhalb Azure ausgeführt wird, müssen Sie die folgenden drei Einstellungen hinzufügen, um bestimmte Dienst-URIs (oder endpoints) des Speicherkontos anstelle eines Kontonamens bereitzustellen.
Einstellungsname:
AzureWebJobsStorage__blobServiceUriBeispielwert:
https://mystorageaccount123.blob.core.windows.net/Einstellungsname:
AzureWebJobsStorage__queueServiceUriBeispielwert:
https://mystorageaccount123.queue.core.windows.net/Einstellungsname:
AzureWebJobsStorage__tableServiceUriBeispielwert:
https://mystorageaccount123.table.core.windows.net/
Sie können die Werte für diese URI-Variablen in den Speicherkontoinformationen auf der Registerkarte Endpunkte abrufen.
Hinweis
Wenn Sie Azure Government oder eine andere Cloud verwenden, die von globalen Azure getrennt ist, müssen Sie die Option verwenden, die bestimmte Dienst-URIs anstelle des Namen des Speicherkontos bereitstellt. Weitere Informationen zur Verwendung von Azure Storage mit Azure Government finden Sie unter Entwickeln mit der Speicher-API in Azure Government.
Beenden Sie die Konfiguration der verwalteten Identität (denken Sie daran, nach den getätigten Einstellungsänderungen auf „Übernehmen“ zu klicken):
Wenn Sie eine vom System zugewiesene Identität verwenden, nehmen Sie keine anderen Änderungen vor.
Wenn Sie eine benutzerseitig zugewiesene Identität verwenden, fügen Sie Ihrer App-Konfiguration die folgenden Einstellungen hinzu:
AzureWebJobsStorage__credential, geben Sie managedidentity ein
AzureWebJobsStorage__clientId, rufen Sie diesen GUID-Wert aus Ihrer Ressource der verwalteten Identität ab
Hinweis
Durable Functions unterstützt nicht
managedIdentityResourceId, wenn eine vom Benutzer zugewiesene Identität verwendet wird. Verwenden Sie stattdessenclientId.
Überprüfen Ihrer Konfiguration
So bestätigen Sie, dass Ihre verwaltete Identitätskonfiguration funktioniert:
- Navigieren Sie im Azure-Portal zu Ihrer Function-App, und lösen Sie die Durable Functions-Orchestrierung aus (z. B. mithilfe einer HTTP-Triggerfunktion).
- Überprüfen Sie, ob die Orchestrierung erfolgreich abgeschlossen ist, indem Sie den Statusendpunkt abfragen oder die Registerkarte "Monitor" überprüfen.
- Wenn Authentifizierungsfehler angezeigt werden, überprüfen Sie folgendes:
- Alle drei Rollen für „Speicherdaten-Mitwirkende“ werden der korrekten Identität zugewiesen.
- Die Einstellung der
AzureWebJobsStorage-Verbindungszeichenfolge wird entfernt. - Die
AzureWebJobsStorage__accountNameEinstellungen (oder Dienst-URI) sind korrekt.