Rychlý start: Konfigurace Durable Functions se spravovanou identitou
Spravovaná identita ze služby pro správu přístupu Microsoft Entra ID umožňuje vaší aplikaci přistupovat k dalším prostředkům chráněným Microsoft Entra, jako je účet Azure Storage, bez ručního zpracování tajných kódů. Identitu spravuje platforma Azure, takže nemusíte zřizovat ani obměňovat tajné kódy. Doporučeným způsobem ověřování přístupu k prostředkům Azure je použití takové identity.
V tomto rychlém startu dokončíte kroky konfigurace aplikace Durable Functions pomocí výchozího zprostředkovatele služby Azure Storage tak, aby používala připojení založená na identitách pro přístup k účtu úložiště.
Poznámka:
Spravovaná identita se podporuje v rozšíření Durable Functions verze 2.7.0 a vyšší.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Požadavky
K dokončení tohoto rychlého startu je potřeba:
- Existující projekt Durable Functions vytvořený na webu Azure Portal nebo místní projekt Durable Functions nasazený do Azure.
- Znalost spouštění aplikace Durable Functions v Azure
Pokud nemáte existující projekt Durable Functions nasazený v Azure, doporučujeme začít jedním z následujících rychlých startů:
- Vytvoření první odolné funkce – C#
- Vytvoření první odolné funkce – JavaScript
- Vytvoření první odolné funkce – Python
- Vytvoření první odolné funkce – PowerShell
- Vytvoření první odolné funkce – Java
Místní vývoj
Použití emulátoru služby Azure Storage
Při místním vývoji se doporučuje použít Azurite, což je místní emulátor služby Azure Storage. Nakonfigurujte aplikaci do emulátoru zadáním "AzureWebJobsStorage": "UseDevelopmentStorage = true"
v local.settings.json.
Připojení založená na identitách pro místní vývoj
Přesněji řečeno, spravovaná identita je dostupná jenom pro aplikace při spouštění v Azure. Přesto ale můžete nakonfigurovat místně spuštěnou aplikaci tak, aby používala připojení založené na identitě pomocí přihlašovacích údajů vývojáře k ověření prostředků Azure. Po nasazení do Azure pak aplikace využije vaši konfiguraci spravované identity.
Při použití přihlašovacích údajů vývojáře se připojení pokusí získat token z následujících umístění v tomto pořadí pro přístup k vašim prostředkům Azure:
- Místní mezipaměť sdílená mezi aplikacemi Microsoftu
- Kontext aktuálního uživatele v sadě Visual Studio
- Kontext aktuálního uživatele v editoru Visual Studio Code
- Kontext aktuálního uživatele v Azure CLI
Pokud žádná z těchto možností není úspěšná, zobrazí se chyba oznamující, že aplikace nemůže načíst ověřovací token pro vaše prostředky Azure.
Konfigurace modulu runtime pro použití místní identity vývojáře
Zadejte název účtu Azure Storage v local.settings.json, například:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage__accountName": "<<your Azure Storage account name>>", "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" } }
Na webu Azure Portal přejděte k prostředku účtu Azure Storage, přejděte na kartu Řízení přístupu (IAM) a klikněte na Přidat přiřazení role. Vyhledejte následující role:
- Přispěvatel dat fronty služby Storage
- Přispěvatel dat v objektech blob služby Storage
- Přispěvatel dat v tabulce úložiště
Přiřaďte role sobě kliknutím na +Vybrat členy a vyhledáním e-mailu v automaticky otevíraných otevíraných oknech. (Tento e-mail je ten, který používáte k přihlášení k aplikacím Microsoftu, Azure CLI nebo editorům v rodině sady Visual Studio.)
Připojení založená na identitě pro aplikaci nasazenou do Azure
Povolení prostředku spravované identity
Začněte tím, že povolíte spravovanou identitu pro vaši aplikaci. Aplikace funkcí musí mít spravovanou identitu přiřazenou systémem nebo spravovanou identitu přiřazenou uživatelem. Pokud chcete pro vaši aplikaci funkcí povolit spravovanou identitu a získat další informace o rozdílech mezi těmito dvěma typy identit, projděte si přehled spravované identity.
Přiřazení přístupových rolí spravované identitě
Na webu Azure Portal přejděte k prostředku Azure Storage vaší aplikace a přiřaďte k prostředku spravované identity tři role řízení přístupu na základě role (RBAC):
- Přispěvatel dat fronty služby Storage
- Přispěvatel dat v objektech blob služby Storage
- Přispěvatel dat v tabulce úložiště
Pokud chcete najít prostředek identity, vyberte přiřadit přístup ke spravované identitě a pak + Vybrat členy.
Přidání konfigurace spravované identity do aplikace
Než budete moct použít spravovanou identitu aplikace, proveďte určité změny nastavení aplikace:
Na webu Azure Portal v nabídce prostředků vaší aplikace funkcí v části Nastavení vyberte Proměnné prostředí.
V seznamu nastavení vyhledejte AzureWebJobsStorage a vyberte ikonu Odstranit .
Přidejte nastavení pro propojení účtu úložiště Azure s aplikací.
V závislosti na cloudu, ve kterém vaše aplikace běží, použijte jednu z následujících metod :
Cloud Azure: Pokud vaše aplikace běží v globálním Azure, přidejte nastavení
AzureWebJobsStorage__accountName
, které identifikuje název účtu úložiště Azure. Příklad hodnoty:mystorageaccount123
Cloud mimo Azure: Pokud vaše aplikace běží v cloudu mimo Azure, musíte místo názvu účtu úložiště přidat následující tři nastavení, která poskytují konkrétní identifikátory URI služeb (nebo koncové body) účtu úložiště.
Název nastavení:
AzureWebJobsStorage__blobServiceUri
Příklad hodnoty:
https://mystorageaccount123.blob.core.windows.net/
Název nastavení:
AzureWebJobsStorage__queueServiceUri
Příklad hodnoty:
https://mystorageaccount123.queue.core.windows.net/
Název nastavení:
AzureWebJobsStorage__tableServiceUri
Příklad hodnoty:
https://mystorageaccount123.table.core.windows.net/
Hodnoty těchto proměnných identifikátoru URI můžete získat na kartě Koncové body v informacích o účtu úložiště.
Poznámka:
Pokud používáte Azure Government nebo jiný cloud, který je oddělený od globálního Azure, musíte místo názvu účtu úložiště použít možnost, která poskytuje konkrétní identifikátory URI služeb. Další informace o používání služby Azure Storage se službou Azure Government najdete v tématu Vývoj pomocí rozhraní API služby Storage ve službě Azure Government.
Dokončete konfiguraci spravované identity (nezapomeňte po provedení změn nastavení kliknout na Použít):
Pokud používáte identitu přiřazenou systémem, proveďte žádné další změny.
Pokud používáte identitu přiřazenou uživatelem, přidejte do konfigurace aplikace následující nastavení:
AzureWebJobsStorage__credential zadejte spravovanou identitu.
AzureWebJobsStorage__clientId získejte tuto hodnotu GUID z prostředku spravované identity.
Poznámka:
Durable Functions nepodporuje
managedIdentityResourceId
při použití identity přiřazené uživatelem. Místo toho použijteclientId
.