Uw app App Service of Azure Functions configureren voor het gebruik van Azure AD-aanmelding

In dit artikel wordt beschreven hoe u verificatie configureert voor Azure App Service of Azure Functions, zodat uw app gebruikers met de Microsoft identity platform (Azure AD) als verificatieprovider aantekent.

Met App Service-functie Verificatie kunt u automatisch een app-registratie maken met de Microsoft identity platform. U kunt ook een registratie gebruiken die u of een directorybeheerder afzonderlijk maakt.

Notitie

De optie voor het maken van een nieuwe registratie is niet beschikbaar voor overheidswolken. Definieer in plaats daarvan een registratie afzonderlijk.

Optie 1: automatisch een nieuwe app-registratie maken

Deze optie is ontworpen om het inschakelen van verificatie eenvoudig te maken en vereist slechts een paar klikken.

  1. Meld u aan bij [de Azure Portal] navigeer naar uw app.

  2. Selecteer Verificatie in het menu aan de linkerkant. Klik op Id-provider toevoegen.

  3. Selecteer Microsoft in de vervolgkeuzekeuze selecteren. De optie voor het maken van een nieuwe registratie is standaard geselecteerd. U kunt de naam van de registratie of de ondersteunde accounttypen wijzigen.

    Er wordt een clientgeheim gemaakt en opgeslagen als een sleufslot-toepassingsinstelling met de naam MICROSOFT_PROVIDER_AUTHENTICATION_SECRET . U kunt deze instelling later bijwerken om Key Vault gebruiken als u het geheim in de Azure Key Vault.

  4. Als dit de eerste id-provider is die voor de toepassing is geconfigureerd, wordt u ook gevraagd om een sectie App Service verificatie-instellingen. Anders kunt u verder gaan met de volgende stap.

    Deze opties bepalen hoe uw toepassing reageert op niet-niet-geautheticeerde aanvragen. Met de standaardselecties worden alle aanvragen omgeleid om zich aan te melden bij deze nieuwe provider. U kunt dit gedrag nu aanpassen of deze instellingen later aanpassen in het hoofdscherm Verificatie door Bewerken te kiezen naast Verificatie-instellingen. Zie Verificatiestroom voor meer informatie over deze opties.

  5. (Optioneel) Klik op Volgende: Machtigingen en voeg de scopes toe die nodig zijn voor de toepassing. Deze worden toegevoegd aan de app-registratie, maar u kunt ze later ook wijzigen.

  6. Klik op Add.

U bent nu klaar om de Microsoft identity platform voor verificatie in uw app te gebruiken. De provider wordt weergegeven op het scherm Verificatie. Van hieruit kunt u deze providerconfiguratie bewerken of verwijderen.

Zie deze zelfstudie voor een voorbeeld van het configureren van Azure AD-aanmelding voor een web-app die toegang heeft tot Azure Storage en Microsoft Graph.

Optie 2: een bestaande registratie gebruiken die afzonderlijk is gemaakt

U kunt uw toepassing ook handmatig registreren voor de Microsoft identity platform, de registratie aanpassen en App Service verificatie configureren met de registratiegegevens. Dit is bijvoorbeeld handig als u een app-registratie van een andere Azure AD-tenant wilt gebruiken dan de tenant waarin uw toepassing zich heeft.

Een app-registratie maken in Azure AD voor uw App Service app

Eerst maakt u uw app-registratie. Als u dit doet, verzamelt u de volgende informatie die u later nodig hebt bij het configureren van de verificatie in de App Service app:

  • Client-id
  • Tenant-id
  • Clientgeheim (optioneel)
  • URI van toepassings-id

