Durable Functions configureren met Microsoft Entra-id
Microsoft Entra ID (Microsoft Entra ID) is een cloudservice voor identiteits- en toegangsbeheer. Met op identiteit gebaseerde verbindingen kan Durable Functions geautoriseerde aanvragen indienen voor met Microsoft Entra beveiligde resources, zoals een Azure Storage-account, zonder dat u geheimen handmatig hoeft te beheren. Met behulp van de standaard azure-opslagprovider moet Durable Functions worden geverifieerd voor een Azure-opslagaccount. In dit artikel laten we zien hoe u een Durable Functions-app configureert voor het gebruik van twee soorten op identiteit gebaseerde verbindingen: referenties voor beheerde identiteiten en referenties voor clientgeheimen.
Uw app configureren voor het gebruik van een beheerde identiteit (aanbevolen)
Met een beheerde identiteit kan uw app eenvoudig toegang krijgen tot andere met Microsoft Entra beveiligde resources, zoals Azure Key Vault. Beheerde identiteit wordt ondersteund in Durable Functions-extensieversie2.7.0 en hoger.
Notitie
Strikt genomen is een beheerde identiteit alleen beschikbaar voor apps wanneer deze worden uitgevoerd in Azure. Wanneer deze is geconfigureerd voor het gebruik van op identiteit gebaseerde verbindingen, gebruikt een lokaal uitgevoerde app uw ontwikkelaarsreferenties om te verifiëren met Azure-resources. Wanneer deze wordt geïmplementeerd in Azure, wordt in plaats daarvan gebruikgemaakt van de configuratie van uw beheerde identiteit.
Vereisten
In de volgende stappen wordt ervan uitgegaan dat u begint met een bestaande Durable Functions-app en bekend bent met hoe u deze kunt gebruiken. In deze quickstart wordt met name ervan uitgegaan dat u het volgende al hebt:
- U hebt een Durable Functions-project gemaakt in Azure Portal of een lokale Durable Functions geïmplementeerd in Azure.
Als dit niet het geval is, raden we u aan om te beginnen met een van de volgende artikelen, die gedetailleerde instructies bevat voor het bereiken van alle bovenstaande vereisten:
- Uw eerste duurzame functie maken - C#
- Uw eerste duurzame functie maken - JavaScript
- Uw eerste duurzame functie maken - Python
- Uw eerste duurzame functie maken - PowerShell
- Uw eerste duurzame functie maken - Java
Beheerde identiteit inschakelen
Er is slechts één identiteit nodig voor uw functie, ofwel een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit. Als u een beheerde identiteit voor uw functie wilt inschakelen en meer wilt weten over de verschillen tussen de twee identiteiten, leest u de gedetailleerde instructies hier.
Op rollen gebaseerd toegangsbeheer (RBAC) toewijzen aan beheerde identiteit
Navigeer naar de opslagresource van uw app in Azure Portal. Volg deze instructies om de volgende rollen toe te wijzen aan uw beheerde identiteitsresource.
- Inzender voor opslagwachtrijgegevens
- Inzender voor Storage Blob-gegevens
- Bijdrager voor opslagtabelgegevens
Configuratie van beheerde identiteit toevoegen in Azure Portal
Navigeer naar de configuratiepagina van uw Azure-functie-app en voer de volgende wijzigingen uit:
- Verwijder de standaardwaarde 'AzureWebJobsStorage'.
Koppel uw Azure-opslagaccount door een van de volgende waarde-instellingen toe te voegen:
AzureWebJobsStorage__accountName: bijvoorbeeld:
mystorageaccount123
AzureWebJobsStorage__blobServiceUri: Voorbeeld:
https://mystorageaccount123.blob.core.windows.net/
AzureWebJobsStorage__queueServiceUri: Voorbeeld:
https://mystorageaccount123.queue.core.windows.net/
AzureWebJobsStorage__tableServiceUri: Voorbeeld:
https://mystorageaccount123.table.core.windows.net/
Notitie
Als u Azure Government of een andere cloud gebruikt die losstaat van globale Azure, moet u deze tweede optie gebruiken om specifieke service-URL's op te geven. De waarden voor deze instellingen vindt u in het opslagaccount op het tabblad Eindpunten . Zie de documentatie ontwikkelen met storage-API in Azure Government voor meer informatie over het gebruik van Azure Storage met Azure Government .
Voltooi de configuratie van uw beheerde identiteit:
Als door het systeem toegewezen identiteit moet worden gebruikt, geeft u niets anders op.
Als de door de gebruiker toegewezen identiteit moet worden gebruikt, voegt u de volgende waarden voor app-instellingen toe in uw app-configuratie:
AzureWebJobsStorage__credential: managedidentity
AzureWebJobsStorage__clientId: (Dit is een GUID-waarde die u verkrijgt uit het Microsoft Entra-beheercentrum)
Uw app configureren voor het gebruik van clientgeheimreferenties
Het registreren van een clienttoepassing in Microsoft Entra ID is een andere manier waarop u de toegang tot een Azure-service kunt configureren. In de volgende stappen leert u hoe u clientgeheimreferenties gebruikt voor verificatie bij uw Azure Storage-account. Deze methode kan zowel lokaal als in Azure worden gebruikt door functie-apps. Clientgeheimreferenties worden echter minder aanbevolen dan beheerde identiteiten, omdat het ingewikkelder is om te configureren en beheren. Hiervoor moet een geheime referentie worden gedeeld met de Azure Functions-service.
Vereisten
In de volgende stappen wordt ervan uitgegaan dat u begint met een bestaande Durable Functions-app en bekend bent met hoe u deze kunt gebruiken. In deze quickstart wordt met name ervan uitgegaan dat u het volgende al hebt:
- Er is een Durable Functions-project gemaakt op uw lokale computer of in Azure Portal.
Een clienttoepassing registreren op Microsoft Entra-id
Registreer een clienttoepassing onder Microsoft Entra-id in Azure Portal volgens deze instructies.
Maak een clientgeheim voor uw clienttoepassing. In uw geregistreerde toepassing:
Selecteer Certificaten en geheimen en selecteer Nieuw clientgeheim.
Vul een beschrijving in en kies geheim geldige tijd in het veld Verloopt .
Kopieer en sla de geheime waarde zorgvuldig op omdat deze niet opnieuw wordt weergegeven nadat u de pagina hebt verlaten.
Op rollen gebaseerd toegangsbeheer (RBAC) toewijzen aan de clienttoepassing
Wijs deze drie rollen toe aan uw clienttoepassing met de volgende stappen.
- Inzender voor opslagwachtrijgegevens
- Inzender voor Storage Blob-gegevens
- Bijdrager voor opslagtabelgegevens
Navigeer naar de pagina Toegangsbeheer (IAM) van uw functie voor opslagaccounts en voeg een nieuwe roltoewijzing toe.
Kies de vereiste rol, klik op volgende en zoek naar uw toepassing, controleer en voeg deze toe.
Configuratie van clientgeheim toevoegen
Als u wilt uitvoeren en testen in Azure, geeft u de volgende waarden op op de pagina Configuratie van uw Azure-functie-app in Azure Portal. Als u lokaal wilt uitvoeren en testen, geeft u het volgende op in het bestand local.settings.json van de functie.
Verwijder de standaardwaarde 'AzureWebJobsStorage'.
Koppel een Azure-opslagaccount door een van de volgende waarde-instellingen toe te voegen:
AzureWebJobsStorage__accountName: bijvoorbeeld:
mystorageaccount123
AzureWebJobsStorage__blobServiceUri: Voorbeeld:
https://mystorageaccount123.blob.core.windows.net/
AzureWebJobsStorage__queueServiceUri: Voorbeeld:
https://mystorageaccount123.queue.core.windows.net/
AzureWebJobsStorage__tableServiceUri: Voorbeeld:
https://mystorageaccount123.table.core.windows.net/
De waarden voor deze URI-variabelen vindt u in het opslagaccount op het tabblad Eindpunten .
Voeg een referenties voor het clientgeheim toe door de volgende waarden op te geven:
AzureWebJobsStorage__clientId: (dit is een GUID-waarde op de toepassingspagina van Microsoft Entra)
AzureWebJobsStorage__ClientSecret: (dit is de geheime waarde die is gegenereerd in het Microsoft Entra-beheercentrum in een vorige stap)
AzureWebJobsStorage__tenantId: (dit is de tenant-id waarin de Microsoft Entra-toepassing is geregistreerd)
De client-id en tenant-id-waarden vindt u op de overzichtspagina van uw clienttoepassing. De waarde van het clientgeheim is de waarde die in de vorige stap zorgvuldig is opgeslagen. Deze is niet beschikbaar nadat de pagina is vernieuwd.