Een beveiligd opslagaccount gebruiken met Azure Functions
Azure Functions vereist een Azure Storage-account wanneer u een exemplaar van een functie-app maakt. Dit standaardopslagaccount wordt door de Functions-runtime gebruikt om de status van uw functie-app te behouden. Zie Overwegingen bij het gebruik van opslag voor Azure Functions voor meer informatie. In dit artikel leest u hoe u een beveiligd opslagaccount gebruikt als het standaardopslagaccount. Zie de zelfstudie Integreren met een virtueel netwerk voor een uitgebreide zelfstudie over het maken van uw functie-app met binnenkomende en uitgaande toegangsbeperkingen. Zie Azure Functions-netwerkopties voor meer informatie over Azure Functions en netwerken.
Uw opslagaccount beperken tot een virtueel netwerk
Wanneer u een functie-app maakt, maakt u een nieuw opslagaccount of maakt u een koppeling naar een bestaand opslagaccount. Houd rekening met deze overwegingen bij het werken met een beveiligd opslagaccount.
- Als u een functie-app wilt maken die gebruikmaakt van een bestaand beveiligd opslagaccount als het standaardopslagaccount, moet u uw app maken in Azure Portal of met behulp van een ARM-sjabloon of Bicep-implementaties .
- Wanneer u een beveiligd opslagaccount met een dynamisch schaalplan gebruikt, moet u uw functies hosten in het Flex Consumption-abonnement. Dit plan ondersteunt zowel beveiligde opslagaccounts als beheerde op identiteit gebaseerde verbindingen met opslag. Dit is de veiligste verbindingsoptie.
- Alle lagen van zowel het Dedicated -abonnement (App Service) als het Elastic Premium-abonnement bieden ook ondersteuning voor beveiligde opslagaccounts. Er zijn echter compromissen wanneer u beheerde identiteiten gebruikt om verbinding te maken vanuit een Premium-abonnements-app. Zie Een app maken zonder Azure Files voor meer informatie.
- Het verbruiksabonnement biedt geen ondersteuning voor virtuele netwerken, dus u kunt geen verbinding maken met een beveiligd opslagaccount wanneer u in het verbruiksabonnement werkt. Als u wilt profiteren van serverloze functiehosting, moet u in plaats daarvan uw app opnieuw maken om te worden uitgevoerd in het Flex Consumption-abonnement.
- Dit artikel laat u momenteel zien hoe u een functie-app maakt in een Premium-abonnement dat verbinding maakt met een beveiligd opslagaccount met behulp van het opslagaccount verbindingsreeks. Als u de beste beveiliging van opslagaccountreferenties wilt bieden, moet u in plaats daarvan beheerde identiteiten gebruiken wanneer u verbinding maakt met een opslagaccount. Volg in plaats daarvan de quickstart: Functies maken en implementeren in Azure Functions met behulp van de Azure Developer CLI om een functie-app te maken in het Flex Consumption-plan dat verbinding maakt met een nieuw beveiligd opslagaccount met behulp van beheerde identiteiten.
- Zie De vereisten voor opslagaccounts voor een lijst met alle beperkingen voor opslagaccounts.
Beveiligde opslag tijdens het maken van een functie-app
U kunt een functie-app maken, samen met een nieuw opslagaccount dat is beveiligd achter een virtueel netwerk. In de volgende secties ziet u hoe u deze resources maakt met behulp van Azure Portal of met behulp van implementatiesjablonen.
Voer de stappen uit in Een functie-app maken in een Premium-abonnement. In deze sectie van de zelfstudie over virtuele netwerken ziet u hoe u een functie-app maakt die verbinding maakt met opslag via privé-eindpunten.
Notitie
Wanneer u uw functie-app maakt in Azure Portal, kunt u ook een bestaand beveiligd opslagaccount kiezen op het tabblad Opslag . U moet echter de juiste netwerken configureren in de functie-app, zodat deze verbinding kan maken via het virtuele netwerk dat wordt gebruikt om het opslagaccount te beveiligen. Als u geen machtigingen hebt om netwerken te configureren of als u uw netwerk niet volledig hebt voorbereid, selecteert u Netwerken configureren nadat u het hebt gemaakt op het tabblad Netwerken. U kunt netwerken configureren voor uw nieuwe functie-app in de portal onder Instellingen>netwerken.
Beveiligde opslag voor een bestaande functie-app
Wanneer u een bestaande functie-app hebt, kunt u rechtstreeks netwerken configureren voor het opslagaccount dat door de app wordt gebruikt. Dit proces resulteert er echter in dat uw functie-app niet beschikbaar is tijdens het configureren van netwerken en terwijl uw functie-app opnieuw wordt gestart.
Als u downtime wilt minimaliseren, kunt u in plaats daarvan een bestaand opslagaccount wisselen voor een nieuw, beveiligd opslagaccount.
1. Integratie van virtuele netwerken inschakelen
Als vereiste moet u integratie van virtuele netwerken inschakelen voor uw functie-app:
Kies een functie-app met een opslagaccount waarvoor geen service-eindpunten of privé-eindpunten zijn ingeschakeld.
Schakel integratie van virtuele netwerken in voor uw functie-app.
2. Een beveiligd opslagaccount maken
Stel een beveiligd opslagaccount in voor uw functie-app:
Maak een tweede opslagaccount. Dit opslagaccount is het beveiligde opslagaccount dat uw functie-app kan gebruiken in plaats van het oorspronkelijke niet-beveiligde opslagaccount. U kunt ook een bestaand opslagaccount gebruiken dat nog niet door Functions wordt gebruikt.
Sla de verbindingsreeks voor dit opslagaccount op voor later gebruik.
Maak een bestandsshare in het nieuwe opslagaccount. Voor uw gemak kunt u dezelfde bestandsnaam van uw oorspronkelijke opslagaccount gebruiken. Als u anders een nieuwe naam voor een bestandsshare gebruikt, moet u de app-instelling bijwerken.
Beveilig het nieuwe opslagaccount op een van de volgende manieren:
Maak een privé-eindpunt. Wanneer u uw privé-eindpuntverbinding instelt, maakt u privé-eindpunten voor de
file
enblob
subresources. Voor Durable Functions moet u ook bronnen toegankelijk maken entable
subresources toegankelijk makenqueue
via privé-eindpunten. Als u een aangepaste of on-premises DNS-server (Domain Name System) gebruikt, configureert u uw DNS-server om deze om te zetten in de nieuwe privé-eindpunten.Beperk verkeer naar specifieke subnetten. Zorg ervoor dat uw functie-app is geïntegreerd met een toegestaan subnet en of het subnet een service-eindpunt heeft.
Microsoft.Storage
Kopieer het bestand en de blob-inhoud van het huidige opslagaccount dat door de functie-app wordt gebruikt naar het zojuist beveiligde opslagaccount en de bestandsshare. AzCopy en Azure Storage Explorer zijn veelgebruikte methoden. Als u Azure Storage Explorer gebruikt, moet u mogelijk toegang tot het IP-adres van uw client toestaan tot de firewall van uw opslagaccount.
U bent nu klaar om uw functie-app te configureren om te communiceren met het zojuist beveiligde opslagaccount.
3. Toepassings- en configuratieroutering inschakelen
Notitie
Deze configuratiestappen zijn alleen vereist voor de Elastic Premium - en Dedicated -hostingabonnementen (App Service ). Voor het Flex Consumption-abonnement zijn geen site-instellingen vereist om netwerken te configureren.
U bent nu klaar om het verkeer van uw functie-app te routeren om door het virtuele netwerk te gaan:
Schakel toepassingsroutering in om het verkeer van uw app naar het virtuele netwerk te routeren :
Vouw in uw functie-app Instellingen uit en selecteer Netwerken. Selecteer op de pagina Netwerken onder Configuratie van uitgaand verkeer het subnet dat is gekoppeld aan de integratie van uw virtuele netwerk.
Selecteer op de nieuwe pagina onder Toepassingsroutering uitgaand internetverkeer.
Schakel routering van inhoudsshares in om uw functie-app te laten communiceren met uw nieuwe opslagaccount via het virtuele netwerk. Selecteer inhoudsopslag onder Configuratieroutering op dezelfde pagina als in de vorige stap.
Notitie
U moet er speciaal voor zorgen dat u doorsturen naar de inhoudsshare in een opslagaccount dat wordt gedeeld door meerdere functie-apps in hetzelfde plan. Zie consistent routeren via virtuele netwerken in het artikel Over overwegingen voor opslag voor meer informatie.
4. Toepassingsinstellingen bijwerken
Ten slotte moet u uw toepassingsinstellingen bijwerken om te verwijzen naar het nieuwe beveiligde opslagaccount:
Vouw in uw functie-app Instellingen uit en selecteer vervolgens Omgevingsvariabelen.
Werk op het tabblad App-instellingen de volgende instellingen bij door elke instelling te selecteren, deze te bewerken en vervolgens Toepassen te selecteren:
Naam instelling Weergegeven als Opmerking AzureWebJobsStorage
Opslag verbindingsreeks Gebruik de verbindingsreeks voor uw nieuwe beveiligde opslagaccount, dat u eerder hebt opgeslagen. WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Opslag verbindingsreeks Gebruik de verbindingsreeks voor uw nieuwe beveiligde opslagaccount, dat u eerder hebt opgeslagen. WEBSITE_CONTENTSHARE
Bestandsshare Gebruik de naam van de bestandsshare die is gemaakt in het beveiligde opslagaccount waarin de projectimplementatiebestanden zich bevinden. Selecteer Toepassen en bevestig vervolgens om de nieuwe toepassingsinstellingen op te slaan in de functie-app.
De functie-app wordt opnieuw opgestart.
Nadat de functie-app opnieuw is opgestart, maakt deze verbinding met het beveiligde opslagaccount.