Skapa en anpassad koppling för Azure AD-skyddade Azure Functions
En viktig princip med Power Apps-koppling som använder Azure Active Directory (AAD) för autentisering är att de inte ger användare åtkomst till data som användaren inte redan har åtkomst till. Detta beror på att API-anropet till den AAD-skyddade tjänsten körs under den användaridentitet som används för att logga in på anslutningen. Därför behåller måltjänsten ansvaret för att tvinga fram vad som tillåts för den autentiserade användaren.
Den här självstudien visar hur du använder Azure Functions för att skapa en REST API, aktivera AAD-autentisering och sedan göra den tillgänglig för Power Apps som en anpassad koppling.
Skapa Azure Functions med Visual Studio Code
Med Azure Functions finns det många alternativ att överväga, inklusive värdalternativ, språkalternativ och redigeringsalternativ som att använda Azure-portalen, Visual Studio Code, Visual Studio och så vidare. I den här självstudien använder vi C# och Visual Studio Code. För att kunna slutföra den här självstudien måste först slutföra självstudien snabbstart: skapa ett Azure Functions-projekt med hjälp av Visual Studio Code. Anteckna namnet som du har angett för din funktionsapp i steget Publicera projektet på Azure.
Viktigt
Slutför inte avsnittet Rensa resurser. Du måste hålla alla dina resurser på plats för att bygga vidare på det du redan har gjort.
Skydda anrop till Azure Functions med hjälp av AAD
Leta reda på din funktionsapp i Azure-portalen. Välj namnet på din funktionsapp i listan.

I det övre avsnittet växlar du till fliken Plattformsfunktioner

Sedan väljer du länken Autentisering/auktorisering i gruppen Nätverk.

På bladet Autentisering/auktorisering aktiverar du App Service-autentisering genom att ändra App Service-autentisering-växlingsknappen till på.

I listrutan Åtgärd att vidta när en begäran inte har autentiserats ändrar du värdet till Logga in med Azure Active Directory. Den här inställningen säkerställer att anonyma begäranden till API:et inte tillåts.

Sedan i listan över autentiseringsproviders väljer du Azure Active Directory.

På bladet Azure Active Directory-inställningar ställer du in alternativet Hanteringsläge till Express. Ställ in det andra alternativet för Hanteringsläge på Skapa ny AD-app.

Viktigt
Innan du fortsätter bör du anteckna värdet i fältet Skapa app och kopiera/klistra in det någonstans för senare bruk. Det här värdet representerar namnet på det AAD-program som du ska använda för att skydda API:et. Du kommer att använda det här värdet senare när du konfigurerar ditt anpassade anslutningsprogram.
Bekräfta valet genom att klicka på knappen OK.
Gå tillbaka till bladet autentisering/auktorisering och välj Spara för att uppdatera funktionsappsinställningar för autentisering och auktorisering.

När du har sparat väljer du Azure Active Directory i avsnittet autentiseringsprovider.

Välj Azure AD-app och kopiera sedan värdet klient-ID och klistra in det någonstans för senare användning.

Bekräfta att API:et är korrekt skyddat genom att öppna ett nytt webbläsarfönster i privat läge och navigera till API:et. Du hittar URL:en för din funktionsapp i avsnittet Översikt på bladet Funktionsapp. Om autentiseringsinställningarna har tillämpats korrekt bör du omdirigeras till inloggningssidan för Azure AD.

Skapa ett anpassat anslutningsprogram för din Azure-funktion
Om du vill skapa en anpassad anslutning som använder AAD-autentisering måste du skapa en AAD-appregistrering för att skydda det anpassade anslutningsprogrammet och få delegerad åtkomst till Azure Functions som skyddas av AAD-appens registrering som skapats i avsnittet Protect calls to Azure Functions using AAD (Skydda anrop till Azure Functions med hjälp av AAD).
Skapa en appregistrering för ditt anpassade anslutningsprogram i AAD
Börja med att skapa ett AAD-program för ditt anpassade anslutningsprogram. Detta krävs för att ge det anpassade anslutningsprogrammet behörighet att anropa dina Azure Functions.
Gå till sidan Appregistreringar i Azure-portalen.

I listan med registrerade appar väljer du Ny registrering.

Ange ett namn för ditt program, välj de alternativ som visas i skärmbilden nedan och välj sedan knappen Registrera.

Anteckning
Om du vill veta mer om programregistreringsalternativ se Snabbstart: registrera ett program med Microsoft identitetsplattform.
När du har valt knappen Registrera visas API-behörigheter för appregistreringen.

Välj knappen Lägg till behörighet.

Välj fliken API:er som min organisation använder och sök sedan efter appens namn från steg 7 i avsnittet Protect calls to Azure Functions using AAD (Skydda anrop till Azure Functions med hjälp av AAD). När du hittar det klickar du på namnet på appen.
Viktigt
Ditt appnamn skiljer sig från det som finns i skärmbilden.

Markera kryssrutan user_impersonation och klicka på knappen Lägg till behörigheter.

Anteckning
Läs mer om behörigheter i Permissions and consent in the Microsoft identity platform endpoint (Behörigheter och medgivande i slutpunkten för Microsoft Identity Platform).
Välj Certifikat och hemligheter och välj sedan knappen Ny klienthemlighet.

Ange en beskrivning för din hemlighet, välj en förfalloperiod och välj sedan Lägg till.

Din nya hemlighet visas. Kopiera och klistra in värdet någonstans. Du behöver det senare.

Välj Översikt och kopiera och klistra sedan in värdet för Program-ID (klient) någonstans. Du behöver det senare.

