Dela via


Microsoft Entra ID Guide för oberoende programvaruutvecklare

Microsoft Entra ID är en molnbaserad identitets- och åtkomsthanteringstjänst som ger anställda åtkomst till resurser. Branschanalytiker känner konsekvent igen Microsoft Entra-ID som ledare. Det är en sjufaldig ledare i Gartner Magic Quadrant for Access Management. KuppingerCole bedömer Microsoft Entra-ID som positivt för alla dimensioner i åtkomsthantering. Frost & Sullivan utnämnde Microsoft till årets företag 2022 för branschen global identitets- och åtkomsthantering. Läs berättelser om några av mer än 300 000 organisationer som använder Microsoft Entra-ID.

Den här artikeln är den första i en serie om hur oberoende programvaruutvecklare (ISV:er) kan skapa och optimera program för Microsoft Entra-ID. I den här serien kan du lära dig mer om följande ämnen:

  • Upprätta program i Microsoft Entra ID-ekosystemet beskriver hur du använder administrationscentret för Microsoft Entra eller Microsoft Graph Application Programming Interface (API) för att registrera appar i en Microsoft Entra ID-klientorganisation.
  • Autentisera program och användare beskriver hur program använder Microsoft Entra-ID för att autentisera användare och program.
  • Auktorisera program, resurser och arbetsbelastningar visar auktorisering när en människa interagerar med och dirigerar ett program. I det här scenariot agerar API:er för en användare och när program eller tjänster fungerar oberoende av varandra.
  • Anpassa token hjälper dig att bygga in säkerhet i program med ID-token och åtkomsttoken från Microsoft Entra-ID. Den beskriver den information som du kan ta emot i Microsoft Entra ID-token och hur du kan anpassa dem.

Utveckla med Microsoft platforma za identitete

Program är centrala för Microsoft Entra-ID. När en användare kommer åt en resurs kommer de åt resursen med ett program. Microsoft platforma za identitete består av de verktyg och tjänster som gör det möjligt för utvecklare att bygga vidare på Microsoft Entra-ID. Microsoft platforma za identitete börjar med Microsoft Entra ID, molntjänsten som tillhandahåller åtgärder som inloggning, utloggning och programregistrering som ett program kräver. Microsoft platforma za identitete innehåller Microsoft Authentication Libraries (MSAL) med öppen källkod i olika språk och ramverk och Microsoft Graph som tillhandahåller API:er för åtkomst till data och åtgärder i Microsoft Entra-ID.

För utvecklare innehåller Microsoft platforma za identitete följande funktioner.

  • Autentisera en användare, auktorisera en app, generera API-token.
  • Förenkla integreringen av säkerhetsfunktioner direkt med Microsoft Authentication Library (MSAL) eller via ett API på högre nivå, till exempel Microsoft.Identity.Web eller Azure.Identity.
  • I stället för att implementera OAuth 2.0 från grunden använder du MSALs för att sammanfatta komplexiteten med robusta API:er som tar bort utvecklararbetet.
  • Se till att program följer bästa praxis för säkerhet i enlighet med branschstandarder och protokoll, till exempel OAuth 2.0.
  • Förena autentiseringsberättelser mellan program och upplevelser med stöd för enkel inloggning (SSO).
  • Effektivisera integreringen av sociala identiteter med Microsofts externa ID.
  • Skydda data och tillgångar med minimal VVS-kod och inbyggt stöd för Microsoft Entra-ID-funktioner som villkorlig åtkomst (CA), utvärdering av kontinuerlig åtkomst (CAE), identitetsskydd och enhetshantering.
  • Skapa program som skyddar autentiseringstoken på ett säkert sätt samtidigt som enhets- och principefterlevnad tillämpas. Förlita dig på stöd för autentisering med moderna koordinatorer som Microsoft Authenticator eller inbyggda operativsystemkomponenter som Web Account Manager (WAM) i Windows.

Integrera program med Microsoft Entra ID

Program som integreras med Microsoft Entra-ID-användar-, tjänst- eller gruppidentiteter interagerar med en Microsoft Entra-ID-klientorganisation. En klientorganisation är en dedikerad instans av Microsoft Entra-ID som vanligtvis representerar en organisation eller en grupp inom ett större företag. Klientorganisationen innehåller organisationens katalog, lagrar objekt som arbets- eller skolkonton eller inbjudna partnerkonton. Grupper, program, enheter och andra objekt lagras också. Klientorganisationen tillhandahåller de webbslutpunkter som program använder för att utföra åtgärder, till exempel autentisering.

Ett program skickar begäranden till en klientslutpunkt för att hämta token som identifierar användare eller som resurs-API:er kan använda för att auktorisera resursåtkomst. Programidentiteter i Microsoft Entra-ID gör det möjligt för program att begära token från en Microsoft Entra-ID-klientorganisation samtidigt som användarna får rätt kontextnivå om vem som försöker autentisera dem.

