-Machtigingsbereiken | Graph API-concepten
Van toepassing op: Graph API | Azure Active Directory (AD)
De Graph API beschrijft OAuth 2.0-machtigingsbereiken die worden gebruikt voor toegang van een app klant directorygegevens heeft beheren. Als een ontwikkelaar, kunt u uw app configureren met de machtigingsbereiken die geschikt is voor de toegang die is vereist. Doorgaans doen u dit via de Azure portal. Tijdens het aanmelden, gebruikers of beheerders zijn de gelegenheid om toestemming voor uw apptoegang tot hun gegevens van de map met de machtigingsbereiken die u hebt geconfigureerd. Daarom moet u machtigingsbereiken waarmee het laagste niveau van bevoegdheden die nodig is voor uw app. Zie voor meer informatie over het configureren van machtigingen voor uw app en het proces toestemming voor toepassingen integreren met Azure Active Directory.
Belangrijk
Wordt aangeraden dat u Microsoft Graph in plaats van Azure AD Graph API voor toegang tot Azure Active Directory-resources. Ontwikkeling van onze producten nu concentreren zich bij Microsoft Graph en geen verdere verbeteringen zijn gepland voor Azure AD Graph API. Er zijn een zeer beperkt aantal scenario's waarvoor Azure AD Graph API nog steeds mogelijk geschikt; Zie voor meer informatie de Microsoft Graph of de Azure AD Graph blogbericht in het Office-ontwikkelaarscentrum.
Machtiging bereik concepten
App alleen versus gedelegeerd scopes
-Machtigingsbereiken mag de app alleen-lezen of gedelegeerd. Alleen-App scopes (ook wel bekend als app rollen) verleent de app de volledige bevoegdheden die worden aangeboden door het bereik set. App alleen-lezen-scopes worden meestal gebruikt door apps die worden uitgevoerd als een service zonder een aangemelde gebruiker aanwezig is. Gedelegeerde machtigingsbereiken zijn voor apps die een gebruiker zich aanmeldt. Deze scopes delegeren bevoegdheden van de aangemelde gebruiker naar de app, zodat de app om te fungeren als de aangemelde gebruiker. De werkelijke bevoegdheden die zijn verleend aan de app worden de laagst mogelijke combinatie (het snijpunt) van de bevoegdheden verleend door het bereik en de instellingen die door de gebruiker is aangemeld horen. Bijvoorbeeld, als het bereik van de machtiging verleent gemachtigd bent voor het schrijven van alle directory-objecten, maar de aangemelde gebruiker bevoegdheden heeft voor het bijwerken van hun eigen gebruikersprofiel, zich de app alleen aangemeld profiel van de gebruiker, maar er zijn geen andere objecten schrijven.
Volledige en basic profielen voor gebruikers en groepen
Het volledige profiel of profiel van een gebruiker of een groep bevat alle gedeclareerde eigenschappen van de entiteit. Omdat het profiel gevoelige directorygegevens of persoonsgegevens (PII) bevatten kan, beperken meerdere scopes die apptoegang tot een beperkt aantal eigenschappen een basisprofiel genoemd. Voor gebruikers, de basisprofiel bevat alleen de volgende eigenschappen: naam, de voornaam en achternaam, foto's weergeven en e-mailadres. Voor groepen bevat het basisprofiel alleen de weergavenaam.
Machtiging bereik details
De volgende tabel geeft een lijst van de grafiek API-machtigingsbereiken en wordt de toegang wordt verleend door elk uitgelegd.
- De bereik kolom bevat de naam van het bereik. Bereiknamen duren voordat het formulier resource.operation.constraint; bijvoorbeeld: Group.ReadWrite.All. Als de beperking 'Alle' is, hebben het bereik van de app de mogelijkheid om de bewerking (ReadWrite) op alle opgegeven resources (groeps) in de map; anders wordt toegestaan het bereik alleen voor de bewerking op het profiel van de aangemelde gebruiker. Zie bereiken beperkte rechten voor de opgegeven bewerking kan er de beschrijving kolom voor meer informatie.
- De machtiging kolom ziet u hoe het bereik op de Azure-portal wordt weergegeven.
- De beschrijving kolom beschrijft de volledige set bevoegdheden die zijn verleend door het bereik. Voor gedelegeerd bereiken worden de werkelijke toegang verleend aan de app de laagst mogelijke combinatie (snijpunt) van de toegang is verleend door het bereik en bevoegdheden van de aangemelde gebruiker.
Bereik | Machtiging | Beschrijving | Bereiktype | Beheerder toestemming vereist |
---|---|---|---|---|
User.Read | Schakel aanmelden en gebruikersprofiel lezen | Hiermee kunnen gebruikers aan te melden bij de app en de App kan het lezen van het volledige profiel van de aangemelde gebruiker. Het volledige profiel omvat alle van de gedeclareerde eigenschappen van de gebruiker entiteit. User.Read kunnen worden gelezen van de volgende informatie in de basisgegevens over het bedrijf van de aangemelde gebruiker de app (via de TenantDetail object): tenant-ID, de naam van een tenant en geverifieerde domeinen. De app kan navigatie-eigenschappen, zoals manager of directe ondergeschikten niet lezen. De app kan het wachtwoord van de gebruiker niet lezen. | overgedragen | Nee |
User.ReadBasic.All | Basic profielen voor alle gebruikers lezen | Kan de app te lezen van het profiel van de basis van alle gebruikers in de organisatie namens de aangemelde gebruiker. De volgende eigenschappen vormen de basis van een gebruikersprofiel: naam, de voornaam en achternaam, foto's weergeven en e-mailadres. Ook om te lezen van de groepen die een gebruiker een lid van is, wordt de app Group.Read.All of Group.ReadWrite.All vereist. | overgedragen | Nee |
User.Read.All | Alle gebruikers volledige profielen lezen | Zelfde als User.ReadBasic.All, behalve dat deze de app te lezen van het volledige profiel van alle gebruikers in de organisatie en bij het lezen van de navigatie-eigenschappen kan zoals manager en directe ondergeschikten. Het volledige profiel omvat alle van de gedeclareerde eigenschappen van de gebruiker entiteit. Ook om te lezen van de groepen die een gebruiker een lid van is, wordt de app Group.Read.All of Group.ReadWrite.All vereist. De app-wachtwoorden van gebruikers kan niet lezen. | overgedragen | Ja |
Group.Read.All | Lezen van alle groepen (preview) | Kan de app te lezen van het profiel van de basis van alle groepen in de organisatie namens de aangemelde gebruiker. De app kan het basisprofiel van de groepen die een groep deel uit van maakt ook lezen. Het profiel van de basis voor een groep bevat alleen de weergavenaam van de groep. Ook als u wilt lezen van de profielgegevens van leden van een groep, wordt de app User.ReadBasic of User.Read.All vereist. | overgedragen | Ja |
Group.ReadWrite.All | Lezen en schrijven van alle groepen (preview) | Kan de app te lezen van het volledige profiel van alle groepen in de organisatie betrekking tot groepen namens de aangemelde gebruiker maken en bijwerken. De app kan ook het volledige profiel van de groepen die een groep deel uit van maakt lezen. Het volledige profiel omvat alle van de gedeclareerde eigenschappen van de groep entiteit. Ook als u wilt lezen van de profielen van of bijwerken van de leden van een groep, wordt de app User.ReadBasic of User.Read.All vereist. | overgedragen | Ja |
Device.ReadWrite.All | Lezen en schrijven van alle apparaten | Kan de app te lezen en schrijven van alle eigenschappen van apparaten zonder een aangemelde gebruiker. Kan geen apparaat maken, verwijderen van een apparaat of bijwerken van apparaat alternatieve beveiligings-id's. | alleen-App | Ja |
Directory.Read.All | Mapgegevens lezen | Hiermee kan de app alle gegevens in de directory van de organisatie, zoals gebruikers, groepen en apps, lezen en hun bijbehorende navigatie-eigenschappen. Opmerking: gebruikers kunnen instemmen met toepassingen die deze machtiging is vereist als de toepassing is geregistreerd in de tenant van hun eigen organisatie. | App-lezen, gedelegeerd | Ja |
Directory.ReadWrite.All | Directorygegevens lezen en schrijven | Kan de app alle gegevens in de organisatie worden gelezen. Hiermee kan de app maken en het bijwerken van gebruikers en groepen en het bijwerken van de navigatie-eigenschappen, maar verbiedt het verwijderen van een gebruiker of groep. U kunt ook de app voor het definiëren van schema-uitbreidingen op toepassingen. Zie voor een gedetailleerde lijst met bevoegdheden, Directory.ReadWrite.All bevoegdheden detail hieronder. | App-lezen, gedelegeerd | Ja |
Directory.AccessAsUser.All | Toegang tot map als de gebruiker is aangemeld | De app kan de dezelfde toegang tot gegevens in de map van de organisatie als de gebruiker is aangemeld. Opmerking: een native client-app kan de gebruiker echter instemt met deze machtiging hebben, beheerder toestemming nodig om een web-app. | overgedragen | Ja |
Opmerking: standaard, wanneer u een app maken met de Azure-portal Azure AD hieraan een scope gedelegeerde machtigingen van User.Read.
Detail van Directory.ReadWrite.All bevoegdheden
Het bereik van de machtiging Directory.ReadWrite.All verleent de volgende bevoegdheden:
- Volledig lezen van alle directory-objecten (gedeclareerde eigenschappen en navigatie-eigenschappen)
- Maken en bijwerken van gebruikers
- Schakel en gebruikers (maar niet bedrijfsbeheerder)
- Alternatieve beveiligings-id van gebruiker (maar niet voor beheerders) instellen
- Groepen maken en bijwerken
- Groepslidmaatschap beheren
- Groepseigenaar bijwerken
- Toewijzen van licenties beheren
- Schema-uitbreidingen op toepassingen definiëren
- Kan het wachtwoord moet worden ingesteld bij het maken van een gebruiker.
- Opmerking: Er is geen rechten voor het opnieuw instellen van gebruikerswachtwoorden
- Opmerking: geen rechten om te lezen van gebruikerswachtwoorden
- Opmerking: Er zijn geen machtigingen om te verwijderen van entiteiten (met inbegrip van gebruikers of groepen)
- Opmerking: uitdrukkelijk is uitgesloten maken of bijwerken voor entiteiten niet hierboven worden vermeld. Dit omvat: toepassing, Oauth2PermissionGrant, AppRoleAssignment, apparaat, ServicePrincipal, TenantDetail, domeinen, enzovoort.
Machtiging bereik scenario 's
De volgende tabel ziet de machtiging scopes die nodig zijn voor een app kunnen specifieke bewerkingen uit te voeren. Merk op dat in sommige gevallen is de mogelijkheid van de app kunt u een aantal bewerkingen uitvoeren afhankelijk van of het bereik van de machtiging app alleen-lezen of gedelegeerd en, in het geval van gedelegeerde machtigingsbereiken, op de bevoegdheden van de aangemelde gebruiker.
Scenario | Toegang tot vereist | Machtiging bereik nodig |
---|---|---|
Aanmelden en een tegel met de naam en een foto van miniatuurformaat van de gebruiker weergeven. | Volledige profiel van de aangemelde gebruiker worden gelezen. Standaard bedrijfsgegevens lezen. |
User.Read |
Basic personen selecteren. | Lezen basisprofiel van alle gebruikers namens de aangemelde gebruiker. | User.ReadBasic.All |
Personen selecteren met volledige profiel. | Dezelfde zoals hierboven maar toegang tot volledige profiel van gebruikers namens de aangemelde gebruiker. | User.Read.All |
Organigrammen grafiek navigator. | Volledige profiel van alle gebruikers, hun managers en directe ondergeschikten namens de aangemelde gebruiker worden gelezen. | User.Read.All |
Personen selecteren die groepen voor toegangsbeheer aan uw app bevat. Lidmaatschap van groep en viewer. |
Lezen basisprofiel van alle groepen en gebruikers namens de aangemelde gebruiker. Basic gebruikersprofielen voor het beheer en de directe ondergeschikten gebruikers worden gelezen. Profiel op basis van gebruikers, groepslidmaatschappen worden gelezen. Profiel op basis van de groepen groepslidmaatschappen worden gelezen. Basisprofiel van leden van de groepen lezen |
User.ReadBasic.All en Group.Read.All |
Het profiel van de aangemelde gebruiker en de gebruiker manager directe ondergeschikten en groepslidmaatschappen weergeven. | Gebruik me operations lezen: Het volledige profiel van de aangemelde gebruiker. Het volledige profiel van de aangemelde gebruiker van beheer en directe ondergeschikten. Het profiel van de groepen die de aangemelde gebruiker lid van is de basis. Opmerking: de combinatie van de twee bereiken verleent uitgebreidere toegang dan die worden hier vermeld voor me bewerkingen. |
User.Read.All en Group.Read.All |
Groep management-service waarmee gebruikers kunnen groepen maken en beheren. | Volledige profiel van alle groepen en gebruikers namens de aangemelde gebruiker worden gelezen. Volledige profielen voor het beheer en de directe ondergeschikten gebruikers worden gelezen. Volledige profiel van gebruikers, groepslidmaatschappen worden gelezen. Volledige profiel van de groepen groepslidmaatschappen worden gelezen. Volledige profiel van de leden van de groepen lezen. Maken en bijwerken van groepen en hun navigatie-eigenschappen (leden). |
User.Read.All en Group.ReadWrite.All |
Lees alle directory-objecten (inclusief Navigatie-eigenschappen). | Directory.Read.All | |
Lees alle directory-objecten (inclusief Navigatie-eigenschappen). Maken en bijwerken van gebruikers en groepen objecten. Er is geen gebruiker of groep verwijderen. Opmerking: niet alle bevoegdheden verleend worden hier vermeld. |
Directory.ReadWrite.All | |
Fungeert als de gebruiker is aangemeld. | Lezen en schrijven van directory-objecten (inclusief Navigatie-eigenschappen) namens de aangemelde gebruiker. | Directory.AccessAsUser.All |
Standaardtoegang voor beheerders, gebruikers en gastgebruikers
De volgende tabel bevat de standaard toegang tot (global) beheerders, gebruikers en gastgebruikers in de map. De standaardtoegang mogelijk verder uitgebreide of beperkt op basis van configuratie-instellingen voor de map en/of een gebruiker lid is van een of meer rollen van de directory. Zie voor meer informatie gedetailleerde over het configureren van de toegang van gebruikers en gastgebruikers directorygegevens gebruikers maken of bewerken in Azure AD. Zie voor meer informatie over de toegang die is gekoppeld met verschillende functies van de directory beheerdersrollen toewijzen in Azure AD.
Gebruikerstype | Toegang |
---|---|
Globale beheerder | Alle directory-objecten worden gelezen. Maken, bijwerken en verwijderen van alle directory-objecten |
Gebruiker | Alle directory-objecten worden gelezen. Maken van toepassingen en bijbehorende service-principals. Hun profiel bijwerken. Groepen waarvan ze eigenaar (en de eigenschap members) bijwerken. Toepassingen en service-principals waarvan ze eigenaar bijwerken. Toepassingen en service-principals waarvan ze eigenaar verwijderen. |
Gastgebruiker | Het volledige profiel worden gelezen. Lees de basic profielen van alle andere gebruikers Lezen basisprofiel van alle groepen. Lezen van toepassingen. Sommige eigenschappen van het profiel bijwerken. Er is geen gebruiker of groep zoeken (Zie gebruikers en groepen zoeken beperkingen voor gastgebruikers hieronder). |
Gebruikers en groepen zoeken beperkingen voor gastgebruikers
Gebruikers- en zoekmogelijkheden groep toestaan dat de app om te zoeken naar een gebruiker of groep in de map klant door het uitvoeren van query's op de gebruikers of groepen reeks resources (bijvoorbeeld https://graph.windows.net/myorganization/users?api-version=1.6
). Zowel beheerders als gebruikers hebben deze mogelijkheid. Gastgebruikers niet. Als de aangemelde gebruiker een gastgebruiker, afhankelijk van het bereik machtiging is kan een app het profiel van een specifieke gebruiker of groep met behulp van de object-ID of gebruiker principal name (UPN) (bijvoorbeeld voor een gebruiker of de object-ID voor een groep lezen , https://graph.windows.net/myorganization/users/241f22af-f634-44c0-9a15-c8cd2cea5531?api-version=1.6
); het kan echter niet query's op uitvoeren de gebruikers of groepen ResourceSet die aanvragen mogelijk meer dan één entiteit. Bijvoorbeeld, afhankelijk van het bereik machtiging de app kan de profielen van gebruikers of groepen die wordt verkregen via de onderstaande koppelingen navigatie-eigenschappen lezen, maar het niet mogelijk om een query voor het retourneren van alle gebruikers of groepen in de map.