Delen via


Quickstart: Durable Functions configureren met beheerde identiteit

Met een beheerde identiteit vanuit de Microsoft Entra-id van de toegangsbeheerservice heeft uw app toegang tot andere met Microsoft Entra beveiligde resources, zoals een Azure Storage-account, zonder dat u handmatig geheimen hoeft te verwerken. De identiteit wordt beheerd door het Azure-platform, dus u hoeft geen geheimen in te richten of te roteren. De aanbevolen manier om toegang tot Azure-resources te verifiëren, is door een dergelijke identiteit te gebruiken.

In deze quickstart voert u de stappen uit om een Durable Functions-app te configureren met behulp van de standaard Azure Storage-provider voor het gebruik van op identiteit gebaseerde verbindingen voor toegang tot het opslagaccount.

Notitie

Beheerde identiteit wordt ondersteund in Durable Functions-extensieversie 2.7.0 en hoger.

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

Vereisten

U hebt het volgende nodig om deze snelstartgids te voltooien:

  • Een bestaand Durable Functions-project dat is gemaakt in Azure Portal of een lokaal Durable Functions-project dat is geïmplementeerd in Azure.
  • Bekendheid met het uitvoeren van een Durable Functions-app in Azure.

Als u geen bestaand Durable Functions-project hebt geïmplementeerd in Azure, wordt u aangeraden te beginnen met een van de volgende quickstarts:

Lokale ontwikkeling

Azure Storage-emulator gebruiken

Wanneer u lokaal ontwikkelt, is het raadzaam om Azurite te gebruiken. Dit is de lokale emulator van Azure Storage. Configureer uw app voor de emulator door op te "AzureWebJobsStorage": "UseDevelopmentStorage = true" geven in de local.settings.json.

Op identiteit gebaseerde verbindingen voor lokale ontwikkeling

Strikt genomen is een beheerde identiteit alleen beschikbaar voor apps wanneer deze worden uitgevoerd in Azure. U kunt echter nog steeds een lokaal actieve app configureren om een op identiteit gebaseerde verbinding te gebruiken met behulp van uw referenties voor ontwikkelaars om te verifiëren bij Azure-resources. Wanneer de app vervolgens wordt geïmplementeerd in Azure, wordt in plaats daarvan de configuratie van uw beheerde identiteit gebruikt.

Wanneer u referenties voor ontwikkelaars gebruikt, probeert de verbinding een token op te halen van de volgende locaties, in de genoemde volgorde, voor toegang tot uw Azure-resources:

  • Een lokale cache die wordt gedeeld tussen Microsoft-toepassingen
  • De huidige gebruikerscontext in Visual Studio
  • De huidige gebruikerscontext in Visual Studio Code
  • De huidige gebruikerscontext in de Azure CLI

Als geen van deze opties is geslaagd, wordt er een fout weergegeven dat de app geen verificatietoken voor uw Azure-resources kan ophalen.

Runtime configureren voor het gebruik van een lokale ontwikkelaarsidentiteit

  1. Geef de naam van uw Azure Storage-account op in local.settings.json, bijvoorbeeld:

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage__accountName": "<<your Azure Storage account name>>",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
       }
    }
    
  2. Ga naar de Resource van het Azure Storage-account in Azure Portal, ga naar het tabblad Toegangsbeheer (IAM) en klik op Roltoewijzing toevoegen. Zoek de volgende rollen:

    • Inzender voor opslagwachtrijgegevens
    • Inzender voor Storage Blob-gegevens
    • Bijdrager voor opslagtabelgegevens

    Wijs de rollen aan uzelf toe door op +Leden selecteren te klikken en uw e-mail te zoeken in het pop-upvenster. (Deze e-mail is degene die u gebruikt om u aan te melden bij Microsoft-toepassingen, Azure CLI of editors in de Visual Studio-serie.)

    Schermopname van toegangstoewijzing aan gebruiker.

Op identiteit gebaseerde verbindingen voor app die is geïmplementeerd in Azure

Beheerde identiteitsresource inschakelen

