Dela via


Aktivera autentisering och auktorisering i Azure Container Apps med Microsoft Entra-ID

Den här artikeln visar hur du konfigurerar autentisering för Azure Container Apps så att appen loggar in användare med Microsofts identitetsplattform som autentiseringsprovider.

Funktionen Autentisering av containerappar kan automatiskt skapa en appregistrering med Microsofts identitetsplattform. Du kan också använda en registrering som du eller en katalogadministratör skapar separat.

Alternativ 1: Skapa en ny appregistrering automatiskt

Det här alternativet är utformat för att göra det enkelt att aktivera autentisering och kräver bara några få steg.

  1. Logga in på Azure-portalen och gå till din app.

  2. Välj Autentisering i menyn till vänster. Välj Lägg till identitetsprovider.

  3. Välj Microsoft i listrutan identitetsprovider. Alternativet för att skapa en ny registrering är valt som standard. Du kan ändra namnet på registreringen eller de kontotyper som stöds.

    En klienthemlighet skapas och lagras som en hemlighet i containerappen.

  4. Om du konfigurerar den första identitetsprovidern för det här programmet uppmanas du att ange autentiseringsinställningar för Container Apps. Annars går du vidare till nästa steg.

    De här alternativen avgör hur ditt program svarar på oautentiserade begäranden och standardvalen omdirigerar alla begäranden för att logga in med den nya providern. Du kan anpassa det här beteendet nu eller justera inställningarna senare från huvudskärmen för autentisering genom att välja Redigera bredvid Autentiseringsinställningar. Mer information om de här alternativen finns i Autentiseringsflöde.

  5. (Valfritt) Välj Nästa: Behörigheter och lägg till eventuella omfång som krävs av programmet. Dessa läggs till i appregistreringen, men du kan också ändra dem senare.

  6. Markera Lägga till.

Nu är du redo att använda Microsofts identitetsplattform för autentisering i din app. Providern visas på skärmen Autentisering . Därifrån kan du redigera eller ta bort den här providerkonfigurationen.

Alternativ 2: Använd en befintlig registrering som skapats separat

Du kan också registrera ditt program manuellt för Microsofts identitetsplattform, anpassa registreringen och konfigurera Container Apps-autentisering med registreringsinformationen. Den här metoden är användbar när du vill använda en appregistrering från en annan Microsoft Entra-klient än den där ditt program har definierats.

Skapa en appregistrering i Microsoft Entra-ID för din containerapp

Först skapar du din appregistrering. När du gör det samlar du in följande information som du behöver senare när du konfigurerar autentiseringen i containerappen:

  • Client ID
  • Klientorganisations-ID
  • Klienthemlighet (valfritt)
  • Sökande-ID URI

Utför följande steg för att registrera appen:

  1. Logga in på Azure-portalen, sök efter och välj Container Apps och välj sedan din app. Anteckna appens URL. Du använder den för att konfigurera din Microsoft Entra-appregistrering.

  2. På portalmenyn väljer du Microsoft Entra-ID, går sedan till fliken Appregistreringar och väljer Ny registrering.

  3. På sidan Registrera ett program anger du ett namn för din appregistrering.

  4. I Omdirigerings-URI väljer du Webb och skriver <app-url>/.auth/login/aad/callback. Exempel: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback

  5. Välj Registrera.

  6. När appregistreringen har skapats kopierar du program-ID :t (klient- och katalog-ID:t ) för senare.

  7. Välj Autentisering. Under Implicit beviljande och hybridflöden aktiverar du ID-token för att tillåta OpenID Anslut användarinloggningar från Container Apps. Välj Spara.

  8. (Valfritt) Välj Varumärkesanpassning. I Webbadressen till startsidan anger du URL:en för containerappen och väljer Spara.

  9. Välj Exponera ett API och välj Ange bredvid Program-ID-URI. ID-värdet identifierar ditt program unikt när det används som en resurs, vilket gör att begärda token kan bevilja åtkomst. Värdet används också som ett prefix för omfång som du skapar.

    För en app med en enda klientorganisation kan du använda standardvärdet, som är i formuläret api://<application-client-id>. Du kan också ange en mer läsbar URI som https://contoso.com/api baseras på en av de verifierade domänerna för din klientorganisation. För en app med flera klientorganisationer måste du ange en anpassad URI. Mer information om godkända format för app-ID-URI:er finns i referensen för metodtips för appregistreringar.

    Värdet sparas automatiskt.

  10. Välj Lägg till en omfattning.

    1. I Lägg till ett omfång är program-ID-URI det värde som du angav i ett tidigare steg. Välj Spara och fortsätt.
    2. I Omfångsnamn anger du user_impersonation.
    3. I textrutorna anger du namnet på och beskrivningen för medgivandesomfånget som du vill att användarna ska se på medgivandesidan. Ange till exempel Åtkomstprogramnamn><.
    4. Välj Lägg till definitionsområde.
  11. (Valfritt) Om du vill skapa en klienthemlighet väljer du Certifikat och hemligheter>Klienthemligheter>Ny klienthemlighet. Ange en beskrivning och förfallodatum och välj Lägg till. Kopiera det klienthemlighetsvärde som visas på sidan eftersom webbplatsen inte visar det för dig igen.

  12. (Valfritt) Om du vill lägga till flera svars-URL:er väljer du Autentisering.

