Zelfstudie: Toegang tot privésites van Azure Functions tot stand brengen

In deze zelfstudie wordt uitgelegd hoe u toegang tot privésite kunt inschakelen met Azure Functions. Als u toegang tot privésite gebruikt, kunt u vereisen dat uw functiecode alleen wordt geactiveerd vanuit een specifiek virtueel netwerk.

Toegang tot de privésite is handig in scenario's waarbij de toegang tot de functie-app moet worden beperkt tot een specifiek virtueel netwerk. De functie-app kan bijvoorbeeld alleen van toepassing zijn op werknemers van een specifieke organisatie of op services die zich binnen het opgegeven virtuele netwerk bevinden (zoals een andere Azure-functie, een virtuele Azure-machine of een AKS-cluster).

Als een Functions-app toegang moet hebben tot Azure-resources in het virtuele netwerk, of moet worden verbonden via service-eindpunten, dan is integratie van virtueel netwerk nodig.

In deze zelfstudie leert u hoe u toegang tot privésites kunt configureren voor uw functie-app:

  • Maak een virtuele machine
  • Een Azure Bastion-service maken
  • Een Azure Functions-app maken
  • Een service-eindpunten voor virtuele netwerken configureren
  • Een Azure Function maken en implementeren
  • De functie van buiten en binnen het virtuele netwerk aanroepen

Als u nog geen abonnement op Azure hebt, maakt u een gratis account aan voordat u begint.

Topologie

In het volgende diagram wordt de architectuur van de te maken toepassing weergegeven:

High-level architecture diagram for private site access solution

Vereisten

Voor deze zelfstudie is het belangrijk dat u inzicht hebt in IP-adressering en subnetten. U kunt beginnen met dit artikel waarin de basisprincipes van adressering en subnetten worden beschreven. Er zijn veel meer artikelen en video's online beschikbaar.

Meld u aan bij Azure Portal

Meld u aan bij de Azure-portal.

Maak een virtuele machine

De eerste stap in deze zelfstudie is het maken van een nieuwe virtuele machine in een virtueel netwerk. De virtuele machine wordt gebruikt om toegang te krijgen tot uw functie zodra u de toegang ervan hebt beperkt tot alleen beschikbaar is vanuit het virtuele netwerk.

  1. Selecteer de knop Een resource maken.

  2. Typ Windows Server in het zoekveld en selecteer Windows Server in de zoekresultaten.

  3. Selecteer Windows Server 2019 Data Center in de lijst met opties voor Windows Server en druk op de knop Maken.

  4. Gebruik in het tabblad Basisbeginselen de VM-instellingen die in de tabel onder de afbeelding zijn opgegeven:

    Basics tab for a new Windows VM

    Instelling Voorgestelde waarde Beschrijving
    Abonnement Uw abonnement Het abonnement waarmee deze nieuwe resources zijn gemaakt.
    Resourcegroep myResourceGroup Kies de resourcegroep die alle resources moet bevatten voor deze zelfstudie. Door dezelfde resourcegroep te gebruiken, is het eenvoudiger om resources op te schonen wanneer u klaar bent met deze zelfstudie.
    Naam van virtuele machine myVM De VM-naam moet uniek zijn in de resourcegroep
    Regio (VS) VS - noord-centraal Kies een regio bij u in de buurt of in de buurt van de functies die u wilt gebruiken.
    Openbare poorten voor inkomend verkeer Geen Selecteer Geen om er zeker van te zijn dat er geen inkomende connectiviteit is met de virtuele machine via internet. Externe toegang tot de virtuele machine wordt geconfigureerd via de Azure Bastion-service.
  5. Kies het tabblad Netwerken en selecteer Nieuwe maken om een nieuw virtueel netwerk te configureren.

    Screenshot that shows the

  6. Gebruik in Virtueel netwerk maken de instellingen in de tabel onder de afbeelding:

    Create a new virtual network for the new VM

    Instelling Voorgestelde waarde Omschrijving
    Naam myResourceGroup-vnet U kunt de standaardnaam gebruiken die voor het virtuele netwerk is gegenereerd.
    Adresbereik 10.10.0.0/16 Gebruik één adresbereik voor het virtuele netwerk.
    Subnetnaam Zelfstudie Naam van het subnet.
    Adresbereik (subnet) 10.10.1.0/24 De subnetgrootte bepaalt hoeveel interfaces aan het subnet kunnen worden toegevoegd. Dit subnet wordt gebruikt door de virtuele machine. Een /24-subnet biedt 254 hostadressen.
  7. Selecteer OK om het virtuele netwerk te maken.

  8. Schakel op het tabblad Netwerken de optie Geen in voor Openbare IP.

  9. Kies het tabblad Beheer en kies in Diagnostische opslagaccount de optie Nieuwe maken om een nieuw opslagaccount te maken.

  10. Behoud de standaardwaarden voor de gedeelten Identiteit, Automatisch afsluiten en Back-up.

  11. Selecteer Controleren + maken. Nadat de validatie is voltooid, selecteert u Maken. Het proces voor het maken van de virtuele machine duurt een paar minuten.

