Behörighetsomfattningen | Graph API-begrepp

Gäller för: Graph API | Azure Active Directory (AD)

Graph API exponerar behörighetsomfattningen för OAuth 2.0 som används för att styra åtkomsten som en app har till katalogdata för kunden. Som utvecklare kan konfigurera du din app med behörigheten scope lämplig åtkomst som krävs. Du gör detta via Azure-portalen. Under inloggning ges användare eller administratörer möjlighet att godkänna att din appåtkomst till sina katalogdata med behörighetsomfattningen som du har konfigurerat. Därför bör du välja behörighetsomfattningen som innehåller minst nivå av behörighet som krävs av din app. Mer information om hur du konfigurerar behörigheterna för din app och medgivande processen för finns integrera program med Azure Active Directory.

Viktigt

Vi rekommenderar starkt att du använder Microsoft Graph i stället för Azure AD Graph API för att komma åt resurser i Azure Active Directory. Vårt utvecklingsarbete är nu samlade på Microsoft Graph och inga fler förbättringar som planeras att Azure AD Graph API. Det finns ett begränsat antal scenarier som Azure AD Graph API kan fortfarande vara lämplig. Mer information finns i Microsoft Graph eller Azure AD Graph blogginlägget i Office Dev Center.

Behörighet scope-begrepp

Appen endast kontra delegerad scope

Behörighetsomfattningen kan vara endast app- eller delegerade. Endast App-omfattningar (även kallat app roller) beviljar fullständigt uppsättningen behörigheter som erbjuds av appen. Endast App-scope som vanligtvis används av appar som körs som en tjänst utan att vara närvarande inloggade användaren. Delegerad behörighet scope är för appar som en användare loggar in på. Dessa scope delegera behörigheter för den inloggade användare till appen, så att appen fungerar som den inloggade användaren. De privilegier som beviljats appen blir en lägsta möjliga kombination (skärningspunkten) behörigheter beviljas av omfattningen och de ägde av den inloggade användaren. Exempelvis om behörighet omfånget beviljar delegerad behörighet för att skriva alla katalogobjekt, men den inloggade användaren har behörighet för endast för att uppdatera sin egen användarprofil, kommer appen bara att kunna skriva den inloggade användarens profil, men inga andra objekt.

Fullständiga och grundläggande profiler för användare och grupper

Den fullständiga profil (eller profil) av en användare eller en gruppen innehåller alla deklarerade entitetsegenskaper. Eftersom profilen kan innehålla känslig kataloginformation eller personligt identifierbar information (PII), begränsa flera scope appåtkomst till en begränsad uppsättning egenskaper som kallas en grundläggande profilinformation. För användare, grundläggande profilen innehåller följande egenskaper: Visa namn, och efternamn, foto och e-postadress. För grupper innehåller grundläggande profilinformation enbart visningsnamn.

Information om behörighet omfång

I följande tabell beskrivs åtkomsten som beviljats av varje finns behörighetsomfattningen för Graph API.

  • Den omfång kolumnen visar scope-namn. Scopenamn ta formuläret resource.operation.constraint; till exempel Group.ReadWrite.All. Om villkoret är ”alla”, ger vilka appen möjligheten att utföra åtgärden (ReadWrite) på alla de angivna resurserna (grupp) i katalogen; Annars kan omfattningen endast åtgärden i profilen för den inloggade användaren. Scope kan bevilja begränsad behörighet för den angivna åtgärden finns i beskrivning kolumn mer information.
  • Den behörighet kolumnen visar hur omfånget visas på Azure-portalen.
  • Den beskrivning kolumnen beskriver den fullständiga uppsättningen behörigheter som tilldelats av omfånget. För delegerad scope blir den faktiska åtkomst till appen lägsta möjliga kombinationen (skärningspunkten) av åtkomst som beviljas av omfånget och behörigheter för den inloggade användaren.
