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.
Der dauerhafte Aufgabenplaner unterstützt nur die vom Benutzer zugewiesene oder vom System zugewiesene verwaltete Identitätsauthentifizierung. Vom Benutzer zugewiesene Identitäten werden empfohlen, da sie nicht an den Lebenszyklus der App gebunden sind und nach der Deprovisionierung der App wiederverwendet werden können.
Sie können einer Identität die folgenden Rollen des langlebigen Aufgabenplaners zuweisen:
| Rolle | BESCHREIBUNG |
|---|---|
| Mitwirkender an langlebigen Aufgabendaten | Rolle für alle Datenzugriffsvorgänge. Diese Rolle ist allen anderen Rollen übergeordnet. |
| Worker für langlebige Aufgaben | Rolle, die von Arbeitsanwendungen verwendet wird, um mit dem Durable Task Scheduler zu interagieren. Weisen Sie diese Rolle zu, wenn Ihre App nur für die Verarbeitung von Orchestrierungen, Aktivitäten und Entitäten verwendet wird. |
| Permanenter Aufgabendatenleser | Rolle zum Lesen aller Daten des Durable Task Scheduler. Weisen Sie diese Rolle zu, wenn Sie nur eine Liste der Orchestrierungs- und Entitätsnutzdaten benötigen. |
Hinweis
Die meisten Durable Functions-Apps erfordern die Rolle Mitwirkender an langlebigen Aufgabendaten.
In diesem Artikel erfahren Sie, wie Sie Berechtigungen für eine Identitätsressource erteilen und Ihre Compute-App so konfigurieren, dass sie die Identität für den Zugriff auf Scheduler und Aufgabenhubs verwendet.
Zuweisen von RBAC (rollenbasierte Zugriffssteuerung) zu einer verwalteten Identitätsressource
Erstellen einer benutzerseitig zugewiesenen verwalteten Identität
az identity create -g RESOURCE_GROUP_NAME -n IDENTITY_NAMEFestlegen der zugewiesenen Person auf die erstellte Identitätsressource
assignee=$(az identity show --name IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsv)Legen Sie den Bereich fest. Das Gewähren des Zugriffs auf den Planerbereich ermöglicht den Zugriff auf alle Aufgabenhubs in diesem Planer.
Aufgabenhub
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASKHUB_NAME"Scheduler
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"Gewähren des Zugriffs. Führen Sie den folgenden Befehl aus, um die Rollenzuweisung zu erstellen und Zugriff zu gewähren.
az role assignment create \ --assignee "$assignee" \ --role "Durable Task Data Contributor" \ --scope "$scope"Erwartete Ausgabe
Das folgende Ausgabebeispiel zeigt eine Entwickleridentität, der die Rolle „Mitwirkender an langlebigen Aufgabendaten“ auf Planerebene zugewiesen ist:
{ "condition": null, "conditionVersion": null, "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID", "createdOn": "2024-12-20T01:36:45.022356+00:00", "delegatedManagedIdentityResourceId": null, "description": null, "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID", "name": "ROLE_ASSIGNMENT_ID", "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID", "principalName": "YOUR_EMAIL", "principalType": "User", "resourceGroup": "YOUR_RESOURCE_GROUP", "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID", "roleDefinitionName": "Durable Task Data Contributor", "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME", "type": "Microsoft.Authorization/roleAssignments", "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID", "updatedOn": "2024-12-20T01:36:45.022356+00:00" }
Hinweis
Die folgende Anweisung zeigt eine Rollenzuweisung, die auf einen bestimmten Aufgabenhub festgelegt ist. Wenn Sie Zugriff auf alle Aufgabenhubs in einem Planer benötigen, führen Sie die Zuordnung auf der Planerebene aus.
Erstellen einer benutzerseitig zugewiesenen verwalteten Identität.
Navigieren Sie im Portal zur Ressource für den langlebigen Aufgabenplaner.
Wählen Sie einen Aufgabenhubnamen aus.
Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus.
Klicken Sie auf "Hinzufügen" , um eine Rollenzuweisung hinzuzufügen.
Suchen Sie Mitwirkender an langlebigen Aufgabendaten, und wählen Sie die Rolle aus. Klicke auf Weiter.
Wählen Sie auf der Registerkarte " Mitglieder " für "Zugriff zuweisen"die Option "Verwaltete Identität" aus.
Klicken Sie für Mitglieder auf +Mitglieder auswählen.
Erweitern Sie im Bereich "Verwaltete Identitäten auswählen " die Dropdownliste "Verwaltete Identität " und wählen Sie "Vom Benutzer zugewiesene verwaltete Identität" aus.
Wählen Sie die zuvor erstellte vom Benutzer verwaltete Identität aus, und klicken Sie auf die Schaltfläche " Auswählen ".
Klicken Sie auf "Überprüfen" und "Zuweisen ", um die Zuweisung der Rolle abzuschließen.
Weisen Sie Ihrer App eine verwaltete Identität zu.
Nachdem die Identität nun über die erforderliche RBAC verfügt, um auf den langlebigen Aufgabenplaner zuzugreifen, müssen Sie sie Ihrer App zuweisen.
Rufen Sie die Ressourcen-ID der verwalteten Identität ab.
resource_id=$(az resource show --resource-group RESOURCE_GROUP --name MANAGED_IDENTITY_NAME --resource-type Microsoft.ManagedIdentity/userAssignedIdentities --query id --output tsv)Weisen Sie der App die Identität zu.
az functionapp identity assign --resource-group RESOURCE_GROUP_NAME --name FUNCTION_APP_NAME --identities "$resource_id"
Wählen Sie in Ihrer App im Portal Einstellungen>Identität aus.
Klicken Sie auf die Registerkarte "Benutzer zugewiesen".
Klicken Sie auf +Hinzufügen, und wählen Sie dann die im letzten Abschnitt erstellte Identität aus. Klicken Sie auf die Schaltfläche Hinzufügen .
Hinzufügen von Umgebungsvariablen zur App
Fügen Sie diese beiden Umgebungsvariablen zur App-Einstellung hinzu:
-
TASKHUB_NAME: Name des Aufgabenhubs -
DURABLE_TASK_SCHEDULER_CONNECTION_STRING: Das Format der Zeichenfolge lautet"Endpoint={scheduler point};Authentication=ManagedIdentity;ClientID={client id}", wobeiEndpointder Zeitplanerendpunkt undclient iddie Client-ID der Identität ist.
Rufen Sie die erforderlichen Informationen für die Verbindungszeichenfolge des langlebigen Aufgabenplaners ab.
Zum Abrufen des Planerendpunkts.
az durabletask scheduler show --resource-group RESOURCE_GROUP_NAME --name DTS_NAME --query 'properties.endpoint' --output tsvZum Abrufen der Client-ID der verwalteten Identität.
az identity show --name MANAGED_IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsvVerwenden Sie den folgenden Befehl, um die Umgebungsvariable für die Planer-Verbindungszeichenfolge zur App hinzuzufügen.
az functionapp config appsettings set --resource-group RESOURCE_GROUP_NAME --name FUNCTION_APP_NAME --settings KEY_NAME=KEY_VALUEWiederholen Sie den vorherigen Schritt, um eine Umgebungsvariable für den Namen des Aufgabenhubs hinzuzufügen.
Rufen Sie die erforderlichen Informationen für die Verbindungszeichenfolge des langlebigen Aufgabenplaners ab.
Um Ihren Scheduler-Endpunkt zu erhalten, navigieren Sie zur Registerkarte Übersicht Ihrer Scheduler-Ressource und suchen Sie im oberen Abschnitt Essentials nach "Endpunkt".
Navigieren Sie zum Abrufen der Client-ID Ihrer verwalteten Identität zur Registerkarte Übersicht Ihrer Ressource, und suchen Sie im oberen Abschnitt Grundlagen nach „Client-ID“.
Navigieren Sie im Portal zu Ihrer App.
Klicken Sie im linken Menü auf Einstellungen>Umgebungsvariablen.
Fügen Sie die Umgebungsvariable für die Verbindungszeichenfolge des Durable Task Schedulers hinzu.
Hinzufügen einer Umgebungsvariable für den Namen des Aufgabenhubs.
Klicken Sie auf Übernehmen und dann auf Bestätigen, um die Variablen hinzuzufügen.
Hinweis
Wenn Sie die vom System zugewiesene Identität verwenden, benötigt Ihre Verbindungszeichenfolge nicht die Client-ID der Identitätsressource: "Endpoint={scheduler endpoint};Authentication=ManagedIdentity".