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.
Eine verwaltete Identität vom Zugriffsverwaltungsdienst Microsoft Entra ID ermöglicht Ihrer App den Zugriff auf andere Microsoft Entra geschützte Ressourcen, z. B. ein Azure Storage Konto, ohne geheime Schlüssel manuell zu verarbeiten. Die Identität wird von der Azure-Plattform verwaltet, sodass Sie keine geheimen Schlüssel bereitstellen oder wechseln müssen. Die empfohlene Methode zum Authentifizieren des Zugriffs auf Azure Ressourcen ist die Verwendung einer solchen Identität.
In dieser Schnellstartanleitung führen Sie die Schritte zum Konfigurieren einer Durable Functions App mit dem Standardanbieter Azure Storage aus, um identitätsbasierte Verbindungen für den Zugriff auf Speicherkonten zu verwenden.
Hinweis
Verwaltete Identität wird in Versionen 2.7.0 und höher der Durable Functions Erweiterung unterstützt.
Wenn Sie kein Azure Konto haben, erstellen Sie ein free-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
Lokale Entwicklung
Verwenden Sie den Azure-Storage-Emulator
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.
Identitätsbasierte Verbindungen für die lokal 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 der angegebenen Reihenfolge für den Zugriff auf Ihre Azure-Ressourcen 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 ein Fehler angezeigt, der besagt, dass die App kein Authentifizierungstoken für Ihre Azure Ressourcen abrufen kann.
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" } }Wechseln Sie zur Azure-Speicherkontoressource im Azure-Portal, navigieren Sie zur Registerkarte Zugriffskontrolle (IAM), und klicken Sie auf Rollenzuweisung hinzufügen. Suchen Sie nach den folgenden Rollen:
- Beitragender zu Speicher-Warteschlangendaten
- Mitwirkender an Storage-Blobdaten
- Mitwirkender für Speichertabellendaten
Weisen Sie sich die Rollen selbst zu, indem Sie auf „+ Mitglieder auswählen“ klicken und Ihre E-Mail-Adresse im Popupfenster suchen. (Diese E-Mail ist die E-Mail, die Sie zum Anmelden bei Microsoft-Anwendungen, Azure CLI oder Editoren in der Visual Studio Familie verwenden.)
Identitätsbasierte Verbindungen für apps, die für Azure bereitgestellt werden
Aktivieren der Ressource der verwalteten Identität
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
- Mitwirkender an Storage-Blobdaten
- Mitwirkender für Speichertabellendaten
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
Konfiguration einer verwalteten Identität für Ihre App hinzufügen
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.