Voer de volgende stappen uit om de app te registreren:

  1. Meld u aan bij [de Azure Portal,]zoek en selecteer App Services en selecteer vervolgens uw app. Noteer de URL van uw app. U gebruikt deze om de registratie van uw Azure Active Directory-app te configureren.

  2. Selecteer in het portalmenu Azure Active Directory, ga naar het tabblad App-registraties selecteer Nieuwe registratie.

  3. Voer op de pagina Een toepassing registreren een naam in voor de app-registratie.

  4. In Omleidings-URI selecteert u Web en typt u <app-url>/.auth/login/aad/callback . Bijvoorbeeld https://contoso.azurewebsites.net/.auth/login/aad/callback.

  5. Selecteer Registreren.

  6. Nadat de app-registratie is gemaakt, kopieert u de toepassings-id (client-id) en de map-id (tenant)-id voor later.

  7. Selecteer Verificatie. Schakel onder Impliciete toekenning en hybride stromen id-tokens in om OpenID-Verbinding maken van gebruikers van App Service. Selecteer Opslaan.

  8. (Optioneel) Selecteer Huisstijl. Voer in URL van startpagina de URL van uw App Service-app in en selecteer Opslaan.

  9. Selecteer Een API beschikbaar maken en klik op Instellen naast URI van toepassings-id. Met deze waarde wordt de toepassing uniek geïdentificeerd wanneer deze wordt gebruikt als een resource, zodat tokens kunnen worden aangevraagd om toegang te verlenen. Deze wordt gebruikt als voorvoegsel voor de scopes die u maakt.

    Voor een app met één tenant kunt u de standaardwaarde gebruiken. Deze heeft de vorm api://<application-client-id> . U kunt ook een meer leesbare URI opgeven, zoals op basis van een van de https://contoso.com/api geverifieerde domeinen voor uw tenant. Voor een app met meerdere tenants moet u een aangepaste URI verstrekken. Zie de naslag voor best practices voor app-registraties voor meer informatie over geaccepteerde indelingen voor app-id-URI's.

    De waarde wordt automatisch opgeslagen.

  10. Selecteer Een bereik toevoegen.

    1. In Een bereik toevoegen is de URI van de toepassings-id de waarde die u in een vorige stap hebt ingesteld. Selecteer Opslaan en doorgaan.
    2. Voer in Bereiknaam de user_impersonation.
    3. Voer in de tekstvakken de naam en beschrijving van het toestemmingsbereik in die gebruikers moeten zien op de toestemmingspagina. Voer bijvoorbeeld Access < application-name > in.
    4. Selecteer Bereik toevoegen.
  11. (Optioneel) Als u een clientgeheim wilt maken, selecteert u Certificaten & Clientgeheimen > > Nieuw clientgeheim. Voer een beschrijving en verloopdatum in en selecteer Toevoegen. Kopieer de waarde van het clientgeheim die wordt weergegeven op de pagina. Deze wordt niet meer weergegeven.

  12. (Optioneel) Selecteer Verificatie om meerdere antwoord-URL's toe te voegen.