Även om de flesta företag bara behöver en Microsoft Entra-ID-klientorganisation kan scenarier kräva att organisationer har flera klienter för att uppfylla sina affärsmål. Ett stort företag kan innehålla flera oberoende affärsenheter som kan kräva samordning och samarbete i hela företaget. Städer i en region eller skolor i ett distrikt kan ha liknande krav. I dessa scenarier kan varje enhet ha en egen klientorganisation med sina egna konfigurationer och principer. Eftersom Microsoft Entra ID-molnet är värd för klientorganisationer kan organisationer konfigurera samarbete mellan klientorganisationer med minimal friktion.

Microsoft Entra-ID stöder följande bland en mängd olika protokoll.

  • OAuth 2.0 är branschstandarden för auktorisering. Program begär en åtkomsttoken med OAuth 2.0-protokollet för att få auktorisering för ett program för åtkomst till en skyddad resurs.
  • OpenID Connect (OIDC) är en driftskompatibel autentiseringsstandard som bygger på OAuth 2.0. Program begär en ID-token med OIDC-protokollet för att autentisera den aktuella användaren.
  • Security Assertion Markup Language (SAML) 2.0 är en autentiseringsstandard. Program begär en SAML-försäkran, även kallad en SAML-token, från Microsoft Entra-ID för att utbyta autentiserings- och auktoriseringsdata mellan en app och Microsoft Entra-ID. Program använder SAML för att autentisera den aktuella användaren.
  • System for Cross-Domain Identity Management (SCIM) är inte för autentisering och auktorisering. SCIM är ett etableringsprotokoll som automatiserar synkronisering av användar- och gruppinformation mellan Microsoft Entra-ID och anslutningsprogram. Synkroniseringen etablerar användare och grupper i ett program.

De kärnåtgärder som program utför med Microsoft Entra ID begär och bearbetar token. Tidigare var det ofta tillräckligt att låta användaren identifiera sig med ett användarnamn och ett lösenord för en identitetsprovider som Microsoft Entra-ID för att utfärda en token till en app. Den här token svarade på frågan "Vem är användaren och vad kan appen komma åt?" Idag är en säkrare metod för att verifiera identitetskonton för fler signaler:

  • Vem är användaren?
  • Vad kan appen komma åt?
    • Från vilken enhet?
    • Med vilken styrka av autentiseringsuppgifter?
    • Från vilka nätverksplatser?

Microsoft Entra-ID-kunder kan använda funktioner som villkorsstyrd åtkomst för att avgöra vilka frågor eller villkor de vill utvärdera för att säkerställa säker resursåtkomst.

Utvecklare som skapar program som kräver användaridentitetshantering behöver inte skriva kod för att ta hänsyn till den här komplexiteten i utfärdandet av token. Inbyggda MSAL-funktioner möjliggör bearbetning av autentiseringsbegäran. När villkorsstyrd åtkomst är aktiverad säkerställer Microsoft Entra-ID:t principtillämpning när ett program begär en token. Den verifierar begäranden mot principer som användarplatsen (till exempel om de finns i företagsnätverket) eller utvärderar risksignaler för användaren. Utvärdering av användarrisk kan kräva mer användarinteraktion som multifaktorautentisering (MFA). När Microsoft Entra-ID verifierar efterlevnad av principbegränsningar utfärdar det en token. När det inte går att verifiera efterlevnaden utfärdar Inte Microsoft Entra-ID en token till appen och ger användaren kontext till varför de inte kan komma åt en resurs.

Eftersom principer för villkorsstyrd åtkomst nu är mer avancerade. Det finns en bred uppsättning signaler som avgör om en användare eller tjänst ska ta emot en token. Det kan till exempel vara viktigt att avgöra om en mobil enhet använder hantering av mobilprogram (MAM), om Intune hanterar en Windows-dator inifrån en skrivbordsapp. Eller så kan du behöva skydda token genom att binda dem till en begärans ursprungliga enhet. Den här fliten hjälper till att säkerställa efterlevnad och säkerhet med minimal friktion för utvecklaren. Microsoft-bibliotek erbjuder nödvändiga byggnadsställningar samtidigt som flexibiliteten bibehålls när det gäller att uppfylla specifika principkrav.

Autentisera och auktorisera med Microsoft Entra-ID

Microsoft Entra-ID stöder autentiserings- och auktoriseringsflöden i webbläsare för att skydda webbaserade tillgångar (till exempel webbplatser och API:er) och på klientplattformar som Windows, macOS, Linux, iOS och Android. Teknikleverantörer i hela ekosystemet samarbetar med Microsoft för att säkerställa att kunder, deras organisationer och partner har sömlösa funktioner för hantering av autentiseringsuppgifter. Microsoft Edge fungerar direkt med Microsoft Entra-ID för att stödja enhetsomfattande enkel inloggning för att autentisera användare på sina Windows-enheter. Google Chrome (version 111) och Firefox (version 91) har den här funktionen. Webbprogram som använder Microsoft Entra-ID-identiteter använder automatiskt dessa funktioner i sina webbläsarbaserade appar för att erbjuda en sömlös inloggningsupplevelse för kunder.