Aktivera Microsoft Entra-ID i din containerapp

  1. Logga in på Azure-portalen och gå till din app.

  2. Välj Autentisering i menyn till vänster. Välj Lägg till identitetsprovider.

  3. Välj Microsoft i listrutan identitetsprovider.

  4. För Appregistreringstyp kan du välja att välja en befintlig appregistrering i den här katalogen som automatiskt samlar in nödvändig appinformation. Om registreringen kommer från en annan klientorganisation eller om du inte har behörighet att visa registreringsobjektet väljer du Ange information om en befintlig appregistrering. För det här alternativet måste du fylla i följande konfigurationsinformation:

    Fält beskrivning
    App-ID (klient-ID) Använd program-ID:t (klient) för appregistreringen.
    Klienthemlighet Använd klienthemligheten som du genererade i appregistreringen. Med en klienthemlighet används hybridflödet och appen returnerar åtkomst- och uppdateringstoken. När klienthemligheten inte har angetts används implicit flöde och endast en ID-token returneras. Providern skickar token och lagras i EasyAuth-tokenarkivet.
    Utfärdar-URL Använd <authentication-endpoint>/<TENANT-ID>/v2.0och ersätt< authentication-endpoint> med autentiseringsslutpunkten för din molnmiljö (till exempel "https://login.microsoftonline.com" för global Azure), och ersätter <även KLIENT-ID med katalog-ID>:t (klientorganisation) där appregistreringen skapades. Det här värdet används för att omdirigera användare till rätt Microsoft Entra-klientorganisation och för att ladda ned lämpliga metadata för att fastställa lämpliga tokensigneringsnycklar och token utfärdarens anspråksvärde, till exempel. För program som använder Azure AD v1 utelämnar /v2.0 du url:en.
    Tillåtna token-målgrupper Det konfigurerade program-ID:t (klient) anses alltid implicit vara en tillåten målgrupp. Om det här värdet refererar till en moln- eller serverapp och du vill acceptera autentiseringstoken från en klientcontainerapp (autentiseringstoken kan hämtas i X-MS-TOKEN-AAD-ID-TOKEN huvudet) lägger du till program-ID :t (klient) för klientappen här.

    Klienthemligheten lagras som hemligheter i containerappen.

  5. Om det här är den första identitetsprovidern som konfigurerats för programmet uppmanas du också att ange autentiseringsinställningar för Container Apps. Annars går du vidare till nästa steg.

    De här alternativen avgör hur ditt program svarar på oautentiserade begäranden, och standardvalen omdirigerar alla begäranden för att logga in med den nya providern. Du kan ändra anpassa det här beteendet nu eller justera inställningarna senare från huvudskärmen för autentisering genom att välja Redigera bredvid Autentiseringsinställningar. Mer information om de här alternativen finns i Autentiseringsflöde.

  6. Markera Lägga till.

Nu är du redo att använda Microsofts identitetsplattform för autentisering i din app. Providern visas på skärmen Autentisering . Därifrån kan du redigera eller ta bort den här providerkonfigurationen.

Konfigurera klientappar för åtkomst till din containerapp

I föregående avsnitt registrerade du containerappen för att autentisera användare. I det här avsnittet registrerar du interna klient- eller daemon-appar. De kan sedan begära åtkomst till API:er som exponeras av din containerapp för användare eller sig själva. Att slutföra stegen i det här avsnittet krävs inte om du bara vill autentisera användare.

