Een aangepaste connector maken voor met Azure AD beveiligde Azure-functies
Een belangrijk principe met Power Apps-connectors die gebruikmaken van Azure Active Directory (AAD) voor verificatie is dat ze gebruikers geen toegang bieden tot gegevens waartoe de gebruiker nog geen toegang heeft. Dit komt doordat de API-aanroep van de door AAD beveiligde service wordt uitgevoerd onder de gebruikers-id die wordt gebruikt bij het aanmelden bij de connector. Daarom onderhoudt de doelservice de verantwoordelijkheid voor het afdwingen van wat is toegestaan voor de geverifieerde gebruiker.
In deze zelfstudie leert u hoe u Azure Functions kunt gebruiken om een REST API te maken, AAD-verificatie in te schakelen en als een aangepaste connectorr beschikbaar te maken voor Power Apps.
Azure Functions maken met Visual Studio Code
Met Azure Functions beschikt u over diverse opties, waaronder hostingopties, taalkeuze en ontwerpopties, zoals het gebruik van de Azure-portal, Visual Studio Code, Visual Studio enzovoort. Voor deze zelfstudie wordt gebruikgemaakt van C# en Visual Studio Code. Om deze zelfstudie te voltooien, moet u eerst de zelfstudie Aan de slag: Een Azure Functions-project maken met Visual Studio Code voltooien. Noteer de naam die u aan de functie-app hebt gegeven in de stap Het project publiceren naar Azure.
Belangrijk
Voltooi de sectie Resources opschonen niet. U moet al uw resources bij de hand hebben om verder te kunnen bouwen aan wat u al hebt gedaan.
Aanroepen voor Azure Functions beveiligen met AAD
Zoek de functie-app in de Azure-portal. Selecteer de naam van uw functie-app in de lijst.

Schakel in het bovenste gedeelte over naar het tabblad Platformfuncties,

Selecteer vervolgens in de groep Netwerken de koppeling Verificatie/autorisatie.

Schakel op de blade Verificatie/autorisatie de App Service-verificatie in door de wisselknop App Service-verificatie op Aan te zetten.

In de vervolgkeuzelijst Te ondernemen actie wanneer de aanvraag niet is geverifieerd wijzigt u de waarde in Aanmelden met Azure Active Directory. Deze instelling zorgt ervoor dat anonieme aanvragen voor de API niet zijn toegestaan.

Selecteer vervolgens in de lijst met verificatieproviders de optie Azure Active Directory.

Stel op het tabblad Azure Active Directory-instellingen de optie Beheermodus in op Express. Stel de tweede optie Beheermodus in op Nieuwe AD-app maken.

Belangrijk
Voordat u doorgaat, noteert u de waarde in het veld App maken en slaat u deze op voor later. Deze waarde vertegenwoordigt de naam van de AAD-toepassing die u gebruikt om de API te beveiligen. U gebruikt deze waarde later wanneer u uw aangepaste connector configureert.
Selecteer de knop OK om uw selectie te bevestigen.
Selecteer op de blade Verificatie/autorisatie de optie Opslaan om de instellingen voor verificatie en autorisatie van de functie-app bij te werken.

Selecteer na het opslaan Azure Active Directory in de sectie Verificatieproviders.

Selecteer de Azure AD-app, kopieer vervolgens de waarde Client-id en sla deze op voor later.

Controleer of de API goed is beveiligd door een nieuw browservenster in privémodus te openen en naar de API te navigeren. De URL voor uw functie-app vindt u in de sectie Overzicht van de blade Functie-app. Als de verificatie-instellingen correct zijn toegepast, wordt u omgeleid naar de aanmeldingspagina van Azure AD.

Een aangepaste connector maken voor uw Azure-functie
Als u een aangepaste connector wilt maken die gebruikmaakt van AAD-verificatie, moet u een AAD-app-registratie maken om de aangepaste connector te beveiligen en gedelegeerde toegang te verkrijgen tot de Azure-functies die worden beveiligd door de AAD-app-registratie die is gemaakt in de sectie Aanroepen voor Azure Functions beveiligen met AAD.
Een app-registratie maken voor uw aangepaste connector in AAD
Maak eerst een AAD-toepassing voor uw aangepaste connector. Dit is vereist om de aangepaste connector toestemming te geven om uw Azure-functies aan te roepen.
Ga naar de pagina App-registraties in de Azure-portal.

Selecteer in de lijst met geregistreerde toepassingen de optie Nieuwe registratie.

Voer een naam in voor uw toepassing, selecteer de opties die in de onderstaande schermafbeelding worden weergegeven en selecteer vervolgens de knop Registreren.

