Scenario: Daemon-program som anropar webb-API:er

Det här scenariot hjälper dig att skapa ett daemonprogram som anropar webb-API:er.

Översikt

Ditt program kan hämta en token för att anropa ett webb-API för sig självt (inte för en användares räkning). Det här scenariot är användbart för daemonprogram. Den använder OAuth 2.0-klientens standardautentiseringsuppgifter .

Daemon apps

Några exempel på användningsfall för daemon-appar är;

  • Webbprogram som används för att etablera eller administrera användare eller utföra batchprocesser i en katalog
  • Skrivbordsprogram (till exempel Windows-tjänster i Windows eller daemonprocesser på Linux) som utför batchjobb eller en operativsystemtjänst som körs i bakgrunden
  • Webb-API:er som behöver manipulera kataloger, inte specifika användare

Det finns ett annat vanligt fall där icke-daemonprogram använder klientautentiseringsuppgifter, även när de agerar för användarnas räkning. Detta inträffar när de behöver komma åt ett webb-API eller en resurs under sin egen identitet av tekniska skäl. Ett exempel är åtkomst till hemligheter i Azure Key Vault eller Azure SQL Database för en cache.

Du kan inte distribuera ett daemonprogram till en vanlig användares enhet och en vanlig användare kan inte komma åt ett daemonprogram. Endast en begränsad uppsättning IT-administratörer kan komma åt enheter som har daemonprogram som körs. Detta gör att en dålig aktör inte kan komma åt en klienthemlighet eller token från enhetstrafik och agera för daemonprogrammets räkning. Daemon-programscenariot ersätter inte enhetsautentisering.

Exempel på icke-daemonprogram:

  • Ett mobilprogram som har åtkomst till en webbtjänst för ett program, men inte för en användares räkning.
  • En IoT-enhet som har åtkomst till en webbtjänst för en enhets räkning, men inte för en användares räkning.

Program som hämtar en token för sina egna identiteter:

  • Konfidentiella klientprogram, eftersom de har åtkomst till resurser oberoende av användare, måste bevisa sin identitet. Microsoft Entra-klientadministratörer måste bevilja godkännande till dessa ganska känsliga appar.
  • Har registrerat en hemlighet (programlösenord eller certifikat) med Microsoft Entra-ID. Den här hemligheten skickas in under anropet till Microsoft Entra-ID för att hämta en token.

Detaljerna

Användare kan inte interagera med ett daemonprogram eftersom det kräver en egen identitet. Den här typen av program begär en åtkomsttoken med hjälp av dess programidentitet och presenterar dess program-ID, autentiseringsuppgifter (lösenord eller certifikat) och program-ID URI för Microsoft Entra-ID. Efter lyckad autentisering tar daemon emot en åtkomsttoken (och en uppdateringstoken) från Microsofts identitetsplattform. Den här token används sedan för att anropa webb-API:et (och uppdateras efter behov).

Eftersom användare inte kan interagera med daemonprogram är inkrementellt medgivande inte möjligt. Alla nödvändiga API-behörigheter måste konfigureras vid programregistrering. Programmets kod begär bara statiskt definierade behörigheter. Det innebär också att daemonprogram inte stöder inkrementellt medgivande.

För utvecklare har upplevelsen från slutpunkt till slutpunkt för det här scenariot följande aspekter:

  • Daemon-program kan endast fungera i Microsoft Entra-klientorganisationer. Det skulle inte vara meningsfullt att skapa ett daemonprogram som försöker manipulera Microsofts personliga konton. Om du är en verksamhetsspecifik apputvecklare skapar du din daemon-app i din klientorganisation. Om du är en ISV kanske du vill skapa ett daemonprogram med flera klientorganisationer. Varje klientorganisationsadministratör måste ge sitt medgivande.
  • Under programregistreringen behövs inte svars-URI:n. Dela hemligheter eller certifikat eller signerade intyg med Microsoft Entra-ID. Du måste också begära programbehörigheter och bevilja administratörsmedgivande för att använda dessa appbehörigheter.
  • Programkonfigurationen måste ange klientautentiseringsuppgifter som delas med Microsoft Entra-ID under programregistreringen.
  • Omfånget som används för att hämta en token med autentiseringsuppgifterna för klienten måste vara ett statiskt omfång.

Om du är nybörjare på identitets- och åtkomsthantering (IAM) med OAuth 2.0 och OpenID Anslut, eller till och med bara nytt för IAM på Microsofts identitetsplattform, bör följande uppsättning artiklar stå högt upp i läslistan.

Även om det inte krävs läsning innan du slutför din första snabbstart eller självstudie, tar de upp ämnen som är integrerade i plattformen, och kunskaper om dem hjälper dig på din väg när du skapar mer komplexa scenarier.

Autentisering och auktorisering

Nästa steg

Gå vidare till nästa artikel i det här scenariot, Appregistrering.