Konfigurace Durable Functions pomocí Microsoft Entra ID

Microsoft Entra ID (Microsoft Entra ID) je cloudová služba pro správu identit a přístupu. Připojení založená na identitách umožňují Durable Functions provádět autorizované požadavky na prostředky chráněné Microsoft Entra, jako je účet Azure Storage, aniž by bylo nutné spravovat tajné kódy ručně. Pomocí výchozího poskytovatele úložiště Azure musí Durable Functions provést ověření vůči účtu úložiště Azure. V tomto článku si ukážeme, jak nakonfigurovat aplikaci Durable Functions tak, aby využívala dva druhy připojení založených na identitě: přihlašovací údaje spravované identity a přihlašovací údaje tajného klíče klienta.

Spravovaná identita umožňuje vaší aplikaci snadno přistupovat k dalším prostředkům chráněným Microsoft Entra, jako je Azure Key Vault. Spravovaná identita se podporuje v rozšíření Durable Functions verze 2.7.0 a vyšší.

Poznámka:

Přesněji řečeno, spravovaná identita je dostupná jenom pro aplikace při spouštění v Azure. Pokud je nakonfigurovaná tak, aby používala připojení založená na identitě, místní aplikace bude k ověřování s prostředky Azure využívat vaše přihlašovací údaje pro vývojáře. Po nasazení do Azure pak využije vaši konfiguraci spravované identity.

Požadavky

Následující kroky předpokládají, že začínáte s existující aplikací Durable Functions a víte, jak ji používat. Konkrétně tento rychlý start předpokládá, že už máte:

  • Vytvořili jste projekt Durable Functions na webu Azure Portal nebo nasadili místní Durable Functions do Azure.

Pokud tomu tak není, doporučujeme začít jedním z následujících článků, které obsahují podrobné pokyny k dosažení všech výše uvedených požadavků:

Povolení spravované identity

Pro vaši funkci je potřeba jenom jedna identita, buď spravovaná identita přiřazená systémem, nebo spravovaná identita přiřazená uživatelem. Pokud chcete pro funkci povolit spravovanou identitu a dozvědět se více o rozdílech mezi těmito dvěma identitami, přečtěte si podrobné pokyny.

Přiřazení řízení přístupu na základě role (RBAC) ke spravované identitě

Na webu Azure Portal přejděte k prostředku úložiště vaší aplikace. Podle těchto pokynů přiřaďte k prostředku spravované identity 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řidání konfigurace spravované identity na webu Azure Portal

Přejděte na stránku Konfigurace vaší aplikace funkcí Azure a proveďte následující změny:

  1. Odeberte výchozí hodnotu AzureWebJobsStorage.

Screenshot of default storage setting.

  1. Propojte svůj účet úložiště Azure přidáním jednoho z následujících nastavení hodnoty:

    • AzureWebJobsStorage__accountName: Příklad:mystorageaccount123

    • AzureWebJobsStorage__blobServiceUri: Příklad:https://mystorageaccount123.blob.core.windows.net/

      AzureWebJobsStorage__queueServiceUri: Příklad:https://mystorageaccount123.queue.core.windows.net/

      AzureWebJobsStorage__tableServiceUri: Příklad:https://mystorageaccount123.table.core.windows.net/

      Poznámka:

      Pokud používáte Azure Government nebo jakýkoli jiný cloud, který je oddělený od globálního Azure, budete muset tuto druhou možnost použít k poskytování konkrétních adres URL služeb. Hodnoty těchto nastavení najdete v účtu úložiště na kartě Koncové body . Další informace o používání služby Azure Storage se službou Azure Government najdete v dokumentaci k rozhraní API služby Storage ve službě Azure Government .

    Screenshot of endpoint sample.

  2. Dokončení konfigurace spravované identity:

    • Pokud se má použít identita přiřazená systémem, zadejte nic jiného.

    • Pokud se má použít identita přiřazená uživatelem, přidejte do konfigurace aplikace následující hodnoty nastavení aplikace:

      • AzureWebJobsStorage__credential: spravovaná identita

      • AzureWebJobsStorage__clientId: (Jedná se o hodnotu GUID, kterou získáte z Centra pro správu Microsoft Entra)

      Screenshot of user identity client id.