Notitie
Zie Aan de slag: Een toepassing bij het Microsoft-identiteitsplatform voor meer informatie over opties voor de registratie van apps.
Nadat u de knop Registreren hebt geselecteerd, worden API-machtigingen voor uw App-registratie weergegeven.

Selecteer de knop Een machtiging toevoegen.

Selecteer het tabblad API's die in mijn organisatie worden gebruikt en zoek vervolgens de naam van de app uit stap 7 in de sectie Aanroepen voor Azure Functions beveiligen met AAD. Klik op de naam van de app wanneer u deze hebt gevonden.
Belangrijk
De app-naam komt niet overeen met wat er in de schermafbeelding staat.

Schakel het selectievakje user_impersonation in en klik op de knop Machtigingen toevoegen.

Notitie
Zie Machtigingen en toestemming in het eindpunt van Microsoft identity platform voor meer informatie over machtigingen.
Selecteer Certificaten en geheimen en selecteer vervolgens de knop Nieuw clientgeheim.

Voer een beschrijving in voor uw geheim, selecteer een vervalperiode en selecteer vervolgens Toevoegen.

Uw nieuwe geheim wordt weergegeven. Kopieer de waarde en sla deze op. U hebt deze later nodig.

Selecteer Overzicht en sla de waarde van de Toepassings(client)-id op. U hebt deze later nodig.

Houd deze pagina open zodat u er snel naar terug kunt gaan. Er moet nog één stap worden uitgevoerd in de Azure-portal, maar eerst maakt u een aangepaste connector.
Een aangepaste connector maken
Nu de AAD-toepassing is geconfigureerd, kunt u de aangepaste connector maken. Als u een aangepaste connector wilt maken, beschrijft u de API waarmee u verbinding wilt maken, zodat de connector de bewerkingen en gegevensstructuren van de API begrijpt. Als u Azure-functies voor aangepaste connectors maakt, maakt u de connector vaak iteratief door de volgende stappen te herhalen:
- Met Visual Studio Code gaat u de Azure Function lokaal maken, testen en de fouten erin opsporen.
- Implementeer de functie-app in Azure.
- Werk de configuratie van de aangepaste connector bij, zodat de wijzigingen in de functie-app worden doorgevoerd.
Postman is een populair hulpprogramma om web-API's te testen. Het wordt vaak gebruikt om Azure-functies te testen. In dit onderwerp gaat u een aangepaste connector maken op basis van een Postman-verzameling. De Postman-verzameling wordt aan u verstrekt.
Notitie
Zie het onderwerp Een Postman-verzameling voor een aangepaste connector maken voor informatie over hoe u uw eigen Postman-verzameling kunt maken. Postman is slechts een van de opties voor het maken van een aangepaste connector. Zie het onderwerp De API beschrijven en de aangepaste connector definiëren voor informatie over andere opties.
Meld u op een nieuw browsertabblad aan bij Power Apps of Power Automate.
Kopieer de onderstaande code. Maak een nieuw bestand in uw favoriete teksteditor, maak een nieuw bestand en plak de code erin als de inhoud van het bestand. Sla het bestand op. U kunt het een naam naar wens geven, maar onthoud deze wel (bijvoorbeeld zelfstudie-aangepaste-connector.json). U hebt dit bestand nodig in de volgende stappen.
{ "id": "c4b5deba-f97b-47d0-82a5-a2b32561fb01", "name": "Custom Connector", "description": null, "auth": null, "events": null, "variables": [], "order": [ "374365a1-ede5-4ead-8068-d878085dad26" ], "folders_order": [], "protocolProfileBehavior": {}, "folders": [], "requests": [ { "id": "374365a1-ede5-4ead-8068-d878085dad26", "name": "Hello", "url": "http://localhost:7071/api/Hello", "description": "", "data": [], "dataOptions": { "raw": { "language": "json" } }, "dataMode": "raw", "headerData": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "description": "", "type": "text" } ], "method": "POST", "pathVariableData": [], "queryParams": [], "auth": null, "events": null, "folder": null, "responses": [ { "id": "46baba58-7b85-4a2e-8c7d-303080e08ba9", "name": "Hello", "status": null, "mime": null, "language": "plain", "text": "Hello, Marc. This HTTP triggered function executed successfully.", "responseCode": { "code": 200, "name": "OK" }, "requestObject": { "data": [], "dataMode": "raw", "dataOptions": { "raw": { "language": "json" } }, "headerData": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "description": "", "type": "text" } ], "method": "POST", "pathVariableData": [], "queryParams": [], "url": "http://localhost:7071/api/Hello", "rawModeData": "{\n\t\"name\": \"Marc\"\n}" }, "headers": [ { "key": "Date", "value": "Wed, 04 Mar 2020 22:32:06 GMT" }, { "key": "Content-Type", "value": "text/plain; charset=utf-8" }, { "key": "Server", "value": "Kestrel" }, { "key": "Transfer-Encoding", "value": "chunked" } ], "cookies": null, "request": "374365a1-ede5-4ead-8068-d878085dad26", "collection": "c4b5deba-f97b-47d0-82a5-a2b32561fb01" } ], "rawModeData": "{\n\t\"name\": \"Marc\"\n}", "headers": "Content-Type: application/json\n", "pathVariables": {} } ] }In het navigatiedeelvenster selecteert u Gegevens om het uit te vouwen, selecteer vervolgens Aangepaste connectors.