Omfång Behörigheter Beskrivning Definitionsområdestyp Kräver godkännande av administratören
User.Read Aktivera inloggning och Läs användarprofil Tillåter användare att logga in i appen och tillåter appen att läsa fullständig profilen för den inloggade användaren. Fullständig profilen innehåller alla deklarerade egenskaperna för den användaren entitet. User.Read tillåter appen att läsa följande grundläggande företagsinformation för den inloggade användaren (via den TenantDetail objekt): klient-ID, klient visningsnamn och verifierade domäner. Appen kan inte läsa navigeringsegenskaper, till exempel manager eller direktrapporter. Appen kan inte läsa användarens lösenord. delegerad Nej
User.ReadBasic.All Läs grundläggande profiler för alla användare Tillåter appen att läsa grundläggande profilinformation för alla användare i organisationen å den inloggade användaren vägnar. Följande egenskaper som utgör en användares grundläggande profilinformation: Visa namn, och efternamn, foto och e-postadress. Om du vill läsa de grupper som användaren är medlem i kräver appen också Group.Read.All eller Group.ReadWrite.All. delegerad Nej
User.Read.All Läs fullständiga profiler för alla användare Samma som User.ReadBasic.All, förutom att den tillåter appen att läsa fullständig profil för alla användare i organisationen och vid läsning av navigeringsegenskaper som manager och direktrapporter. Fullständig profilen innehåller alla deklarerade egenskaperna för den användaren entitet. Om du vill läsa de grupper som användaren är medlem i kräver appen också Group.Read.All eller Group.ReadWrite.All. Appen kan inte läsa användarnas lösenord. delegerad Ja
Group.Read.All Läsa alla grupper (förhandsgranskning) Tillåter appen att läsa grundläggande profilinformation för alla grupper i organisationen å den inloggade användaren vägnar. Appen kan också läsa grundläggande profilinformation i de grupper som en grupp som är medlem i. Grundläggande profilen för en grupp innehåller endast gruppens namn. Om du vill läsa profilinformation för gruppens medlemmar kräver också appen User.ReadBasic eller User.Read.All. delegerad Ja
Group.ReadWrite.All Läsa och skriva alla grupper (förhandsgranskning) Tillåter appen att läsa fullständig profilerna för alla grupper i organisationen, samt att skapa och uppdatera grupper å den inloggade användaren vägnar. Appen kan också läsa fullständig profilen för de grupper som en grupp som är medlem i. Fullständig profilen innehåller alla deklarerade egenskaperna för den grupp entitet. Om du vill läsa profilerna för eller uppdatera en gruppmedlemmar, kräver också appen User.ReadBasic eller User.Read.All. delegerad Ja
Device.ReadWrite.All Läsa och skriva alla enheter Tillåter appen att läsa och skriva alla egenskaper för enhet utan en inloggad användare. Tillåter inte att skapa en enhet, enheten tas bort eller uppdatera enheten alternativa säkerhetsidentifierare. endast appen Ja
Directory.Read.All Läs katalogdata Tillåter appen att läsa alla data i organisationens katalog, t.ex användare, grupper och appar, och deras associerade navigeringsegenskaper. Obs: användare kan samtycka till program som kräver den här behörigheten om programmet är registrerad i sina egna organisationens klient. bara App, delegerad Ja
Directory.ReadWrite.All Läsa och skriva katalogdata Tillåter appen att läsa alla data i organisationens katalog. Tillåter appen att skapa och uppdatera användare och grupper och uppdatera sina navigeringsegenskaper, men tillåter inte att ta bort användare eller grupp. Tillåter även appen att definiera schematillägg för program. En detaljerad lista över privilegier finns Directory.ReadWrite.All behörighet detalj nedan. bara App, delegerad Ja
Directory.AccessAsUser.All Ha samma katalogåtkomst som den inloggade användaren Tillåter att appen samma åtkomst till data i organisationens katalog som den inloggade användaren. Obs: en app-klienten kan ha samtycker till att den här behörigheten men användaren, ett webbprogram kräver godkännande av administratören. delegerad Ja

Obs: som standard när du skapar en app med Azure-portalen, Azure AD tilldelar den en delegerad behörighet omfattning User.Read.

Directory.ReadWrite.All privilegier detaljer

Området Directory.ReadWrite.All behörighet ger följande behörigheter:

  • Fullständig läsbehörighet för alla katalogobjekt (deklarerade egenskaper och navigeringsegenskaper)
  • Skapa och uppdatera användare
  • Inaktivera och aktivera användare (men inte företagsadministratör)
  • Ange användaren alternativa säkerhets-id (men inte administratörer)
  • Skapa och uppdatera grupper
  • Hantera gruppmedlemskap
  • Uppdatera gruppägare
  • Hantera licenstilldelning
  • Definiera schematillägg för program
  • Tillåter lösenordet anges när du skapar en användare.
  • Obs: inga rättigheter att återställa användarlösenord
  • Obs: inga rättigheter att läsa användarlösenord
  • Obs: inga rättigheter att ta bort enheter (inklusive användare eller grupper)
  • Obs: uttryckligen utesluter skapa eller uppdatera för enheter som inte listas här ovan. Detta omfattar: program, Oauth2PermissionGrant, AppRoleAssignment, enhet, ServicePrincipal, TenantDetail, domäner, osv.

Behörighet scope-scenarier

I följande tabell visas behörighetsomfattningen som behövs för en app för att kunna utföra specifika åtgärder. Observera att i vissa fall möjligheten för appen för att utföra vissa åtgärder beror på om behörighet omfånget är endast app- eller delegerade och, när det gäller delegerad behörighet scope på behörighet för den inloggade användaren.

