Share via


Verificatie en autorisatie inschakelen in Azure Container Apps met Microsoft Entra-id

In dit artikel leest u hoe u verificatie configureert voor Azure Container Apps, zodat uw app gebruikers aanmeldt met het Microsoft Identity Platform als verificatieprovider.

De functie Container Apps-verificatie kan automatisch een app-registratie maken met het Microsoft Identity Platform. U kunt ook een registratie gebruiken die u of een adreslijstbeheerder afzonderlijk maakt.

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 stappen.

  1. Meld u aan bij Azure Portal en navigeer naar uw app.

  2. Selecteer Verificatie in het menu links. Selecteer Id-provider toevoegen.

  3. Selecteer Microsoft in de vervolgkeuzelijst id-provider. 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 geheim in de container-app.

  4. Als u de eerste id-provider voor deze toepassing configureert, wordt u gevraagd om een sectie met verificatie-instellingen voor Container Apps. Anders gaat u verder met de volgende stap.

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

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

  6. Selecteer Toevoegen.

U bent nu klaar om het Microsoft Identity Platform te gebruiken voor verificatie in uw app. De provider wordt weergegeven op het verificatiescherm . Van daaruit kunt u deze providerconfiguratie bewerken of verwijderen.

Optie 2: Gebruik een bestaande registratie die afzonderlijk is gemaakt

U kunt uw toepassing ook handmatig registreren voor het Microsoft Identity Platform, de registratie aanpassen en Container Apps-verificatie configureren met de registratiegegevens. Deze methode is handig als u een app-registratie wilt gebruiken van een andere Microsoft Entra-tenant dan de tenant waarin uw toepassing is gedefinieerd.

Een app-registratie maken in Microsoft Entra-id voor uw container-app

Eerst maakt u uw app-registratie. Als u dit doet, verzamelt u de volgende informatie die u later nodig hebt wanneer u de verificatie in de container-app configureert:

  • Client ID
  • Tenant-id
  • Clientgeheim (optioneel)
  • Sollicitatie-ID URI

Voer de volgende stappen uit om de app te registreren:

  1. Meld u aan bij Azure Portal, zoek en selecteer Container Apps en selecteer vervolgens uw app. Noteer de URL van uw app. U gebruikt deze om de registratie van uw Microsoft Entra-app te configureren.

  2. Selecteer Microsoft Entra ID in het portalmenu, ga naar het tabblad App-registraties en selecteer Nieuwe registratie.

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

  4. In omleidings-URI selecteert u Web en typt <app-url>/.auth/login/aad/callbacku . Bijvoorbeeld: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.

  5. Selecteer Registreren.

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

  7. Selecteer Verificatie. Schakel onder Impliciete toekenning en hybride stromen id-tokens in om OpenID Verbinding maken gebruikersaanmelding vanuit Container Apps toe te staan. Selecteer Opslaan.

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

  9. Selecteer Een API beschikbaar maken en selecteer Instellen naast de URI van de toepassings-id. De id-waarde identificeert uw toepassing uniek wanneer deze wordt gebruikt als een resource, waarmee aangevraagde tokens toegang kunnen verlenen. De waarde wordt ook gebruikt als voorvoegsel voor bereiken die u maakt.

    Voor een app met één tenant kunt u de standaardwaarde gebruiken, die zich in het formulier bevindt api://<application-client-id>. U kunt ook een beter leesbare URI opgeven, zoals https://contoso.com/api op basis van een van de geverifieerde domeinen voor uw tenant. Voor een multitenant-app moet u een aangepaste URI opgeven. Zie de naslaginformatie over aanbevolen procedures 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 user_impersonation in.
    3. Voer in de tekstvakken de naam en beschrijving van het toestemmingsbereik in die gebruikers moeten zien op de toestemmingspagina. Voer bijvoorbeeld de naam> van de Access-toepassing <in.
    4. Selecteer Bereik toevoegen.
  11. (Optioneel) Als u een clientgeheim wilt maken, selecteert u Certificaten en geheimen Clientgeheimen>>Nieuw clientgeheim. Voer een beschrijving en vervaldatum in en selecteer Toevoegen. Kopieer de waarde van het clientgeheim die op de pagina wordt weergegeven, omdat de site deze niet opnieuw voor u weergeeft.

  12. (Optioneel) Als u meerdere antwoord-URL's wilt toevoegen, selecteert u Verificatie.