Azure Bastion configureren

Azure Bastion is een volledig beheerde Azure-service die rechtstreeks vanuit de Azure-portal beveiligde RDP- en SSH-toegang biedt tot virtuele machines. Als u de Azure Bastion-service gebruikt, is het niet meer nodig om netwerkinstellingen met betrekking tot RDP-toegang te configureren.

  1. Kies in de portal Toevoegen bovenaan de resourcegroepweergave.

  2. Typ Bastion in het zoekveld.

  3. Selecteer Bastion in de zoekresultaten.

  4. Selecteer Maken om het proces voor het maken van een nieuwe Azure Bastion-resource te starten. Er wordt een foutbericht weergegeven in het gedeelte Virtueel netwerk omdat er nog geen AzureBastionSubnet-subnet is. Het subnet wordt in de volgende stappen gemaakt. Gebruik de instellingen van de tabel onder de afbeelding:

    Start of creating Azure Bastion

    Instelling Voorgestelde waarde Omschrijving
    Naam myBastion De naam van de nieuwe Bastion-resource
    Regio VS - noord-centraal Kies een regio in de buurt of in de buurt van andere services die door uw functie worden gebruikt.
    Virtueel netwerk myResourceGroup-vnet Het virtuele netwerk waarin de Bastion-resource wordt gemaakt
    Subnet AzureBastionSubnet Het subnet in het virtuele netwerk waarop de nieuwe Bastion-hostresource wordt geïmplementeerd. U moet een subnet maken met de naamwaarde AzureBastionSubnet. Deze waarde geeft Azure aan op welk subnet de Bastion-resources moeten worden geïmplementeerd. U moet een subnet van minimaal /27 of groter (/27, /26 enzovoort) gebruiken.

    Notitie

    Raadpleeg de zelfstudie Een Azure Bastion-host maken voor een gedetailleerde, stapsgewijze handleiding voor het maken van een Azure Bastion-resource.

  5. Maak een subnet waarin Azure de Azure Bastion-host kan inrichten. Als u Subnet-configuratie beheren kiest, wordt een nieuw deelvenster geopend waarin u een nieuw subnet kunt definiëren. Kies + Subnet om een nieuw subnet te maken.

  6. Het subnet moet de naam AzureBastionSubnet hebben en het subnetvoorvoegsel moet ten minste /27 zijn. Selecteer OK om het subnet te maken.

    Create subnet for Azure Bastion host

  7. Selecteer op de pagina Een bastion maken de zojuist gemaakte AzureBastionSubnet in de lijst met beschikbare subnetten.

    Create an Azure Bastion host with specific subnet

  8. Selecteer Beoordelen en maken. Wanneer de validatie is voltooid, selecteert u Maken. Het duurt enkele minuten voordat de Azure Bastion-resource is gemaakt.

Een Azure Functions-app maken