De Azure Active Directory inschakelen in uw App Service app

  1. Meld u aan bij [de Azure Portal] navigeer naar uw app.

  2. Selecteer Verificatie in het menu aan de linkerkant. Klik op Id-provider toevoegen.

  3. Selecteer Microsoft in de vervolgkeuzekeuze selecteren.

  4. Voor App-registratietype kunt u kiezen voor Een bestaande app-registratie kiezen in deze map, waarmee automatisch de benodigde app-gegevens worden verzameld. Als uw registratie afkomstig is van een andere tenant of als u niet bent machtigingen hebt om het registratieobject weer te geven, kiest u Geef de details van een bestaande app-registratie op. Voor deze optie moet u de volgende configuratiegegevens invullen:

    Veld Beschrijving
    (Client-)id van de app Gebruik de toepassings-id (client-id) van de app-registratie.
    Clientgeheim Gebruik het clientgeheim dat u hebt gegenereerd in de app-registratie. Met een clientgeheim wordt een hybride stroom gebruikt en de App Service toegangs- en vernieuwingstokens retourneren. Wanneer het clientgeheim niet is ingesteld, wordt impliciete stroom gebruikt en wordt alleen een id-token geretourneerd. Deze tokens worden verzonden door de provider en opgeslagen in het EasyAuth-tokenopslag.
    URL van vergever Gebruik en vervang door het verificatie-eindpunt voor uw cloudomgeving (bijvoorbeeld " " voor globale Azure), waarbij u ook vervangt door de <authentication-endpoint>/<tenant-id>/v2.0 <authentication-endpoint> https://login.microsoftonline.com <tenant-id> map-id (tenant) waarin de app-registratie is gemaakt. Deze waarde wordt gebruikt om gebruikers om te leiden naar de juiste Azure AD-tenant en om de juiste metagegevens te downloaden om bijvoorbeeld de juiste token-ondertekeningssleutels en claimwaarde voor tokenuitgever te bepalen. Voor toepassingen die gebruikmaken van Azure AD v1 en Azure Functions apps, laat u /v2.0 de URL weg.
    Toegestane token-doelgroepen Als dit een cloud- of server-app is en u verificatietokens van een web-app wilt toestaan, voegt u hier de URI toepassings-id van de web-app toe. De geconfigureerde client-id wordt altijd impliciet beschouwd als een toegestane doelgroep.

    Het clientgeheim wordt opgeslagen als een toepassingsinstelling met de naam . MICROSOFT_PROVIDER_AUTHENTICATION_SECRET U kunt deze instelling later bijwerken om Key Vault gebruiken als u het geheim in de Azure Key Vault.

  5. Als dit de eerste id-provider is die is geconfigureerd voor de toepassing, wordt u ook gevraagd om een App Service te geven. Anders kunt u verder gaan met de volgende stap.

    Deze opties bepalen hoe uw toepassing reageert op niet-geautticeerde aanvragen en de standaardselecties leiden alle aanvragen om om zich aan te melden met deze nieuwe provider. U kunt dit gedrag nu aanpassen of deze instellingen later aanpassen vanuit het hoofdscherm Verificatie door Bewerken te kiezen naast Verificatie-instellingen. Zie Verificatiestroom voor meer informatie over deze opties.

  6. Klik op Add.

U bent nu klaar om de Microsoft identity platform voor verificatie in uw app te gebruiken. De provider wordt weergegeven op het scherm Verificatie. Van hieruit kunt u deze providerconfiguratie bewerken of verwijderen.

Client-apps configureren voor toegang tot uw App Service

In de vorige sectie hebt u uw App Service azure-functie geregistreerd om gebruikers te verifiëren. In deze sectie wordt uitgelegd hoe u native client- of daemon-apps registreert, zodat deze toegang kunnen aanvragen tot API's die door uw App Service namens gebruikers of zichzelf beschikbaar worden gesteld. Het voltooien van de stappen in deze sectie is niet vereist als u alleen gebruikers wilt verifiëren.

Native clienttoepassing

U kunt native clients registreren om toegang aan te vragen App Service api's van uw app namens een aangemelde gebruiker.

  1. Selecteer in [Azure Portal]Active Directory en > App-registraties > Nieuwe registratie.

  2. Voer op de pagina Een toepassing registreren een naam in voor uw app-registratie.

  3. Selecteer openbare client (mobiele & desktop) in Omleidings-URI en typ de URL <app-url>/.auth/login/aad/callback . Bijvoorbeeld https://contoso.azurewebsites.net/.auth/login/aad/callback.

    Notitie

    Gebruik voor Microsoft Store toepassing de pakket-SID als de URI.

  4. Selecteer Maken.

  5. Nadat de app-registratie is gemaakt, kopieert u de waarde van Toepassings-id (client-id).

  6. Selecteer API-machtigingen > Een machtiging toevoegen > Mijn API's.

  7. Selecteer de app-registratie die u eerder hebt gemaakt voor uw App Service app. Als u de app-registratie niet ziet, moet u ervoor zorgen dat u het user_impersonation-bereik hebt toegevoegd in Een app-registratie maken in Azure AD voor uw App Service app.

  8. Selecteer onder Gedelegeerde machtigingen de optie user_impersonation en selecteer vervolgens Machtigingen toevoegen.

U hebt nu een systeemeigen clienttoepassing geconfigureerd die namens een gebruiker App Service toegang tot uw app kan aanvragen.