Konfigurace aplikace tak, aby používala přihlašovací údaje tajného klíče klienta

Registrace klientské aplikace v Microsoft Entra ID je dalším způsobem, jak nakonfigurovat přístup ke službě Azure. V následujících krocích se dozvíte, jak používat přihlašovací údaje tajného klíče klienta pro ověřování k účtu Azure Storage. Tuto metodu můžou používat aplikace funkcí místně i v Azure. Přihlašovací údaje tajného klíče klienta se ale méně doporučují než spravované identity, protože konfigurace a správa je složitější a vyžaduje sdílení tajných přihlašovacích údajů se službou Azure Functions.

Požadavky

Následující kroky předpokládají, že začínáte s existující aplikací Durable Functions a víte, jak ji používat. Konkrétně tento rychlý start předpokládá, že už máte:

  • Vytvořili jste projekt Durable Functions na místním počítači nebo na webu Azure Portal.

Registrace klientské aplikace v Microsoft Entra ID

  1. Podle těchto pokynů zaregistrujte klientskou aplikaci v rámci ID Microsoft Entra na webu Azure Portal.

  2. Vytvořte tajný klíč klienta pro klientskou aplikaci. V zaregistrované aplikaci:

    1. Vyberte Certifikáty a tajné kódy a vyberte Nový tajný klíč klienta.

    2. Vyplňte popis a v poli Konec platnosti zvolte platný čas tajného kódu.

    3. Zkopírujte a uložte hodnotu tajného kódu pečlivě, protože se po opuštění stránky znovu nezobrazí.

    Screenshot of client secret page.

Přiřazení řízení přístupu na základě role (RBAC) klientské aplikaci

Tyto tři role přiřaďte klientské aplikaci pomocí následujícího postupu.

  • 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ě
  1. Přejděte na stránku Řízení přístupu k účtu úložiště vaší funkce (IAM) a přidejte nové přiřazení role.

    Screenshot of access control page.

  2. Zvolte požadovanou roli, klikněte na další a vyhledejte aplikaci, zkontrolujte ji a přidejte.

    Screenshot of role assignment page.

Přidání konfigurace tajných klíčů klienta

Pokud chcete spustit a otestovat v Azure, na stránce Konfigurace aplikace funkcí Azure na webu Azure Portal zadejte následující položky. Pokud chcete spustit a testovat místně, zadejte v souboru local.settings.json funkce následující.

  1. Odeberte výchozí hodnotu AzureWebJobsStorage.

  2. Propojte účet úložiště Azure přidáním jednoho z následujících nastavení hodnoty:

    • AzureWebJobsStorage__accountName: Příklad:mystorageaccount123

    • AzureWebJobsStorage__blobServiceUri: Příklad:https://mystorageaccount123.blob.core.windows.net/

      AzureWebJobsStorage__queueServiceUri: Příklad:https://mystorageaccount123.queue.core.windows.net/

      AzureWebJobsStorage__tableServiceUri: Příklad:https://mystorageaccount123.table.core.windows.net/

    Hodnoty těchto proměnných identifikátorů URI najdete v účtu úložiště na kartě Koncové body .

    Screenshot of endpoint sample.

  3. Přidejte přihlašovací údaje tajného klíče klienta zadáním následujících hodnot:

    • AzureWebJobsStorage__clientId: (jedná se o hodnotu GUID, která se nachází na stránce aplikace Microsoft Entra)

    • AzureWebJobsStorage__ClientSecret: (jedná se o hodnotu tajného kódu vygenerovanou v Centru pro správu Microsoft Entra v předchozím kroku).

    • AzureWebJobsStorage__tenantId: (toto je ID tenanta, ve které je aplikace Microsoft Entra zaregistrovaná)

    ID klienta a hodnoty ID tenanta najdete na stránce přehledu klientské aplikace. Hodnota tajného klíče klienta je hodnota, která byla pečlivě uložena v předchozím kroku. Po aktualizaci stránky nebude k dispozici.

    Screenshot of application's overview page.