De volgende stap is het maken van een functie-app in Azure met behulp van het Verbruiksabonnement. Verderop in de zelfstudie implementeert u uw functiecode in deze resource.

  1. Kies in de portal Toevoegen bovenaan de resourcegroepweergave.

  2. > Compute Function-app selecteren

  3. In het gedeelte Basisbeginselen gebruikt u de instellingen voor de functie-app die in de onderstaande tabel zijn opgegeven.

    Instelling Voorgestelde waarde Beschrijving
    Resourcegroep myResourceGroup Kies de resourcegroep die alle resources moet bevatten voor deze zelfstudie. Door dezelfde resourcegroep te gebruiken voor de functie-app en de VM, is het eenvoudiger om resources op te schonen wanneer u klaar bent met deze zelfstudie.
    Naam van de functie-app Wereldwijd unieke naam Naam waarmee uw nieuwe functie-app wordt aangeduid. Geldige tekens zijn a-z (hoofdlettergevoelig), 0-9 en -.
    Publiceren Code Optie voor het publiceren van codebestanden of een Docker-container.
    Runtimestack Voorkeurstaal Kies een runtime die uw favoriete functieprogrammeertaal ondersteunt.
    Regio VS - noord-centraal Kies een regio in de buurt of in de buurt van andere services die door uw functie worden gebruikt.

    Selecteer de knop Volgende: Hosting > .

  4. Selecteer voor het gedeelte Hosting het juiste Opslagaccount, Besturingssysteem en Abonnement, zoals wordt beschreven in de volgende tabel.

    Instelling Voorgestelde waarde Beschrijving
    Opslagaccount Wereldwijd unieke naam Maak een opslagaccount die wordt gebruikt door uw functie-app. Namen van opslagaccounts moeten tussen 3 en 24 tekens lang zijn en mogen alleen cijfers en kleine letters bevatten. U kunt ook een bestaand account gebruiken dat voldoet aan de vereisten voor een opslagaccount.
    Besturingssysteem Voorkeurbesturingssysteem Er wordt vooraf een besturingssysteem geselecteerd voor u op basis van de selectie van de runtimestack, maar u kunt de instelling wijzigen, indien nodig.
    Plannen Verbruik Het hostingabonnement bepaalt hoe de functie-app wordt geschaald en welke resources beschikbaar zijn voor elke instantie.
  5. Selecteer Beoordelen + maken om de selecties van appconfiguratie te controleren.

  6. Selecteer Maken om de functie-app in te richten en te implementeren.

Toegangsbeperkingen configureren

De volgende stap is het configureren van toegangsbeperkingen om ervoor te zorgen dat alleen resources in het virtuele netwerk de functie kunnen aanroepen.

Toegang tot de privésite wordt ingeschakeld door een Azure Virtual Network-service-eindpunt te maken tussen de functie-app en het opgegeven virtuele netwerk. Toegangsbeperkingen worden geïmplementeerd via service-eindpunten. Service-eindpunten zorgen ervoor dat alleen verkeer dat afkomstig is van binnen het opgegeven virtuele netwerk toegang heeft tot de aangewezen resource. In dit geval is de aangewezen resource de Azure-functie.

  1. Selecteer in de functie-app de koppeling Netwerk onder de gedeelteheader Instellingen.

  2. De pagina Netwerken is het beginpunt voor het configureren van de Azure Front Door, de Azure CDN en ook toegangsbeperkingen.

  3. Selecteer Toegangsbeperkingen configureren om toegang tot privésite te configureren.

  4. Op de pagina Toegangsbeperkingen ziet u alleen de standaardbeperking. De standaardbeperking bevat geen beperkingen voor toegang tot de functie-app. Selecteer Regel toevoegen om een beperkingsconfiguratie voor toegang tot de privésite te maken.

  5. Geef in het deelvenster Toegangsbeperking toevoegen een Naam, Prioriteit en Beschrijving op voor de nieuwe regel.

  6. Selecteer Virtueel netwerk in de vervolgkeuzelijst Type, selecteer het eerder gemaakte virtuele netwerk en selecteer vervolgens het subnet Zelfstudie.

    Notitie

    Het kan enkele minuten duren om het service-eindpunt in te schakelen.

  7. Op de pagina Toegangsbeperkingen wordt nu een nieuwe beperking weergegeven. Het kan enkele seconden duren voordat de status van het Eindpunt wordt gewijzigd van Uitgeschakeld naar Inrichten tot Ingeschakeld.

    Belangrijk

    Elke functie-app heeft een site voor Geavanceerd hulpprogramma (Kudu) die wordt gebruikt om de implementaties van functie-apps te beheren. Deze site wordt geopend via een URL zoals: <FUNCTION_APP_NAME>.scm.azurewebsites.net. Als toegangsbeperkingen op de Kudu-site worden ingeschakeld, wordt de implementatie van de projectcode van een lokaal ontwikkelaarswerkstation voorkomen. Er is een agent binnen het virtuele netwerk vereist om de implementatie uit te voeren.

