Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Durable Task Scheduler maakt gebruik van een beheerde identiteit voor verificatie. U kunt een door de gebruiker toegewezen of door het systeem toegewezen beheerde identiteit gebruiken. Door de gebruiker toegewezen identiteiten worden aanbevolen omdat ze niet zijn gekoppeld aan de levenscyclus van de app en hergebruikt kunnen worden nadat de app is gedeprovisioneerd.
In dit artikel worden twee manieren besproken om beheerde identiteiten te configureren:
- Snelle installatie : één CLI-opdracht waarmee roltoewijzing, identiteitsbijlage en configuratie van omgevingsvariabelen worden geautomatiseerd.
- Handmatige installatie: stapsgewijze instructies voor volledige controle over elke configuratiestap.
Vereiste voorwaarden
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een Durable Task Scheduler en Task Hub-resource die al is ingericht.
-
Azure CLI met de extensie
durabletaskgeïnstalleerd (az extension add --name durabletask). - Eigenaar of Gebruikerstoegangbeheerder-rol op de scheduler-resource (vereist voor het maken van roltoewijzingen).
Durable Task Scheduler RBAC-rollen
U kunt de volgende durable task scheduler-gerelateerde rollen verlenen aan een identiteit:
| Rol | Beschrijving |
|---|---|
| Inzender voor duurzame taakgegevens | Rol voor alle toegangsbewerkingen van gegevens. Deze rol is een superset van alle andere rollen. |
| Duurzame Taakwerker | Rol die wordt gebruikt door werktoepassingen om te communiceren met de Durable Task Scheduler. Wijs deze rol toe als uw app alleen wordt gebruikt voor het verwerken van indelingen, activiteiten en entiteiten. |
| Duurtaken-gegevenslezer | Rol voor het lezen van alle Durable Task Scheduler-gegevens. Wijs deze rol toe als u alleen orkestraties en entiteit-payloads hoeft weer te geven. |
Opmerking
Voor de meeste apps is de rol Duurzame taakgegevensbijdrager vereist.
Snelle installatie met az durabletask scheduler attach
Met de az durabletask scheduler attach opdracht worden roltoewijzing, identiteitsbijlage en configuratie van omgevingsvariabelen in één opdracht geautomatiseerd.
In het volgende voorbeeld wordt een scheduler gekoppeld aan een Function App met behulp van een door de gebruiker toegewezen beheerde identiteit met de rol Durable Task Data Contributor :
az durabletask scheduler attach \
--resource-group RESOURCE_GROUP_NAME \
--name SCHEDULER_NAME \
--task-hub-name TASKHUB_NAME \
--role-type contributor \
--target /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.Web/sites/FUNCTION_APP_NAME \
--identity /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME
Voor een container-app:
az durabletask scheduler attach \
--resource-group RESOURCE_GROUP_NAME \
--name SCHEDULER_NAME \
--task-hub-name TASKHUB_NAME \
--role-type contributor \
--target /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.App/containerApps/CONTAINER_APP_NAME \
--identity /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME
Opmerking
Als u de --identity parameter weglaat, gebruikt de opdracht in plaats daarvan de door het systeem toegewezen beheerde identiteit.
Zie az durabletask scheduler attach voor meer informatie.
Handmatige installatie
Als u gedetailleerde controle over elke stap nodig hebt, volgt u de onderstaande handmatige instructies om RBAC toe te wijzen, de identiteit te koppelen en omgevingsvariabelen afzonderlijk te configureren.
Op rollen gebaseerd toegangsbeheer (RBAC) toewijzen aan een beheerde identiteitsresource
Maak een door de gebruiker toegewezen beheerde identiteit
az identity create -g RESOURCE_GROUP_NAME -n IDENTITY_NAMEDe toegewezen gebruiker instellen op de gemaakte identiteitsresource
assignee=$(az identity show --name IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsv)Stel het bereik in. Gebruik taakhubbereik voor toegang met minimale bevoegdheden. Gebruik het scheduler-bereik alleen als de identiteit toegang nodig heeft tot alle taakhubs in een planner.
Taakhubbereik (aanbevolen)
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASKHUB_NAME"Scheduler-bereik (alle taakhubs)
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"Toegang verlenen. Voer de volgende opdracht uit om de roltoewijzing te maken en toegang te verlenen.
az role assignment create \ --assignee "$assignee" \ --role "Durable Task Data Contributor" \ --scope "$scope"Verwachte uitvoer
In het volgende uitvoervoorbeeld ziet u een ontwikkelaarsidentiteit met de rol Durable Task Data Contributor toegewezen op plannerniveau:
{ "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" }
Opmerking
In de volgende instructie ziet u een roltoewijzing die is afgestemd op een specifieke taakhub. Als u toegang nodig hebt tot alle taakhubs in een planner, voert u de toewijzing uit op het niveau van de planner.
Een door een gebruiker toegewezen beheerde identiteit maken.
Navigeer naar de Durable Task Scheduler-resource in de portal.
Selecteer de naam van een taakhub.
Selecteer toegangsbeheer (IAM) in het linkermenu.
Selecteer Toevoegen om een roltoewijzing toe te voegen.
Zoek en selecteer Inzender voor duurzame taakgegevens. Kies Volgende.
Selecteer op het tabblad Leden , voor Toegang toewijzen aan, beheerde identiteit.
Voor Leden selecteert u + Leden selecteren.
In het deelvenster Beheerde identiteiten vouwt u de vervolgkeuzelijst Beheerde identiteit uit en selecteert u door gebruiker toegewezen beheerde identiteit.
Kies de door de gebruiker beheerde identiteit die eerder is gemaakt en selecteer Selecteren.
Selecteer Beoordelen en toewijzen om de rol toe te wijzen.
Beheerde identiteit toewijzen aan uw app
Nu de identiteit de vereiste RBAC heeft voor toegang tot Durable Task Scheduler, moet u deze toewijzen aan uw app.
Haal de resource-id van de beheerde identiteit op.
resource_id=$(az resource show --resource-group RESOURCE_GROUP_NAME --name IDENTITY_NAME --resource-type Microsoft.ManagedIdentity/userAssignedIdentities --query id --output tsv)Wijs de identiteit toe aan de app.
az functionapp identity assign --resource-group RESOURCE_GROUP_NAME --name FUNCTION_APP_NAME --identities "$resource_id"
Selecteer Instellingen-identiteit> in uw app in de portal.
Selecteer het tabblad Vastgestelde gebruiker.
Selecteer + Toevoegen en kies vervolgens de identiteit die in de laatste sectie is gemaakt. Selecteer Toevoegen.
Omgevingsvariabelen toevoegen aan uw app
Voeg de volgende twee omgevingsvariabelen toe aan uw app:
| Omgevingsvariabele | Value | Voorbeeld |
|---|---|---|
DURABLE_TASK_SCHEDULER_CONNECTION_STRING |
Endpoint=<SCHEDULER_ENDPOINT>;Authentication=ManagedIdentity;ClientID=<IDENTITY_CLIENT_ID> |
Endpoint=https://myscheduler.westus2.durabletask.io;Authentication=ManagedIdentity;ClientID=00000000-0000-0000-0000-000000000000 |
TASKHUB_NAME |
De naam van de taakhub | my-task-hub |
Opmerking
Als u system-assigned identity gebruikt, laat u de parameter ClientID weg uit de verbindingsreeks: "Endpoint=<SCHEDULER_ENDPOINT>;Authentication=ManagedIdentity".
Haal de vereiste informatie op voor de verbindingsreeks.
Haal het scheduler-eindpunt op:
az durabletask scheduler show --resource-group RESOURCE_GROUP_NAME --name SCHEDULER_NAME --query 'properties.endpoint' --output tsvHaal de client-id van de beheerde identiteit op:
az identity show --name IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsvStel beide omgevingsvariabelen in uw app in.
az functionapp config appsettings set \ --resource-group RESOURCE_GROUP_NAME \ --name FUNCTION_APP_NAME \ --settings \ DURABLE_TASK_SCHEDULER_CONNECTION_STRING="Endpoint=<SCHEDULER_ENDPOINT>;Authentication=ManagedIdentity;ClientID=<IDENTITY_CLIENT_ID>" \ TASKHUB_NAME="<TASKHUB_NAME>"
Haal de vereiste informatie op voor de verbindingsreeks.
Als u uw scheduler-eindpunt wilt ophalen, gaat u naar het tabblad Overzicht van uw scheduler-resource en zoekt u Eindpunt in de sectie Essentials .
Als u de client-id van uw beheerde identiteit wilt ophalen, gaat u naar het tabblad Overzicht van uw beheerde identiteitsresource en zoekt u de client-id in de sectie Essentials .
Navigeer naar uw app in de portal.
Selecteer in het linkermenu Instellingen>omgevingsvariabelen.
Voeg een omgevingsvariabele met de naam
DURABLE_TASK_SCHEDULER_CONNECTION_STRINGtoe met de waardeEndpoint=<SCHEDULER_ENDPOINT>;Authentication=ManagedIdentity;ClientID=<IDENTITY_CLIENT_ID>.Voeg een omgevingsvariabele toe met
TASKHUB_NAMEde naam van uw taakhub.Selecteer Toepassen en bevestig vervolgens om de variabelen op te slaan.