Internt klientprogram

Du kan registrera interna klienter för att begära åtkomst till containerappens API:er för en inloggad användare.

  1. I Azure-portalen väljer du Active Directory> Appregistreringar> Ny registrering.

  2. På sidan Registrera ett program anger du ett namn för din appregistrering.

  3. I Omdirigerings-URI väljer du Offentlig klient (mobil och skrivbord) och skriver URL:en <app-url>/.auth/login/aad/callback. Exempel: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback

    Kommentar

    För ett Microsoft Store-program använder du paket-SID som URI i stället.

  4. Välj Skapa.

  5. När appregistreringen har skapats kopierar du värdet för program-ID (klient-ID).

  6. Välj API-behörigheter>Lägg till en behörighet>Mina API:er.

  7. Välj den appregistrering som du skapade tidigare för containerappen. Om du inte ser appregistreringen kontrollerar du att du har lagt till user_impersonation-omfånget i Skapa en appregistrering i Microsoft Entra-ID för containerappen.

  8. Under Delegerade behörigheter väljer du user_impersonation och sedan Lägg till behörigheter.

I det här avsnittet konfigurerade du ett internt klientprogram som kan begära åtkomst till din containerapp för en användares räkning.

Daemon-klientprogram (tjänst-till-tjänst-anrop)

Ditt program kan hämta en token för att anropa ett webb-API som finns i containerappen för sig självt (inte för en användares räkning). Det här scenariot är användbart för icke-interaktiva daemonprogram som utför uppgifter utan en inloggad användare. Den använder OAuth 2.0-klientens standardautentiseringsuppgifter .

  1. I Azure-portalen väljer du Active Directory> Appregistreringar> Ny registrering.
  2. På sidan Registrera ett program anger du ett Namn för din daemon-appregistrering.
  3. För ett daemonprogram behöver du ingen omdirigerings-URI så att du kan hålla den tom.
  4. Välj Skapa.
  5. När appregistreringen har skapats kopierar du värdet för program-ID (klient-ID).
  6. Välj Certifikat och hemligheter>Ny klienthemlighet>Lägg till. Kopiera det klienthemlighetsvärde som visas på sidan. Den visas inte igen.

Nu kan du begära en åtkomsttoken med hjälp av klient-ID och klienthemlighet genom att ange parametern resource till program-ID-URI :n för målappen. Den resulterande åtkomsttoken kan sedan visas för målappen med hjälp av standardhuvudet för OAuth 2.0-auktorisering och autentisering/auktorisering för containerappar verifierar och använder token som vanligt för att indikera att anroparen (ett program i det här fallet inte en användare) autentiseras.

Med den här processen kan alla klientprogram i din Microsoft Entra-klientorganisation begära en åtkomsttoken och autentisera till målappen. Om du också vill framtvinga auktorisering för att endast tillåta vissa klientprogram måste du justera konfigurationen.

  1. Definiera en approll i manifestet för appregistreringen som representerar den containerapp som du vill skydda.
  2. På appregistreringen som representerar klienten som måste auktoriseras väljer du API-behörigheter>Lägg till en behörighet>Mina API:er.
  3. Välj den appregistrering som du skapade tidigare. Om du inte ser appregistreringen kontrollerar du att du har lagt till en approll.
  4. Under Programbehörigheter väljer du den approll som du skapade tidigare och väljer sedan Lägg till behörigheter.
  5. Välj Bevilja administratörsmedgivande för att auktorisera klientprogrammet för att begära behörigheten.
  6. På samma sätt som i föregående scenario (innan några roller lades till) kan du nu begära en åtkomsttoken för samma mål resourceoch åtkomsttoken innehåller ett roles anspråk som innehåller de approller som har auktoriserats för klientprogrammet.
  7. I containerappens målkod kan du nu verifiera att de förväntade rollerna finns i token. Autentiseringsskiktet Container Apps utför inte verifieringsstegen. Mer information finns i Åtkomst till användaranspråk.

I det här avsnittet konfigurerade du ett daemon-klientprogram som kan komma åt din containerapp med hjälp av sin egen identitet.

Arbeta med autentiserade användare

Använd följande guider för information om hur du arbetar med autentiserade användare.

Nästa steg