De functie-app openen

  1. Ga terug naar de eerder gemaakte functie-app. Kopieer de URL in het gedeelte Overzicht.

    Get the Function app URL

    Als u nu toegang probeert te krijgen tot de functie-app vanaf uw computer buiten het virtuele netwerk, ontvangt u een HTTP 403-pagina die aangeeft dat de toegang niet is toegestaan.

  2. Ga terug naar de resourcegroep en selecteer de eerder gemaakte virtuele machine. Als u toegang wilt krijgen tot de site vanaf de virtuele machine, moet u verbinding maken met de virtuele machine via de Azure Bastion-service.

  3. Selecteer Verbinding maken en kies vervolgens Bastion.

  4. Geef de vereiste gebruikersnaam en het wachtwoord op om in te loggen bij de virtuele machine.

  5. Selecteer Verbinding maken. Er wordt een nieuw browservenster weergegeven waarin u kunt communiceren met de virtuele machine. Het is mogelijk om toegang te krijgen tot de site vanuit de webbrowser op de virtuele machine omdat de virtuele machine toegang heeft tot de site via het virtuele netwerk. Hoewel de site alleen toegankelijk is vanuit het aangewezen virtuele netwerk, blijft een openbare DNS-vermelding aanwezig.

Een functie maken

De volgende stap in deze zelfstudie is het maken van een Azure-functie die door HTTP wordt geactiveerd. Het aanroepen van de functie via een HTTP GET of POST moet resulteren in een antwoord zoals 'Hallo {name}'.

  1. Volg een van de volgende quickstarts om uw Azure Functions-app te maken en te implementeren.

  2. Wanneer u uw Azure Functions-project publiceert, kiest u de resource van de functie-app die u eerder in deze zelfstudie hebt gemaakt.

  3. Controleer of de functie is geïmplementeerd.

    Deployed function in list of functions

De functie direct aanroepen

  1. Als u de toegang tot de functie wilt testen, moet u de functie-URL kopiëren. Selecteer de geïmplementeerde functie en selecteer Functie-URL ophalen. Klik vervolgens op de knop Kopiëren om de URL naar het klembord te kopiëren.

    Copy the function URL

  2. Plak de URL in een webbrowser. Als u nu toegang probeert te krijgen tot de functie-app vanaf uw computer buiten het virtuele netwerk, ontvangt u een HTTP 403-antwoord dat aangeeft dat toegang tot de app niet is toegestaan.

De functie van binnen het virtuele netwerk aanroepen

Als u de functie opent via een webbrowser (door gebruik te maken van de Azure Bastion-service) op de geconfigureerde VM in het virtuele netwerk, lukt dit.

Access the Azure Function via Azure Bastion

Resources opschonen

In de voorgaande stappen hebt u Azure-resources in een resourcegroep gemaakt. Als u deze resources in de toekomst waarschijnlijk niet nodig hebt, kunt u ze verwijderen door de resourcegroep te verwijderen.

Selecteer Resourcegroepen in het menu of op de beginpagina van de Azure-portal. Selecteer myResourceGroup op de pagina Resourcegroepen.

Controleer op de pagina myResourceGroup of de weergegeven resources de resources zijn die u wilt verwijderen.

Selecteer Resourcegroep verwijderen, typ myResourceGroup in het tekstvak om dit te bevestigen en selecteer Verwijderen.

Volgende stappen