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.
Meld u aan bij Azure Portal en navigeer naar uw app.
Selecteer Verificatie in het menu links. Selecteer Id-provider toevoegen.
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.
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.
(Optioneel) Selecteer Volgende: Machtigingen en voeg bereiken toe die nodig zijn voor de toepassing. De bereiken worden toegevoegd aan de app-registratie, maar u kunt ze later ook wijzigen.
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:
- Meld u aan bij het Azure-portaal.
- Zoek en selecteer Container Apps en selecteer vervolgens uw app. Noteer de toepassings-URL van uw app op de pagina Overzicht. U gebruikt deze om de registratie van uw Microsoft Entra-app te configureren.
- Selecteer Start om terug te keren naar het hoofdmenu van de portal. Zoek Microsoft Entra ID en selecteer deze.
- Selecteer Op de pagina Overzicht de optie Toevoegen en selecteer vervolgens App-registratie.
Voer op de pagina Een toepassing registreren een naam in voor uw app-registratie.
Selecteer in omleidings-URI het web en voer het volgende in. Vervang door
\<APP_URL\>
de toepassings-URL die u eerder hebt genoteerd.<APP_URL>/.auth/login/aad/callback
.Voorbeeld:
https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callback
.Schakel in impliciete toekenning en hybride stromen id-tokens in om Aanmeldingen van Gebruikers van OpenID Connect vanuit Container Apps toe te staan.
Selecteer Registreren.
- Blader naar de nieuwe app-registratie.
- Kopieer op de pagina Overzicht de toepassings-id (client) en de map-id (tenant) voor later gebruik.
- (Optioneel) Als u de omleidings-URI eerder niet hebt toegevoegd aan de app-registratie, kunt u dit nu doen.
Selecteer Verificatie in Beheerd.
Selecteer een platform toevoegen op de pagina Verificatie in Platformconfiguraties.
Selecteer web in Platformen configureren.
Voer in Configure Web in Omleidings-URI's het volgende in. Vervang door
\<APP_URL\>
de toepassings-URL die u eerder hebt genoteerd.<APP_URL>/.auth/login/aad/callback
.Voorbeeld:
https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callback
.Selecteer Configureren.
- (Optioneel) Selecteer in Beheren de eigenschappen Huisstijl en eigenschappen. Voer in de URL van de startpagina de URL van uw container-app in en selecteer Opslaan.
- Selecteer een API beschikbaar maken in Beheren.
Selecteer Toevoegen naast de URI van de toepassings-id.
De URI van de toepassings-id identificeert uw toepassing op unieke wijze 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, zoalshttps://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.
Selecteer Een bereik toevoegen.
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.
Voer in bereiknaam user_impersonation in.
Voer de weergavenaam voor beheerderstoestemming en beschrijving van beheerderstoestemming in die beheerders moeten zien op de toestemmingspagina. Een voorbeeld van de weergavenaam van toestemming is Access-toepassingsnaam><.
Selecteer Bereik toevoegen.
- Selecteer in Beheren de optie Certificaten en geheimen.
- Selecteer Clientgeheimen op de pagina Certificaten en geheimen.
- Selecteer Nieuw clientgeheim.
- Voer een beschrijving in en selecteer wanneer het geheim verloopt.
- Selecteer Toevoegen.
- Kopieer de waarde van het clientgeheim die op de pagina wordt weergegeven, omdat de site deze niet opnieuw voor u weergeeft.
Microsoft Entra-id inschakelen in uw container-app
Meld u aan bij Azure Portal en navigeer naar uw app.
Selecteer Verificatie in het menu links. Selecteer Id-provider toevoegen.
Selecteer Microsoft in de vervolgkeuzelijst id-provider.
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:
Waarschuwing
Vermijd waar mogelijk het gebruik van impliciete toekenningsstroom. In de meeste scenario's zijn veiligere alternatieven beschikbaar en aanbevolen. Bepaalde configuraties van deze stroom vereisen een zeer hoge mate van vertrouwen in de toepassing en dragen risico's die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen niet haalbaar zijn. Zie de beveiligingsproblemen met impliciete toekenningsstroom voor meer informatie.
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. Clientgeheimen maken gebruik van hybride stroom en de app retourneert toegangs- en vernieuwingstokens. Wanneer het clientgeheim niet is ingesteld, wordt impliciete stroom gebruikt voor 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.0
en 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.
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.
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.
Selecteer Microsoft Entra ID>Toevoegen> in Azure Portal App-registraties.
Voer op de pagina Een toepassing registreren een naam in voor uw app-registratie.
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.
Selecteer Maken.
Nadat de app-registratie is gemaakt, kopieert u de waarde van de toepassings-id (client).
Selecteer API-machtigingen>Een machtiging toevoegen>Mijn API's.
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.
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.
- Selecteer Microsoft Entra ID>Toevoegen> in Azure Portal App-registraties.
- Voer op de pagina Een toepassing registreren een naam in voor de registratie van uw daemon-app.
- Voor een daemon-toepassing hebt u geen omleidings-URI nodig, zodat u die leeg kunt houden.
- Selecteer Maken.
- Nadat de app-registratie is gemaakt, kopieert u de waarde van de toepassings-id (client).
- 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.
- Definieer een app-rol in het manifest van de app-registratie die de container-app vertegenwoordigt die u wilt beveiligen.
- Selecteer api-machtigingen>toevoegen> in de app-registratie die de client vertegenwoordigt die moet worden geautoriseerd.
- 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 toevoegt.
- Selecteer onder Toepassingsmachtigingen de app-rol die u eerder hebt gemaakt en selecteer vervolgens Machtigingen toevoegen.
- Zorg ervoor dat u Beheerderstoestemming verlenen selecteert om de clienttoepassing toestemming te geven om de machtiging aan te vragen.
- Net als bij het vorige scenario (voordat er rollen werden toegevoegd), kunt u nu een toegangstoken aanvragen voor hetzelfde doel
resource
en bevat het toegangstoken eenroles
claim met de app-rollen die zijn geautoriseerd voor de clienttoepassing. - Controleer in de code van de doelcontainer-apps of er nu 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.