Schakel eerst een beheerde identiteit in voor uw toepassing. Uw functie-app moet een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit hebben. Als u een beheerde identiteit voor uw functie-app wilt inschakelen en meer wilt weten over de verschillen tussen de twee typen identiteiten, raadpleegt u het overzicht van de beheerde identiteit.

Toegangsrollen toewijzen aan de beheerde identiteit

Navigeer naar de Azure Storage-resource van uw app in Azure Portal en wijs drie RBAC-rollen (op rollen gebaseerd toegangsbeheer) toe aan uw beheerde identiteitsresource:

  • Inzender voor opslagwachtrijgegevens
  • Inzender voor Storage Blob-gegevens
  • Bijdrager voor opslagtabelgegevens

Als u uw identiteitsresource wilt vinden, selecteert u Toegang tot beheerde identiteit toewijzen en selecteert u vervolgens + Leden selecteren

Schermopname van toegangstoewijzing voor beheerde identiteit.

Configuratie van beheerde identiteit toevoegen aan uw app

Voordat u de beheerde identiteit van uw app kunt gebruiken, moet u enkele wijzigingen aanbrengen in de app-instellingen:

  1. Selecteer in Azure Portal in het resourcemenu van uw functie-app onder Instellingen de optie Omgevingsvariabelen.

  2. Zoek AzureWebJobsStorage in de lijst met instellingen en selecteer het pictogram Verwijderen . Schermopname van de standaardopslaginstelling.

  3. Voeg een instelling toe om uw Azure-opslagaccount aan de toepassing te koppelen.

    Gebruik een van de volgende methoden , afhankelijk van de cloud waarin uw app wordt uitgevoerd:

    • Azure-cloud: als uw app wordt uitgevoerd in globale Azure, voegt u de instelling AzureWebJobsStorage__accountName toe waarmee de naam van een Azure-opslagaccount wordt geïdentificeerd. Voorbeeldwaarde: mystorageaccount123

    • Niet-Azure-cloud: als uw toepassing wordt uitgevoerd in een cloud buiten Azure, moet u de volgende drie instellingen toevoegen om specifieke service-URI's (of eindpunten) van het opslagaccount in plaats van een accountnaam op te geven.

      • Naam van instelling: AzureWebJobsStorage__blobServiceUri

        Voorbeeldwaarde: https://mystorageaccount123.blob.core.windows.net/

      • Naam van instelling: AzureWebJobsStorage__queueServiceUri

        Voorbeeldwaarde: https://mystorageaccount123.queue.core.windows.net/

      • Naam van instelling: AzureWebJobsStorage__tableServiceUri

        Voorbeeldwaarde: https://mystorageaccount123.table.core.windows.net/

    U kunt de waarden voor deze URI-variabelen ophalen in de gegevens van het opslagaccount op het tabblad Eindpunten .

    Schermopname van het eindpuntvoorbeeld.

    Notitie

    Als u Azure Government of een andere cloud gebruikt die gescheiden is van globale Azure, moet u de optie gebruiken die specifieke service-URI's biedt in plaats van alleen de naam van het opslagaccount. Zie ontwikkelen met behulp van de Storage-API in Azure Government voor meer informatie over het gebruik van Azure Storage met Azure Government.

  4. Voltooi de configuratie van uw beheerde identiteit (vergeet niet op Toepassen te klikken nadat u de instellingswijzigingen hebt aangebracht):

    • Als u een door het systeem toegewezen identiteit gebruikt, moet u geen andere wijzigingen aanbrengen.

    • Als u een door de gebruiker toegewezen identiteit gebruikt, voegt u de volgende instellingen toe in uw app-configuratie:

      • AzureWebJobsStorage__credential voert u managedidentity in

      • AzureWebJobsStorage__clientId haalt u deze GUID-waarde op uit uw beheerde identiteitsresource

      Schermopname van client-id van gebruikersidentiteit.

    Notitie

    Durable Functions biedt geen ondersteuning managedIdentityResourceId voor het gebruik van door de gebruiker toegewezen identiteit. Gebruik in plaats daarvan clientId.