För att göra det möjligt för inbyggda program att tillhandahålla den här enhetliga SSO-upplevelsen introducerade Microsoft Entra autentiseringskoordinatorer, program som körs på en användares enhet för att hantera handskakningar för autentisering och underhålla token för anslutna konton. I följande tabell visas autentiseringskoordinatorer för vanliga operativsystem.

Operativsystem Autentiseringskoordinator
iOS Microsoft Authenticator-appen
Android Microsoft Authenticator-app eller Intune-företagsportalapp
Windows Web Account Manager inbyggd operativsystemkomponent som är tillgänglig i Windows 10, Windows Server 2019 och senare, Windows 11

Med autentiseringskoordinatorer kan inbyggda programutvecklare använda nya Microsoft Entra-ID-funktioner, till exempel enhetsbaserade principer för villkorsstyrd åtkomst, utan att behöva skriva om kod när nya funktioner blir tillgängliga i molnet. Program som inte använder en autentiseringskoordinator kan se begränsad appimplementering av Microsoft Entra ID-kunder som kräver dessa funktioner.

Delegera identitets- och åtkomsthantering till Microsoft Entra-ID

Du kan skapa program som delegerar identitets- och åtkomsthantering till Microsoft Entra-ID med valfritt utvecklarverktyg, bibliotek eller ramverk som implementerar OAuth 2.0, OIDC eller SAML med de tidigare diskuterade förbehållen. Många OIDC-implementeringar med OpenID-certifiering för en eller flera certifieringsprofiler, inklusive autentiseringsprofiler, kräver minimal extra konfiguration för att fungera med Microsoft Entra-ID. För att underlätta utvecklingen för Microsoft Entra ID-plattformen fungerar flera optimerade Microsoft-bibliotek med Microsoft usluge och funktioner.

  • När du skapar webbappar, API:er eller andra arbetsbelastningar (till exempel daemoner eller tjänster på ASP.NET Core eller ASP.NET) använder du Microsoft Identity Web.
  • Om du bygger på Microsoft Azure använder du Azure SDK:er som innehåller Azure Identity-klientbiblioteken.
  • När du inte kan använda något av dessa bibliotek använder du en MSAL för utvecklingsmiljön enligt följande tabell.
Bibliotek Plattformar och ramverk som stöds
MSAL för Android Android
MSAL Angular Ensidesappar med Angular- och Angular.js-ramverk
MSAL Objective-C iOS, iPadOS, macOS
MSAL Go Windows, macOS, Linux
MSAL Java Windows, macOS, Linux
MSAL.js JavaScript-/TypeScript-ramverk som Vue.js, Ember.js eller Durandal.js
MSAL.NET .NET, .NET Framework, Xamarin Android, Xamarin iOS
MSAL-nod Webbappar med Express, skrivbordsappar med Electron, plattformsoberoende konsolappar
MSAL Python Windows, macOS, Linux
MSAL React Ensidesappar med React- och React-baserade bibliotek (Next.js, Gatsby.js)

MSAL-serien med bibliotek tillhandahåller grundläggande funktioner för tokeninsamling och cachelagring. Byggt på MSAL-, Microsoft Identity Web- och Azure Identity-klienter förenklar du tokenanskaffning med funktioner för autentiseringsbibliotek.

När det är möjligt rekommenderar vi ATT ISV:er bygger på MSAL eller ett bibliotek som bygger på MSAL. MSAL stöder asynkron autentisering, scenarier med villkorsstyrd åtkomst, tokenskydd, Microsoft Intune-appskyddsprinciper och Hantering av mobilappar, Utvärdering av kontinuerlig åtkomst i Microsoft med mera.

På alla tillgängliga plattformar integreras det enhetliga MSAL-autentiseringsramverket sömlöst med Microsoft platforma za identitete för konsekvent och säker användarautentisering. Eftersom MSAL abstraherar bort komplexiteten kring proaktiv tokenförnyelse, cachelagring och återkallning kan utvecklare se till att autentiseringsflödena är säkra, robusta och tillförlitliga.

Få åtkomst till andra resurser

Program behöver ofta mer än autentisering och auktorisering (till exempel åtkomst till klientorganisationens katalogdata). Åtkomst kan vara att hämta attribut för användaren, grupper, gruppmedlemmar, program, styrning och identitetsskydd.

Microsoft Graph ger åtkomst till klientorganisationens identitet och åtkomst, användare, grupper och program. Microsoft Graph är gatewayen till data och intelligens i Microsoft 365. Du kan använda dess enhetliga programmeringsmodell för att få åtkomst till den enorma mängden data i Microsoft 365, Windows och Enterprise Mobility + Security (EMS).

Nästa steg