In de rechterbovenhoek selecteert u Nieuwe aangepaste connector en vervolgens Een Postman-verzameling importeren.

Voer een naam in voor de connector, selecteer de knop Importeren, blader naar het bestand dat u in stap 2 hebt gemaakt en selecteer Doorgaan.

De pagina Algemeen wordt geopend. Wijzig het Schema in HTTPS, vervang de waarde Host door het domein van uw functie-app en ga vervolgens met de wizard naar de pagina Beveiliging.

Geef op de pagina Beveiliging AAD-gegevens voor de toepassing op.
Voer voor Client-id de waarde Toepassings(client)-id in die u in stap 11 in Een app-registratie maken voor uw aangepaste connector in AAD hebt gekopieerd.
Voer voor Clientgeheim de geheime waarde in die u in stap 11 in Een app-registratie maken voor uw aangepaste connector in AAD hebt gekopieerd.
Voer voor Resource-URL de URL in voor uw functie-app. Deze heeft de indeling
https://[function-app-name].azurewebsites.net.

Als u de beveiligingsgegevens hebt ingevoerd, selecteert u de knop Connector bijwerken om de aangepaste connector te maken.
Op de pagina Beveiliging is het veld Omleidings-URL nu ingevuld. Kopieer deze URL zodat u deze in de volgende sectie van deze zelfstudie kunt gebruiken.
Notitie
Mogelijk moet u omlaag schuiven om de omleidings-URL te kunnen zien.

Ga in een ander browsertabblad terug naar de app-registratie die u in de sectie Een app-registratie maken voor uw aangepaste connector in AAD hebt gemaakt. Controleer of u zich in de sectie Overzicht bevindt en selecteer Een omleidings-URI toevoegen.

Selecteer de knop Een platform toevoegen.

In het deelvenster Platforms configureren selecteert u Web.

In het deelvenster Web configureren plakt u de waarde Omleidings-URL uit stap 7 en selecteert u de knop Configureren.

Ga terug naar het browsertabblad met de configuratie van de aangepaste connector. Als het goed is bevindt u zich nog steeds op de pagina Beveiliging in de wizard.
Ga door naar de pagina Definitie in de wizard door het woord Definitie te selecteren. Controleer het resultaat.

Notitie
De definitie is afkomstig van de Postman-verzameling die u hebt geïmporteerd. Als u wijzigingen hebt aangebracht in de code in de zelfstudie Aan de slag: Een Azure Functions-project maken met Visual Studio Code, komt het importbestand mogelijk niet overeen met de vorm van uw API. U moet een nieuwe Postman-verzameling maken of de actie handmatig aanpassen in de aangepaste connector. Als u een nieuwe Postman-verzameling wilt maken, gebruikt u de koppelingen die hier eerder in deze zelfstudie zijn gedeeld. Als u de actie handmatig wilt aanpassen, kunt u de sectie De definitie van de connector maken in de zelfstudie Een volledig nieuwe aangepaste connector maken lezen.
De connector testen
Nu u de connector hebt gemaakt, test u deze om te controleren of de connector juist werkt. Testen is momenteel alleen beschikbaar in Power Automate en Power Apps.
Ga door naar de pagina Testen in de wizard door het woord Testen te selecteren.

Op de pagina Testen selecteert u Nieuwe verbinding.

Selecteer de knop Maken en meld u aan met uw AAD-gebruikersaccount.

Ga terug naar de pagina Testen.
In Power Automate wordt u teruggeleid naar de pagina Testen. Kies het pictogram Vernieuwen om ervoor te zorgen dat de verbindingsgegevens worden bijgewerkt.

In Power Apps wordt u naar de lijst met verbindingen geleid die beschikbaar zijn in de huidige omgeving. In het navigatiedeelvenster selecteert u Aangepaste connectors. Zoek de aangepaste connector en selecteer het bewerkingspictogram.

Ga terug naar de pagina Testen, voer een waarde in het veld Naam in en selecteer Testbewerking.

Bekijk de Aanvraag en het Antwoord.


Volgende stappen
Nu u een aangepaste connector hebt gemaakt en het gedrag van deze connector hebt gedefinieerd, kunt u de connector gaan gebruiken.