Microsoft Entra ID Guide for independent software developers (Handleiding voor Microsoft Entra-id's voor onafhankelijke software
Microsoft Entra ID is een cloudservice voor identiteits- en toegangsbeheer waarmee werknemers toegang kunnen krijgen tot resources. Brancheanalisten herkennen Microsoft Entra ID consistent als leider. Het is een zevenvoudige leider in het Magic Quadrant voor toegangsbeheer. KuppingerCole tarieven Microsoft Entra ID als positief voor alle dimensies in toegangsbeheer. Frost & Sullivan noemde Microsoft the 2022 Company of the Year voor de wereldwijde identiteits- en toegangsbeheerindustrie. Lees verhalen over een aantal van meer dan 300.000 organisaties die gebruikmaken van Microsoft Entra-id.
Dit artikel is de eerste in een reeks over hoe onafhankelijke softwareontwikkelaars (ISV's) toepassingen kunnen bouwen en optimaliseren voor Microsoft Entra ID. In deze reeks vindt u meer informatie over deze onderwerpen:
- Stel toepassingen in het Microsoft Entra ID-ecosysteem in om te beschrijven hoe u het Microsoft Entra-beheercentrum of de Microsoft Graph Application Programming Interface (API) gebruikt om apps te registreren in een Microsoft Entra ID-tenant.
- Toepassingen en gebruikers verifiëren beschrijft hoe toepassingen Microsoft Entra ID gebruiken om gebruikers en toepassingen te verifiëren.
- Autoriseren van toepassingen, resources en workloads illustreert autorisatie wanneer een mens met een toepassing communiceert en omverwijst. In dit scenario fungeren API's voor een gebruiker en wanneer toepassingen of services onafhankelijk van elkaar werken.
- Door tokens aan te passen, kunt u beveiliging inbouwen in toepassingen met id-tokens en toegangstokens van Microsoft Entra ID. Hierin worden de gegevens beschreven die u kunt ontvangen in Microsoft Entra ID-tokens en hoe u deze kunt aanpassen.
Ontwikkelen met het Microsoft Identity Platform
Toepassingen zijn de kern van Microsoft Entra ID. Wanneer een gebruiker toegang heeft tot een resource, hebben ze toegang tot die resource met een toepassing. Het Microsoft Identity Platform omvat de hulpprogramma's en services waarmee ontwikkelaars kunnen bouwen op Microsoft Entra ID. Het Microsoft Identity Platform begint met Microsoft Entra ID, de cloudservice die bewerkingen biedt, zoals aanmelden, afmelden en toepassingsregistratie die een toepassing vereist. Het Microsoft Identity Platform bevat opensource Microsoft Authentication Libraries (MSAL) in verschillende talen en frameworks en Microsoft Graph die API's biedt voor toegang tot gegevens en bewerkingen in Microsoft Entra ID.
Voor ontwikkelaars bevat het Microsoft Identity Platform de volgende functies.
- Een gebruiker verifiëren, een app autoriseren en API-tokens genereren.
- Vereenvoudig de integratie van beveiligingsfuncties rechtstreeks met Microsoft Authentication Library (MSAL) of via een API op een hoger niveau, zoals Microsoft.Identity.Web of Azure.Identity.
- In plaats van volledig nieuwe OAuth 2.0 te implementeren, gebruikt u MSALs om complexiteit te abstraheren met robuuste API's waarmee ontwikkelaars toil worden verwijderd.
- Zorg ervoor dat toepassingen de aanbevolen procedures volgen voor beveiliging in overeenstemming met industriestandaarden en -protocollen, zoals OAuth 2.0.
- Verificatieverhalen samenvoegen in toepassingen en ervaringen met ondersteuning voor eenmalige aanmelding (SSO).
- Stroomlijn de integratie van sociale identiteiten met Microsoft External ID.
- Beveilig gegevens en assets met minimale sanitaircode en systeemeigen ondersteuning voor Microsoft Entra ID-mogelijkheden, zoals voorwaardelijke toegang (CA), Continue toegangsevaluatie (CAE), Microsoft Entra ID Protection en apparaatbeheer.
- Bouw toepassingen die verificatietokens veilig beveiligen en tegelijkertijd naleving van apparaten en beleid afdwingen. Vertrouw op ondersteuning voor verificatie met moderne brokers zoals Microsoft Authenticator of ingebouwde onderdelen van het besturingssysteem, zoals Web Account Manager (WAM) in Windows.
Toepassingen integreren met Microsoft Entra ID
Toepassingen die kunnen worden geïntegreerd met Microsoft Entra ID-gebruikers-, service- of groepsidentiteiten, communiceren met een Microsoft Entra ID-tenant. Een tenant is een toegewezen instantie van Microsoft Entra-id die meestal een organisatie of een groep binnen een groter bedrijf vertegenwoordigt. De tenant bevat de adreslijst van de organisatie, het opslaan van objecten zoals werk- of schoolaccounts of uitgenodigde partneraccounts. Groepen, toepassingen, apparaten en andere objecten worden ook opgeslagen. De tenant biedt de webeindpunten die toepassingen gebruiken om bewerkingen uit te voeren, zoals verificatie.
Een toepassing doet aanvragen naar een tenanteindpunt om tokens op te halen die gebruikers identificeren of die resource-API's kunnen gebruiken om toegang tot resources te autoriseren. Met toepassingsidentiteiten in Microsoft Entra ID kunnen toepassingen tokens aanvragen vanuit een Microsoft Entra ID-tenant, terwijl gebruikers het juiste contextniveau krijgen over wie ze probeert te verifiëren.
Hoewel de meeste ondernemingen slechts één Microsoft Entra ID-tenant nodig hebben, moeten organisaties in scenario's mogelijk meerdere tenants hebben om te voldoen aan hun bedrijfsdoelen. Een grote onderneming kan meerdere onafhankelijke bedrijfseenheden bevatten die coördinatie en samenwerking in de hele onderneming kunnen vereisen. Steden in een regio of scholen in een district hebben mogelijk vergelijkbare vereisten. In deze scenario's kan elke eenheid een eigen tenant met een eigen configuratie en beleid hebben. Omdat Microsoft Entra ID-tenants tenants hosten, kunnen organisaties samenwerking tussen tenants instellen met minimale wrijving.
Microsoft Entra ID ondersteunt het volgende onder een breed scala aan protocollen.
- OAuth 2.0 is de industriestandaard voor autorisatie. Toepassingen vragen een toegangstoken aan met het OAuth 2.0-protocol om autorisatie voor een toepassing op te halen voor toegang tot een beveiligde resource.
- OpenID Connect (OIDC) is een interoperabele verificatiestandaard die is gebouwd op OAuth 2.0. Toepassingen vragen een id-token aan met het OIDC-protocol om de huidige gebruiker te verifiëren.
- Security Assertion Markup Language (SAML) 2.0 is een verificatiestandaard. Toepassingen vragen om een SAML-assertie, ook wel een SAML-token genoemd, van Microsoft Entra-id om verificatie- en autorisatiegegevens uit te wisselen tussen een app en Microsoft Entra-id. Toepassingen gebruiken SAML om de huidige gebruiker te verifiëren.
- Het systeem voor CROSS-Domain Identity Management (SCIM) is niet voor verificatie en autorisatie. SCIM is een inrichtingsprotocol waarmee de synchronisatie van gebruikers- en groepsinformatie tussen Microsoft Entra ID en het verbinden van toepassingen wordt geautomatiseerd. De synchronisatie richt gebruikers en groepen in op een toepassing.
De belangrijkste bewerkingen die toepassingen uitvoeren met Microsoft Entra ID, zijn het aanvragen en verwerken van tokens. In het verleden was het vaak voldoende om een id-provider, zoals Microsoft Entra-id, te laten identificeren met een gebruikersnaam en een wachtwoord om een token uit te geven aan een app. Met dit token is de vraag 'Wie is de gebruiker en wat kan de app openen?' beantwoord. Tegenwoordig is een veiligere benadering om identiteitsaccounts voor meer signalen te verifiëren:
- Wie is de gebruiker?
- Wat heeft de app toegang?
- Vanaf welk apparaat?
- Met welke sterkte van referenties?
- Vanaf welke netwerklocaties?
Microsoft Entra ID-klanten kunnen functies zoals voorwaardelijke toegang gebruiken om te bepalen welke vragen of voorwaarden ze willen evalueren om beveiligde toegang tot resources te garanderen.
Ontwikkelaars die toepassingen bouwen waarvoor verwerking van gebruikersidentiteiten is vereist, hoeven geen code te schrijven om rekening te houden met deze complexiteit bij het uitgeven van tokens. Ingebouwde MSAL-mogelijkheden maken verwerking van verificatieaanvragen mogelijk. Als voorwaardelijke toegang is ingeschakeld, zorgt Microsoft Entra ID ervoor dat beleid wordt afgedwongen wanneer een toepassing een token aanvraagt. Hiermee worden aanvragen gecontroleerd op basis van beleidsregels zoals de locatie van de gebruiker (bijvoorbeeld of ze zich in het bedrijfsnetwerk bevinden) of risicosignalen voor de gebruiker evalueren. Evaluatie van gebruikersrisico's vereist mogelijk meer gebruikersinteractie, zoals meervoudige verificatie (MFA). Nadat De Microsoft Entra-id de naleving van beleidsbeperkingen heeft geverifieerd, wordt er een token opgegeven. Wanneer de naleving niet kan worden geverifieerd, geeft Microsoft Entra-id geen token uit aan de app en biedt de gebruiker context waarom ze geen toegang hebben tot een resource.
Omdat beleid voor voorwaardelijke toegang nu geavanceerder is. Er is een brede set signalen die bepaalt of een gebruiker of service een token moet ontvangen. Het kan bijvoorbeeld belangrijk zijn om te bepalen of een mobiel apparaat Mobile Application Management (MAM) gebruikt, of Intune een Windows-pc beheert vanuit een desktop-app. Of misschien moet u tokens beveiligen door ze te binden aan het oorspronkelijke apparaat van een aanvraag. Deze zorgvuldigheid helpt bij het waarborgen van naleving en beveiliging met minimale wrijving voor de ontwikkelaar. Microsoft-bibliotheken bieden de benodigde scaffolding, met behoud van flexibiliteit bij het reageren op specifieke beleidsvereisten.
Verifiëren en autoriseren met Microsoft Entra-id
Microsoft Entra ID ondersteunt verificatie- en autorisatiestromen in browsers voor het beveiligen van webassets (zoals websites en API's) en op clientplatforms zoals Windows, macOS, Linux, iOS en Android. Technologieproviders in het hele ecosysteem nemen contact op met Microsoft om ervoor te zorgen dat klanten, hun organisaties en partners naadloze ervaringen voor het afhandelen van referenties hebben. Microsoft Edge werkt rechtstreeks met Microsoft Entra ID om eenmalige aanmelding van apparaten te ondersteunen om gebruikers op hun Windows-apparaten te verifiëren. Google Chrome (versie 111) en Firefox (versie 91) hebben deze functionaliteit. Webtoepassingen die gebruikmaken van Microsoft Entra ID-identiteiten, gebruiken deze functies automatisch in hun browser-apps om klanten een naadloze aanmeldingservaring te bieden.
Om systeemeigen toepassingen in staat te stellen om deze uniforme SSO-ervaring te bieden, heeft Microsoft Entra verificatiebrokers geïntroduceerd, toepassingen die worden uitgevoerd op het apparaat van een gebruiker om verificatiehanddrukken te beheren en tokens voor verbonden accounts te onderhouden. De volgende tabel bevat verificatiebrokers voor algemene besturingssystemen.
Besturingssysteem | Verificatiebroker |
---|---|
iOS | Microsoft Authenticator-app |
Android | Microsoft Authenticator-app of Intune-bedrijfsportal-app |
Windows | Web Account Manager ingebouwd besturingssysteemonderdeel beschikbaar in Windows 10, Windows Server 2019 en hoger, Windows 11 |
Met verificatiebrokers kunnen systeemeigen toepassingsontwikkelaars nieuwe Microsoft Entra ID-mogelijkheden gebruiken, zoals beleid voor voorwaardelijke toegang op basis van apparaten, zonder dat ze code hoeven te herschrijven naarmate er nieuwe functies beschikbaar komen in de cloud. Toepassingen die geen verificatiebroker gebruiken, zien mogelijk beperkte app-acceptatie door Microsoft Entra ID-klanten die deze functies vereisen.
Identiteits- en toegangsbeheer delegeren aan Microsoft Entra-id
U kunt toepassingen bouwen die identiteits- en toegangsbeheer delegeren aan Microsoft Entra ID met behulp van elk hulpprogramma voor ontwikkelaars, bibliotheken of frameworks waarmee OAuth 2.0, OIDC of SAML wordt geïmplementeerd met de eerder besproken opmerkingen. Veel OIDC-implementaties met OpenID-certificering voor een of meer certificeringsprofielen , inclusief verificatieprofielen, vereisen minimale extra configuratie om met Microsoft Entra-id te werken. Om de ontwikkeling voor het Microsoft Entra ID-platform te vereenvoudigen, werken verschillende geoptimaliseerde Microsoft-bibliotheken met Microsoft-services en mogelijkheden.
- Gebruik Microsoft Identity Web wanneer u web-apps, API's of andere workloads (zoals daemons of services op ASP.NET Core of ASP.NET) bouwt.
- Als u bouwt op Microsoft Azure, gebruikt u Azure SDK's die de Azure Identity-clientbibliotheken bevatten.
- Als u een van deze bibliotheken niet kunt gebruiken, gebruikt u een MSAL voor uw ontwikkelomgeving, zoals wordt weergegeven in de volgende tabel.
Bibliotheek | Ondersteunde platforms en frameworks |
---|---|
MSAL voor Android | Android |
MSAL Angular | Apps met één pagina met Angular en Angular.js frameworks |
MSAL Objective-C | iOS, iPadOS, macOS |
MSAL Go | Windows, macOS, Linux |
MSAL Java | Windows, macOS, Linux |
MSAL.js | JavaScript/TypeScript-frameworks zoals Vue.js, Ember.js of Durandal.js |
MSAL.NET | .NET, .NET Framework, Xamarin Android, Xamarin iOS |
MSAL-knooppunt | Web-apps met Express, desktop-apps met Electron, platformoverschrijdende console-apps |
MSAL Python | Windows, macOS, Linux |
MSAL React | Apps met één pagina met React- en op React gebaseerde bibliotheken (Next.js, Gatsby.js) |
De MSAL-serie bibliotheken biedt kernfunctionaliteit voor het verkrijgen en opslaan van tokens. Gebouwd op MSAL-, Microsoft Identity Web- en Azure Identity-clients, vereenvoudigt u het verkrijgen van tokens met de mogelijkheden van de verificatiebibliotheek.
Waar mogelijk adviseren we ISV's om te bouwen op MSAL of een bibliotheek die op MSAL is gebouwd. MSAL ondersteunt brokered verificatie, scenario's voor voorwaardelijke toegang, tokenbeveiliging, beveiligingsbeleid voor Microsoft Intune-apps en Mobile App Management, Microsoft Continuous Access Evaluation en meer.
Op alle beschikbare platforms kan het geïntegreerde MSAL-verificatieframework naadloos worden geïntegreerd met het Microsoft Identity Platform voor consistente en veilige gebruikersverificatie. Omdat MSAL complexiteit wegneemt rond proactieve vernieuwing van tokens, caching en intrekking, kunnen ontwikkelaars ervoor zorgen dat verificatiestromen veilig, robuust en betrouwbaar zijn.
Toegang tot andere resources
Toepassingen hebben vaak meer nodig dan verificatie en autorisatie (zoals toegang tot de mapgegevens van de tenant). Access kan bestaan uit het verkrijgen van kenmerken van de gebruiker, groepen, groepsleden, toepassingen en governance.
Microsoft Graph biedt toegang tot de identiteit en toegang van de tenant, gebruikers, groepen en toepassingen. Microsoft Graph is de gateway voor gegevens en intelligentie in Microsoft 365. U kunt het geïntegreerde programmeermodel gebruiken om toegang te krijgen tot de enorme hoeveelheid gegevens in Microsoft 365, Windows en Enterprise Mobility + Security (EMS).
Volgende stappen
- Het instellen van toepassingen in het Microsoft Entra ID-ecosysteem beschrijft hoe u het Microsoft Entra-beheercentrum of de Microsoft Graph API gebruikt om apps te registreren in een Microsoft Entra ID-tenant.
- Toepassingen en gebruikers verifiëren beschrijft hoe toepassingen Microsoft Entra ID gebruiken om gebruikers en toepassingen te verifiëren.
- Autoriseren van toepassingen, resources en werkbelastingen bespreekt autorisatie wanneer een individuele persoon communiceert met een toepassing, wanneer API's namens een gebruiker handelen en wanneer toepassingen of services onafhankelijk werken.
- Door tokens aan te passen, kunt u beveiliging inbouwen in toepassingen met id-tokens en toegangstokens van Microsoft Entra ID. Hierin worden de gegevens beschreven die u kunt ontvangen in Microsoft Entra ID-tokens en hoe u deze kunt aanpassen.