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ů:

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

  1. 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"
       }
    }
    
  2. 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.)

    Snímek obrazovky znázorňující přiřazení přístupu k uživateli

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.

Snímek obrazovky znázorňující přiřazení přístupu ke spravované identitě

Přidání konfigurace spravované identity do aplikace

Než budete moct použít spravovanou identitu aplikace, proveďte určité změny nastavení aplikace:

  1. Na webu Azure Portal v nabídce prostředků vaší aplikace funkcí v části Nastavení vyberte Proměnné prostředí.

  2. V seznamu nastavení vyhledejte AzureWebJobsStorage a vyberte ikonu Odstranit . Snímek obrazovky s výchozím nastavením úložiště

  3. 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ě.

    Snímek obrazovky s ukázkou koncového bodu

    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.

  4. 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.

      Snímek obrazovky s ID klienta identity uživatele

    Poznámka:

    Durable Functions nepodporuje managedIdentityResourceId při použití identity přiřazené uživatelem. Místo toho použijte clientId.