Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Trwały harmonogram zadań obsługuje tylko uwierzytelnianie tożsamości zarządzanej przypisanej przez użytkownika lub przypisaną przez system . Zalecane są tożsamości przypisane przez użytkownika, ponieważ nie są one powiązane z cyklem życia aplikacji i mogą być ponownie używane po anulowaniu aprowizacji aplikacji.
Można przyznać tożsamości następujące role związane z harmonogramem trwałych zadań:
| Rola | Opis |
|---|---|
| Współtwórca danych trwałego zadania | Rola dla wszystkich operacji dostępu do danych. Ta rola jest nadzbiorem wszystkich innych ról. |
| Trwały pracownik zadań | Rola używana przez aplikacje pracownicze do interakcji z harmonogramem zadań Durable Task Scheduler. Przypisz tę rolę, jeśli aplikacja jest używana tylko do przetwarzania aranżacji, działań i jednostek. |
| Czytnik danych Durable Task | Rola do odczytywania wszystkich danych harmonogramu zadań trwałych. Przypisz tę rolę, jeśli potrzebujesz tylko listy aranżacji i ładunków jednostek. |
Uwaga / Notatka
Większość aplikacji Durable Functions wymaga roli Durable Task Data Contributor .
Z tego artykułu dowiesz się, jak udzielić uprawnień do zasobu tożsamości i skonfigurować aplikację obliczeniową do używania tożsamości na potrzeby dostępu do harmonogramów i centrów zadań.
Przypisywanie kontroli dostępu opartej na rolach (RBAC) do zasobu tożsamości zarządzanej
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika
az identity create -g RESOURCE_GROUP_NAME -n IDENTITY_NAMEUstaw osobę odpowiedzialną na utworzonego zasobu tożsamości
assignee=$(az identity show --name IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsv)Ustaw zakres. Udzielanie dostępu w zakresie harmonogramu zapewnia dostęp do wszystkich centrów zadań w tym harmonogramie.
Centrum zadań
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASKHUB_NAME"Harmonogram
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"Udziel dostępu. Uruchom następujące polecenie, aby utworzyć przypisanie roli i udzielić dostępu.
az role assignment create \ --assignee "$assignee" \ --role "Durable Task Data Contributor" \ --scope "$scope"Oczekiwane dane wyjściowe
Poniższy przykład danych wyjściowych pokazuje tożsamość dewelopera, któremu przypisano rolę Współautora danych zadań trwałych na poziomie harmonogramu.
{ "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" }
Uwaga / Notatka
Poniższa instrukcja przedstawia przypisanie roli o określonym zakresie do określonego centrum zadań. Jeśli potrzebujesz dostępu do wszystkich węzłów zadań w planu, wykonaj przypisanie na poziomie planisty.
Przejdź do zasobu trwałego harmonogramu zadań w portalu.
Kliknij nazwę centrum zadań.
W menu po lewej stronie wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami)..
Kliknij Dodaj, aby dodać przypisanie roli.
Zrzut ekranu z dodawania przypisania roli w okienku kontroli dostępu w portalu.
Wyszukaj i wybierz Durable Task Data Contributor. Kliknij przycisk Dalej.
Na karcie Członkowie w polu Przypisz dostęp do wybierz pozycję Tożsamość zarządzana.
Dla członków kliknij + Wybierz członków.
W okienku Wybieranie tożsamości zarządzanych rozwiń listę rozwijaną Tożsamość zarządzana i wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika.
Wybierz wcześniej utworzoną tożsamość zarządzaną przez użytkownika i kliknij przycisk Wybierz .
Kliknij Przejrzyj i przypisz, aby zakończyć przypisywanie roli.
Przypisywanie tożsamości zarządzanej do aplikacji
Teraz, gdy tożsamość ma wymagany RBAC do narzędzia Durable Task Scheduler, musisz przypisać ją do aplikacji.
Pobierz identyfikator zasobu zarządzanej tożsamości.
resource_id=$(az resource show --resource-group RESOURCE_GROUP --name MANAGED_IDENTITY_NAME --resource-type Microsoft.ManagedIdentity/userAssignedIdentities --query id --output tsv)Przypisz tożsamość do aplikacji.
az functionapp identity assign --resource-group RESOURCE_GROUP_NAME --name FUNCTION_APP_NAME --identities "$resource_id"
W aplikacji w portalu wybierz pozycję Ustawienia>Tożsamość.
Kliknij kartę Użytkownik przypisany .
Kliknij pozycję + Dodaj, a następnie wybierz tożsamość utworzoną w ostatniej sekcji. Kliknij przycisk Dodaj.
Dodawanie zmiennych środowiskowych do aplikacji
Dodaj te dwie zmienne środowiskowe do ustawienia aplikacji:
-
TASKHUB_NAME: nazwa centrum zadań -
DURABLE_TASK_SCHEDULER_CONNECTION_STRING: format ciągu to"Endpoint={scheduler point};Authentication=ManagedIdentity;ClientID={client id}", gdzieEndpointjest punktem końcowym harmonogramu iclient idjest identyfikatorem klienta tożsamości.
Uzyskaj wymagane informacje dotyczące parametrów połączenia narzędzia Durable Task Scheduler.
Aby uzyskać punkt końcowy harmonogramu.
az durabletask scheduler show --resource-group RESOURCE_GROUP_NAME --name DTS_NAME --query 'properties.endpoint' --output tsvAby uzyskać identyfikator klienta dla tożsamości zarządzanej.
az identity show --name MANAGED_IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsvUżyj następującego polecenia, aby dodać zmienną środowiskową dla łańcucha połączenia harmonogramu do aplikacji.
az functionapp config appsettings set --resource-group RESOURCE_GROUP_NAME --name FUNCTION_APP_NAME --settings KEY_NAME=KEY_VALUEPowtórz poprzedni krok, aby dodać zmienną środowiskową dla nazwy centrum zadań.
Uzyskaj wymagane informacje dotyczące parametrów połączenia narzędzia Durable Task Scheduler.
Aby uzyskać punkt końcowy harmonogramu, przejdź do karty Przegląd zasobu harmonogramu i znajdź pozycję "Punkt końcowy" w górnej sekcji Podstawy .
Aby uzyskać identyfikator klienta tożsamości zarządzanej, przejdź do karty Przegląd swojego zasobu i znajdź pozycję "Identyfikator klienta" w sekcji Istotne elementy.
Przejdź do swojej aplikacji na portalu.
W menu po lewej stronie kliknij pozycję Ustawienia>Zmienne środowiskowe.
Dodaj zmienną środowiskową dla łańcucha połączenia narzędzia Durable Task Scheduler.
Dodaj zmienną środowiskową dla nazwy centrum zadań.
Kliknij przycisk Zastosuj , a następnie potwierdź , aby dodać zmienne.
Uwaga / Notatka
Jeśli używasz tożsamości przypisanej przez system, parametry połączenia nie będą potrzebować identyfikatora klienta zasobu tożsamości: "Endpoint={scheduler endpoint};Authentication=ManagedIdentity".