Microsoft Entra-id inschakelen in uw container-app

  1. Meld u aan bij Azure Portal en navigeer naar uw app.

  2. Selecteer Verificatie in het menu links. Selecteer Id-provider toevoegen.

  3. Selecteer Microsoft in de vervolgkeuzelijst id-provider.

  4. Voor app-registratietype kunt u ervoor kiezen om een bestaande app-registratie te 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 gemachtigd bent 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 toepassing Gebruik de toepassings-id (client) van de app-registratie.
    Clientgeheim Gebruik het clientgeheim dat u hebt gegenereerd in de app-registratie. Met een clientgeheim wordt hybride stroom gebruikt en retourneert de app toegangs- en vernieuwingstokens. Wanneer het clientgeheim niet is ingesteld, wordt impliciete stroom gebruikt en wordt alleen een id-token geretourneerd. De provider verzendt de tokens en ze worden opgeslagen in het EasyAuth-tokenarchief.
    URL van verlener Gebruik <authentication-endpoint>/<TENANT-ID>/v2.0en vervang <het verificatie-eindpunt> door het verificatie-eindpunt voor uw cloudomgeving (bijvoorbeeld 'https://login.microsoftonline.com" voor globale Azure) vervangt <u tenant-id> ook door de map-id (tenant) waarin de app-registratie is gemaakt. Deze waarde wordt gebruikt om gebruikers om te leiden naar de juiste Microsoft Entra-tenant en om de juiste metagegevens te downloaden om bijvoorbeeld de juiste token-ondertekeningssleutels en claimwaarde voor tokenverleners te bepalen. Laat de URL weg /v2.0 voor toepassingen die gebruikmaken van Azure AD v1.
    Toegestane tokendoelpunten De geconfigureerde toepassings-id (client) wordt altijd impliciet beschouwd als een toegestane doelgroep. Als deze waarde verwijst naar een cloud- of server-app en u verificatietokens van een clientcontainer-app wilt accepteren (het verificatietoken kan worden opgehaald in de X-MS-TOKEN-AAD-ID-TOKEN header), voegt u hier de toepassings-id (client) van de client-app toe.

    Het clientgeheim wordt opgeslagen als geheimen in uw container-app.

  5. Als dit de eerste id-provider is die is geconfigureerd voor de toepassing, wordt u ook gevraagd om een sectie met verificatie-instellingen voor Container Apps. Anders gaat u verder met de volgende stap.

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

  6. Selecteer Toevoegen.

U bent nu klaar om het Microsoft Identity Platform te gebruiken voor verificatie in uw app. De provider wordt weergegeven op het verificatiescherm . Van daaruit kunt u deze providerconfiguratie bewerken of verwijderen.

Client-apps configureren voor toegang tot uw container-app

In de vorige sectie hebt u uw container-app geregistreerd om gebruikers te verifiëren. In deze sectie registreert u systeemeigen client- of daemon-apps. Ze kunnen vervolgens namens gebruikers of zichzelf toegang aanvragen tot API's die door uw container-app worden weergegeven. Het voltooien van de stappen in deze sectie is niet vereist als u alleen gebruikers wilt verifiëren.

Systeemeigen clienttoepassing

U kunt systeemeigen clients registreren om toegang te vragen tot de API's van uw container-app namens een aangemelde gebruiker.

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

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

  3. Selecteer in omleidings-URI de optie Openbare client (mobiel en desktop) en typ de URL <app-url>/.auth/login/aad/callback. Bijvoorbeeld: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.

    Notitie

    Voor een Microsoft Store-toepassing gebruikt u in plaats daarvan de pakket-SID als de URI.

  4. Selecteer Maken.

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

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

  7. Selecteer de app-registratie die u eerder hebt gemaakt voor uw container-app. Als u de app-registratie niet ziet, controleert u of u het user_impersonation bereik hebt toegevoegd in Een app-registratie maken in Microsoft Entra-id voor uw container-app.

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

In deze sectie hebt u een systeemeigen clienttoepassing geconfigureerd die namens een gebruiker toegang kan aanvragen tot uw container-app.

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

Uw toepassing kan een token verkrijgen om een web-API aan te roepen die wordt gehost in uw container-app namens zichzelf (niet namens een gebruiker). Dit scenario is handig voor niet-interactieve daemon-toepassingen die taken uitvoeren zonder een aangemelde gebruiker. Er wordt gebruikgemaakt van de standaard-OAuth 2.0-clientreferenties verlenen.

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

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

Met dit proces kan elke clienttoepassing in uw Microsoft Entra-tenant een toegangstoken aanvragen en verifiëren bij de doel-app. Als u ook autorisatie wilt afdwingen om alleen bepaalde clienttoepassingen toe te staan, moet u de configuratie aanpassen.

  1. Definieer een app-rol in het manifest van de app-registratie die de container-app vertegenwoordigt die u wilt beveiligen.
  2. Selecteer api-machtigingen>toevoegen> in 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, controleert u of 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 Beheerderstoestemming verlenen selecteert om de clienttoepassing toestemming te geven om de machtiging aan te vragen.
  6. Net als bij het vorige scenario (voordat er rollen werden toegevoegd), kunt u nu een toegangstoken aanvragen voor hetzelfde doel resourceen bevat het toegangstoken een roles claim met de app-rollen die zijn geautoriseerd voor de clienttoepassing.
  7. In de code van de doelcontainer-apps kunt u nu valideren dat de verwachte rollen aanwezig zijn in het token. De verificatielaag Container Apps voert de validatiestappen niet uit. Zie Access-gebruikersclaims voor meer informatie.

In deze sectie hebt u een daemon-clienttoepassing geconfigureerd die toegang heeft tot uw container-app met behulp van een eigen identiteit.

Werken met geverifieerde gebruikers

Gebruik de volgende handleidingen voor meer informatie over het werken met geverifieerde gebruikers.

Volgende stappen