Scenario Åtkomsten som krävs Behörighet Scope som behövs
Logga in och visa en panel med användarens namn och miniatyrfoto. Läsa fullständig profilen för den inloggade användaren.
Läsa grundläggande företagsinformation.
User.Read
Grundläggande personer väljare. Läs grundläggande profilinformation för alla användare å den inloggade användaren vägnar. User.ReadBasic.All
Personväljaren för med fullständig profil. Samma som ovan men tillgång till fullständig profilen användare å den inloggade användaren vägnar. User.Read.All
Org diagram navigator. Läsa fullständig profil för alla användare, deras chefer och direktrapporter å den inloggade användaren vägnar. User.Read.All
Personväljaren för som innehåller grupper för åtkomstkontroll i appen.

Medlemskap i gruppen och visningsprogram.
Läs grundläggande profilinformation för alla grupper och användare å den inloggade användaren vägnar.
Läs grundläggande användarprofiler för användarnas manager och direktrapporter.
Läs grundläggande profilinformation av användares gruppmedlemskap.
Läs grundläggande profilinformation av gruppers gruppmedlemskap.
Läs grundläggande profilinformation grupper-medlemmar
User.ReadBasic.All och Group.Read.All
Visa profilen för den inloggade användaren och användarens manager direktrapporter och gruppmedlemskap. Använd me operations läsa:
Fullständig profilen för den inloggade användaren.
Fullständig profilen för den inloggade användaren manager och direktrapporter.
Grundläggande profilinformation i de grupper som den inloggade användaren är medlem i.

Obs: kombinationen av två scope ger mer åtkomst än vad som anges här för me åtgärder.
User.Read.All och Group.Read.All
Gruppera management-tjänst som gör att användare kan skapa och hantera grupper. Läsa fullständig profilen på alla grupper och användare å den inloggade användaren vägnar.
Läs fullständiga profiler för användarnas manager och direktrapporter.
Läsa fullständig profil av användares gruppmedlemskap.
Läsa fullständig profil av gruppers gruppmedlemskap.
Läsa fullständig profil gruppers medlemmar.
Skapa och uppdatera grupper och deras navigeringsegenskaper (medlemmar).
User.Read.All och Group.ReadWrite.All
Läsa alla katalogobjekt (inklusive navigeringsegenskaper). Directory.Read.All
Läsa alla katalogobjekt (inklusive navigeringsegenskaper).
Skapa och uppdatera användar- och gruppobjekt.
Inga användare eller grupp borttagning.

Obs: inte alla behörigheter som beviljas i den här listan.
Directory.ReadWrite.All
Fungerar som den inloggade användaren. Läsa och skriva katalogobjekt (inklusive navigeringsegenskaper) å den inloggade användaren vägnar. Directory.AccessAsUser.All

Standardåtkomst för administratörer, användare och gästanvändare

I följande tabell visas standardåtkomst av (global) administratörer, användare och gästanvändare i katalogen. Standardåtkomst kan vara ytterligare förhöjd eller begränsade baserat på konfigurationsinställningar för katalogen och/eller en användares medlemskap i en eller flera roller i katalogen. Mer detaljerad information om hur du konfigurerar åtkomst för användare och gästanvändare i kataloginformation finns skapa eller redigera användare i Azure AD. Mer information om åtkomst som är associerade med olika directory roller finns Tilldela administratörsroller i Azure AD.

Användartyp Åtkomst
Global administratör Läsa alla katalogobjekt.
Skapa, uppdatera och ta bort alla katalogobjekt
Användare Läsa alla katalogobjekt.
Skapa program och associerade tjänstens huvudnamn.
Uppdatera sin profil.
Uppdatera grupper som de äger (och egenskapen medlemmar).
Uppdatera program och tjänstens huvudnamn som de äger.
Ta bort program och tjänstens huvudnamn som de äger.
Gästanvändare Läsa fullständig profilen.
Läsa de grundläggande profilerna för alla andra användare
Läs grundläggande profilinformation för alla grupper.
Läsa program.
Uppdatera några egenskaper för sin profil.
Ingen användare eller grupp sökning (se användar- och söka begränsningar för gästanvändare nedan).

Användar- och söka begränsningar för gästanvändare

Användar- och sökfunktioner för gruppen tillåter appen att söka efter alla användare eller grupper i katalogen kund genom att utföra frågor mot den användare eller grupper resursuppsättningen (till exempel https://graph.windows.net/myorganization/users?api-version=1.6). Både administratörer och användare har den här funktionen. Gästanvändare inte. Om den inloggade användaren är en gästanvändare, beroende på vilka behörighet kan en app läsa profilen för en specifik användare eller grupp (till exempel med det objekt-ID eller användarens huvudnamnet (UPN) för en användare eller objekt-ID för en grupp , https://graph.windows.net/myorganization/users/241f22af-f634-44c0-9a15-c8cd2cea5531?api-version=1.6); men det går inte att utföra frågor mot den användare eller grupper resursuppsättningen som potentiellt begär mer än en entitet. Till exempel appen kan läsa profilerna för användare eller grupper som den erhåller av följande länkar i navigeringsegenskaper beroende på omfattningen behörighet, men det går inte att köra en fråga för att returnera alla användare eller grupper i katalogen.

Ytterligare resurser