Daemon-clienttoepassing (service-naar-service-aanroepen)

Uw toepassing kan een token verkrijgen om een web-API aan te roepen die wordt gehost in uw App Service- of Function-app namens zichzelf (niet namens een gebruiker). Dit scenario is handig voor niet-interactieve daemontoepassingen die taken uitvoeren zonder een aangemelde gebruiker. Hierbij wordt gebruikgemaakt van de standaard OAuth 2.0-clientreferenties.

  1. Selecteer in [Azure Portal]Active Directory en > App-registraties > Nieuwe registratie.
  2. Voer op de pagina Een toepassing registreren een naam in voor de registratie van uw daemon-app.
  3. Voor een daemontoepassing hebt u geen omleidings-URI nodig, zodat u deze leeg kunt houden.
  4. Selecteer Maken.
  5. Nadat de app-registratie is gemaakt, kopieert u de waarde van Toepassings-id (client-id).
  6. Selecteer Certificaten & geheimen Nieuw > clientgeheim > Toevoegen. Kopieer de waarde van het clientgeheim die wordt weergegeven op de pagina. Deze wordt niet meer weergegeven.

U kunt nu een toegangs token aanvragen met behulp van de client-id en het clientgeheim door de parameter in te stellen op de URI van de toepassings-id resource van de doel-app. Het resulterende toegangsteken kan vervolgens aan de doel-app worden gepresenteerd met behulp van de standaard OAuth 2.0-autorisatieheader,en App Service-verificatie/autorisatie valideert en gebruikt het token zoals gebruikelijk om nu aan te geven dat de aanroeper (een toepassing in dit geval geen gebruiker) is geverifieerd.

Op dit moment kan elke clienttoepassing in uw Azure AD-tenant een toegangs token aanvragen en verifiëren bij de doel-app. Als u ook autorisatie wilt afdwingen om alleen bepaalde clienttoepassingen toe te staan, moet u een aantal extra configuraties uitvoeren.

  1. Definieer een app-rol in het manifest van de app-registratie die de App Service of functie-app die u wilt beveiligen.
  2. Selecteer api-machtigingen Een machtiging toevoegen Mijn API's op de app-registratie die de client vertegenwoordigt die moet > > worden geautoriseerd.
  3. Selecteer de app-registratie die u eerder hebt gemaakt. Als u de app-registratie niet ziet, moet u ervoor zorgen dat u een app-rol hebt toegevoegd.
  4. Selecteer onder Toepassingsmachtigingen de app-rol die u eerder hebt gemaakt en selecteer vervolgens Machtigingen toevoegen.
  5. Zorg ervoor dat u op Beheerder toestemming verlenen klikt om de clienttoepassing toestemming te geven om de machtiging aan te vragen.
  6. Net als in het vorige scenario (voordat er rollen werden toegevoegd), kunt u nu een toegangsteken aanvragen voor hetzelfde doel en bevat het toegangsteken een claim met de app-rollen die zijn geautoriseerd voor de resource roles clienttoepassing.
  7. In de doelcode App Service functie-app kunt u nu valideren dat de verwachte rollen aanwezig zijn in het token (dit wordt niet uitgevoerd door App Service/autorisatie). Zie Gebruikersclaims openen voor meer informatie.

U hebt nu een daemonclienttoepassing geconfigureerd die toegang heeft tot uw App Service app met behulp van een eigen identiteit.

Aanbevolen procedures

Ongeacht de configuratie die u gebruikt voor het instellen van verificatie, blijven uw tenant en toepassingen beter beveiligd met de volgende best practices:

  • Geef elke App Service app eigen machtigingen en toestemming.
  • Configureer elke App Service app met een eigen registratie.
  • Vermijd het delen van machtigingen tussen omgevingen door afzonderlijke app-registraties te gebruiken voor afzonderlijke implementatiesleuven. Bij het testen van nieuwe code kan deze praktijk helpen voorkomen dat problemen de productie-app beïnvloeden.

Volgende stappen