Se till att sidan är öppen så att du kan komma tillbaka till den. Det finns ytterligare ett steg i Azure-portalen, men du ska först skapa en egen koppling.
Skapa ett anpassat anslutningsprogram
Nu när AAD-appen har konfigurerats skapar du den anpassade kopplingen. Om du vill skapa en anpassad koppling måste du beskriva det API du vill ansluta så att kopplingen förstår API:ets åtgärder och datastrukturer. När du skapar Azure Functions för anpassade anslutningsprogram kommer du ofta att skapa ditt anslutningsprogram upprepade gånger genom att upprepa följande steg:
- Skapa, testa och felsöka Azure-funktionen lokalt med Visual Studio Code.
- Distribuera funktionsappen till Azure.
- Uppdatera konfigurationen för anpassade anslutningsprogram så att den återspeglar ändringar i din funktionsapp.
Postman är ett populärt verktyg för att testa webb-API:er. Det används ofta för att testa Azure Functions. I det här avsnittet skapar du ett anpassat anslutningsprogram från en Postman-samling. Postman-samlingen kommer att tillhandahållas åt dig.
Anteckning
Se avsnittet Skapa en Postman-samling för en anpassad anslutningsapp för att lära dig hur du skapar egna. Att använda Postman för att skapa ett anpassat anslutningsprogram är bara ett alternativ. Se avsnittet Beskriv API och definiera anpassad anslutningsapp för att lära dig om andra alternativ.
I en ny webbläsare, logga in på Power Apps eller Power Automate.
Kopiera koden nedan. Använd din textredigerare för att skapa en ny fil och klistra in koden som filens innehåll. Spara filen. Du kan ge det namnet som du föredrar, men kom ihåg namnet (t. ex. tutorial-custom-connector.json). Du måste använda den här filen i nästa steg.
{ "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": {} } ] }I navigeringsfönstret väljer du Data för att anpassa den, och sedan väljer du Anpassat anslutningsprogram.

I det övre högra hörnet väljer du Ny anpassad anslutning och därefter Importera en Postman-samling.

Ange ett namn för anslutningen, välj knappen Importera, bläddra till filen som du skapade i steg 2och välj Fortsätt.

Sidan Allmänt öppnas. Ändra Schema till HTTPS, ersätt Värd-värdet med domänen för din funktionsapp och gå sedan till sidan Säkerhet.

På sidan Säkerhet anger du AAD-information för appen.
För Klient-ID anger du värdet för Program-ID (klient) som du kopierade i steg 11 i Create an app registration for your Custom Connector in AAD (Skapa en appregistrering för din anpassade anslutningsapp i AAD).
För Klienthemlighet anger du det hemliga värdet du kopierade i steg 11 i Create an app registration for your Custom Connector in AAD (Skapa en appregistrering för din anpassade anslutningsapp i AAD).
Ange URL:en till din funktionsapp för Resurs-URL. Den är i formatet
https://[function-app-name].azurewebsites.net.

När du har angett säkerhetsinformationen väljer du knappen Uppdatera anslutningsprogrammet för att skapa det anpassade anslutningsprogrammet.
På sidan säkerhet fylls fältet omdirigerings-URL nu i. Kopiera URL:en så att du kan använda den i nästa avsnitt i självstudien.
Anteckning
Du kan behöva rulla ned för att se omdirigeringswebbadressen.

Gå tillbaka till den appregistrering som du skapade i Skapa en app-registrering för ditt anpassade anslutningsprogram i AAD i en annan webbläsarflik. Kontrollera att du befinner dig i avsnittet Översikt och välj Lägg till en omdirigerings-URI.

Välj knappen Lägg till en plattform.

I fönstret Konfigurera plattformar väljer du Webb.

I fönstret Konfigurera webbben klistrar du in värdet för omdirigerings-URL:en från steg 7 och väljer sedan knappen Konfigurera.

Gå tillbaka till den webbläsarflik som innehåller konfigurationen för anpassat anslutningsprogram. Du bör fortfarande vara på sidan Säkerhet i guiden.
Gå vidare till sidan Definition i guiden genom att välja ordet Definition och granska.

Anteckning
Definitionen kommer från Postman-samlingen som du har importerat. Om du har ändrat någon av koden i Snabbstart: Skapa ett Azure Functions-projekt med självstudier Visual Studio Code med hjälp av importfil kanske inte matchar formen på ditt API. Du måste antingen skapa en ny Postman-samling eller manuellt justera åtgärden i det anpassade anslutningsprogrammet. Om du vill skapa en ny Postman-samling använder du länkarna som delades tidigare i den här självstudien här. Om du vill justera åtgärden manuellt kan du läsa avsnittet Skapa definitionen för anslutningsappen i självstudiekursen Skapa en anslutningsapp från grunden.
Testa anslutningsprogrammet
Nu när du har skapat kopplingen kan du testa den och kontrollera att den fungerar. Testning är för närvarande endast tillgänglig i Power Automate och Power Apps.
Gå vidare till testsidan i guiden genom att välja ordet Test.

Välj Ny anslutning på sidan Test.

Välj knappen Skapa och logga sedan in med din AAD-användare.

Gå tillbaka till testsidan.
I Power Automate återgår du till sidan Test. Välj uppdateringsikonen för att kontrollera att anslutningsinformationen är uppdaterad.

I Power Apps kommer du till listan över anslutningar som är tillgängliga i den aktuella miljön. I navigeringsfönstret väljer du Anpassat anslutningsprogram. Hitta ditt anpassade anslutningsprogram genom att välja ikonen Redigera.

Gå tillbaka till testsidan, ange ett värde för fältet namn och välj Teståtgärd.

Ta en titt på förfrågan och svaret.


Nästa steg
Nu när du skapat en anpassad koppling och definierat dess beteenden kan använda du anslutningen.