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.
Konfigurace aplikace tak, aby používala spravovanou identitu (doporučeno)
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ů:
- 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
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:
- Odeberte výchozí hodnotu AzureWebJobsStorage.
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 .
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)
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
Podle těchto pokynů zaregistrujte klientskou aplikaci v rámci ID Microsoft Entra na webu Azure Portal.
Vytvořte tajný klíč klienta pro klientskou aplikaci. V zaregistrované aplikaci:
Vyberte Certifikáty a tajné kódy a vyberte Nový tajný klíč klienta.
Vyplňte popis a v poli Konec platnosti zvolte platný čas tajného kódu.
Zkopírujte a uložte hodnotu tajného kódu pečlivě, protože se po opuštění stránky znovu nezobrazí.
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ě
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.
Zvolte požadovanou roli, klikněte na další a vyhledejte aplikaci, zkontrolujte ji a přidejte.
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í.
Odeberte výchozí hodnotu AzureWebJobsStorage.
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 .
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.