Merhaba, Microsoft Graph API üzerinde işlemlerimize ve referans değerleri anlatmaya devam ediyoruz.
Bu yazımız daha önceden ufak çaplı olarak geçmiş olduğumuz izin türlerinin derinlemesine incelenmesi ve obje referanslarını anlatmaya yöneliktir.
Graph API üzerinde token alırken Scope alanı altında yetki talebimiz (scope) bulunamktadır. Bu scope öğelerinden daha önce bahsetmiştik. Bu dokümanda ise daha derinlemesine Permission (izin) referanslarına bakıyor olacağız.
Graph API üzerinde üç adet izin türü bulunmaktadır bunlar;
- Delegate Permission
- Application Permission
- Effective Permission
Bu izin türlerini tanımak gerekirse şu şekilde açıklayabiliriz.
Delegate Permission
Delegate Permissionlar mevcut oturumda oturuma giriş yapmış yani login olmuş uygulamalar tarafından kullanılır. Uygulama, izin isteğini giriş yapma aşamasında göndererek yönetici tarafından izin isteği kabul edilir ve Graph API üzerine istek yaparken oturum açmış kullanıcı gibi haraket emte özelliğine bürünür yani, kullanıcı izinlerini devir alır. İzinlerin bir kısmı yönetici olmayan kullanıcılar tarafından da onaylanabilir. Fakat Daha üst düzey erişim izni isteyen yetkiler mutlak yönetici onayından geçmek zorundadır.
Application Permission
Oturum açmış bir kullanıcıya bağımlı kalmadan çalışan uyguama izinleridir ve uygulama tarafından kullanılır. Örnek olarak Graph üzerine yazdığımız bir web servis arka planda çalışacağı için izin türümüz Application Permission türünde olacaktır. Uygulama izinleri sadece yöneticiler tarafından onaylanır.
Effective Permission
Effective izin türü, uygulamalarımızın Graph üzerine istekte bulundukları anda istek yapılan (scope üzerinden gönderilen) izinlerdir.
Graph API üzerine yapılan isteklerde yukarıda bahsetmiş olduğumuz üç yetki tipini anlamak ve hangi durumlarda hangi izin türünü istediğimizi net bir şekilde belirtmemiz gerekmektedir.
Application Permission için daha önceden de yazılarımız da belirttiğimizüzere Azure Ad üzerinden ve Azure AD V2 üzerinden de istekte bulunup Active Directory yetkilerini uygulamamız için ön tanımlı olarakta ayarlayabiliriz.
Azure Ad ve Azure Ad V2 Api üzerinden istekte bulunacaklar için izin türleri ve grup açılamaları şuradan erişilebilir. (https://docs.microsoft.com/en-us/azure/active-directory/active-directory-assign-admin-roles)
Graph API İzin İsimleri
Microsoft Graph API üzerinde izin isimleri basit bir pattern ile izlenir. Bu pattern resource.operation.constraint şeklindedir.
Bu Pattern’i örneklemek gerekirse erişmek istediğimi resource yani kaynak kullanıcı olsun User Operasyon olarak ise vermek veya erişmek istediğimiz yetki ise okuma izni olsun. Operasyonda ise Read kullanmamız gerekecekti. Bu kısma kadar mevcut pattern ve izin isteğimiz şu şekilde olacaktır. User.Read
User.Read yetkisi mevcut oturumda oturum açmış kullanıcının profil bilgilerinin okunması için izin verecektir. Eğer User.ReadWrite olarak yetki talebinde bulunmuş olsaydık, Hem okuma hem de yazma işlemini oturum açmış kullanıcı üzerinde gerçekleştirebiliyor olacaktık.
resource.operation.constraint izin patterninde bulunan constraint ( kısıt ) elemanı uygulamamızın dizinde olabilecek erişim izinlerini belirler. Microsft Graph API şu anda aşağıdaki dizin kısıtlamalarını desteklemektedir.
- All
- Shared
- AppFolder
All Constraint (Tümü Kısıtlaması)
Uygulamanın çalıştığı herhangi bir dizin üzerindeki belirtilen türdeki tüm kaynaklara tam erişim vermek için kullanılır. Biraz yukarıda vermiş olduğumuzu User.Read örneğinden yola çıkarsak patternimize göre erişim talebimiz User.Read.All olacaktır Bu izin isteğimizin anlamı ise şudur. Uygulamayı kullanan tüm kullanıcılar için profillerinin okuma yetkisinin talep edilmesi ve onay dahilinde kullanılabilmesidir.
Shared Constraint ( Paylaşımlı Kısıtlaması )
Uygulamada oturum açmış diğer kullanıcıların paylaşmış oldukları paylaşımlı içerik türlerine erişim için kullanılır. Bu kısıtlamanın çalışabilmesi için içeriklerin oturum açan kullanıcı ile paylaşılması gerekmektedir. Shared kısıtlaması genelde Kişi, Takvim vb Outlook içerikleri ile kullanılmaktadır.
Örnek olarak User.Mail.Shared olarak izin talebimizde kullanıcının maillerini okuma izni ile beraber, organizasyondaki diğer kullanıcıların ( oturum açmış kullanıcıların ), oturumu açan kullanıcı ile paylaştığı e-postaları okuma izni verir.
Bu izin şu şekilde algılanmamalıdır. ” Oturum açtığım anda maillerim okunur” gibi bir izlenim yaratmasın sizlerde. Sadece sizinle paylaşılan emailler okunabilmektedir.
AppFolder Constraint (Uygulama Dizni Kısıtlaması )
Office 365 ile beraber gelen OneDrive kişisel ve kurumsal bulut tabanlı dosya paylaşımı ve saklama servisindeki herhangi bir özel klasore okuma veya yazma izni veren kıstastır.
Bu kısıt sadece dosya izinlerine açıktır ve sadece Microsoft Hesabı kullanan kullanıcılar için geçerlidir.
Diğer yandan yukarıdaki kıstasların herhangi birisi belitilmediği sürece örneğin User.Read izni sadece kullanıcının mevcut izin kaynakları üzerinde işlem yapmasına olanak sağlar. Graph API izinlerinde aksi belirtilmediği sürece izinler devralınmaz.
Microsoft Hesapları İş yada Okul
Anlatılan bütün izin türleri hem microsoft iş hesapları hemde okul hesapları için geçerli değildir. Bazı izin türleri hesap türlerine göre de farklılık göstermektedir.
Kullanıcı ve Grup Arama Limitleri
Uygulamalar /users yada /groups bitiş noktaları vasıtası ile Graph API üzerindeki kaynaklara sorgu ile kuruluş dizinindeki herhangi bir kullanıcı yada grub araması için izin isteği gönderirler.
Yöneticiler ve kullanıcıların bu izin isteme yetkileri bulunmaktadır. Konuk kullanıcılar ise bu işlemi yapamazlar. Fakat uygulama izinlerine bağlı olarak konuk kullanıcılar bir grubun yada bir kullanıcının profil bilgilerini okuyabilirler. Konuk kullanıcılar /users ve /groups bitiş noktalarına herhangi bir istek gönderemezler.
Uygulama İzin Referansları
Yukarıda temel olarak izinler ve bu izinlere bağlı içerikler hakkında bilgiler aktarmaya çalıştık. Şimdi ise bu izinlerden hangilerinin ne gibi işlemlere fayda ettiğini gelin hep beraber görelim ve referans tablolarını oluşturalım.
Aşağıdaki listeler Microsoft kaynakları tarafından da verilmiş olup yukarıda izin tiplerinde kullanılan patternler bu listelerde daha net bir şekilde görülmektedir.
İnceleyeceğimiz referans tipleri şu şekildedir;
- Calendar Permission (Takvim İzinleri)
- Contact Permission (Kişiler Listesi İzinleri)
- Device Permission (Cihaz İzinleri)
- Microsoft Intune Device Management Permissions (Microsoft Intune Cihaz Yönetim İzinleri)
- Directory Permissions (Klasör İzinleri)
- Files Permissions (Dosyaların İzinleri)
- Group Permissions (Grup İzinleri)
- Identiy Risk Etkinlik İzinleri
- Mail Permissions (E-Posta İzinleri)
- Member Permissions (Üye İzinleri)
- Notes Permission (Notlar için İzinler)
- OpenID Permissions (OpenID İzinleri)
- People Permissions (Kişi İzinleri)
- Reports Permissions (Rapor İzinleri)
- Sites Permissions (Site İzinleri)
- Tasks Permissions (Görev İzinleri)
- User Permissions (Kullanıcı İzinleri)
Calendar Permissions (Takvim İzinleri)
Takvim izinlerinde Delegate iziler şu şekildedir.
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Calendars.Read |
Kullanıcıların takvimlerine erişim izni verir |
Hayır |
Calendars.Read.Shared |
Delegate olarak Takvim okuma yetkisi ve paylaşımlı takvimleri okuma yetkisi verir |
Hayır |
Calendars.ReadWrite |
Uygulamaya kullanıcının takvimi üzerinde oluşturma, güncelleme ve silme yetkilerinin tamamını verir. |
Hayır |
Calendars.ReadWrite.Shared |
Uygulamaya delegate olarak kullanıcının takvimi ve paylaşılan takvimler üzerinde oluşturma, güncelleme ve silme yetkilerinin tamamını verir. |
Hayır |
Uygulama izini olarak ise takvimler üzerinde iki adet yetki talep edebilmekteyiz.
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Calendars.Read |
Oturum açan kullanıcı için bütün e-posta hesapları üzerindeki takvimleri okuma yetkisi verir |
Evet |
Calendars.ReadWrite |
Oturum açan kullanıcı için bütün e-posta hesapları üzerindeki takvimler için okuma, yazma, oluşturma ve silme yetkisi verir |
Evet |
Uygulama izinleri tüm kullanıcılar için verilmektedir. Uygulamanızın bütün kullanıcılar için aynı şekilde haraket edeceğinden kullanıcı bazlı yetkilendirmeler için Delegate izinleri kullanınız. Ayrıca uygulama izinleri sadece Microsoft okul yada iş hesapları tarafından kullanılabilir.
Contact Permission (Kişiler Listesi İzinleri)
Contact (Kişiler) izinleri, uygulamanızın kullanıcıların kişiler listesini okumanıza ve yönetmenize yarayan izinler dizesidir. Bu izinleri de yukarıdaki gibi Delagete ve Application (uygulama) aşağıdaki şekildedir.
Delegate İzinler
İzin |
Açıklama |
Yönetici İzini Gerekli mi? |
Contacts.Read |
Kullanıcı kişi bilgilerini okuma izni verir |
Hayır |
Contacts.Read.Shared |
Uygulama için kişileri okuma ve erişim izni sağlar ayrca oturum açmış kullanıcının kişileri ve onun ile paylaşılan kişileri okuma iznine erişim için kullanılır. |
Hayır |
Contacts.ReadWrite |
Uygulamanın oturum açan kullanıcı kişilerine tam yetki verir (Ekleme, silme ve güncelleme) |
Hayır |
Contacts.ReadWrite.Shared |
Temel CRUD operasyonlarını uygulama tarafından elde etmek için kullanılan ve oturum açan kullanıcının sahip olduğu ve onun ile paylaşılan kişilerine tam erişim için kullanılır. |
Hayır |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Contacts.Read |
Oturum açmadan bağımsız olarak tüm E-Posta kutularında kişileri okuma yetkisi verir. |
Evet |
Contacts.ReadWrite |
Oturum açan kullanıcan bağımsız olarak uygulamaya CRUD yetkisi verir |
Evet |
Yukarıda kişilere erişim için delegate ve uygulama düzeyinde yetkilendirmelerin referans izin tiplerini göstermeye çalıştık. Bu izinlerden uygulama düzeyinde olanlar sadece Microsoft Okul yada iş hesaplarında çalışmaktadır.
Device Permission (Cihaz İzinleri)
Delegate İzinler
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Device.Read |
Oturum açan kullanıcının cihazlarını okuma yetkisi verir |
Hayır |
Device.Command |
Oturum açan kullanıcın cihazlarını hem okuma hemde o cihazlara erişim yetkisi verir. Cihazlar üzerinde komut çalıştırmanıza da olanak sağlar. |
Hayır |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Device.ReadWrite.All |
Uygulama düzeyinde oturum açmadan bağımsız olarak tüm kullanıcıların cihazlarına ve bu cihazların özelliklerine (property) okuma ve yazma izni verir. Cihaz ekleme silme ve düzenleme (cihaz bazında ) yetkisi vermez bunun için daha yüksel düzeyde yetki talebi gerekmektedir. |
Evet |
Oturum açan kullanıcı yada oturum açmadan uygulama bazında cihaz erişimleri için kullanıcılar yetkiler yukarıda belirtilmiştir.
Device.ReadWrite.All kısmında bahsettiğimiz uygulama düzeyinde erişimde cihaz ekleme ve silme yetkilerini bir sonraki güvenlik konumuzda değineceğimizden Microsoft Graph API üzerinde cihaz erişimlerinde yetki referansı olarak yukarıdaki tabloyu referans olarak kabul edebiliriz.
Microsoft Intune Device Management Permissions (Microsoft Intune Cihaz Yönetim İzinleri)
Microsoft Intune Cihaz yönetimi izinlerinde delegate olarak izin kullanılmamaktadır. Intune Cihaz yönetimi için sadece aşağıdaki uygulama izinleri bulunmaktadır.
Microsoft Intune, Mobil cihazlar üzerinde bulut tabanlı yönetim olanağı sağlayan Microsoft’un bulut çözümüdür. Microsoft Intune nedir ne işe yarar gibi konular hakkında daha detaylı bilgi almak için https://www.microsoft.com/tr-tr/cloud-platform/microsoft-intune adresini ziyaret edebilirsiniz.
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
DeviceManagementServiceConfig. |
Intune servisleri üzerine özelliklere ve içerdiği cihazlara erişebilmek için 3üncü parti bağlantı sağlar. |
Evet |
DeviceManagementServiceConfig. |
Intune servisleri üzerine özelliklere ve içerdiği cihazlar üzerinde yazma ve okuma için 3üncü parti bağlantı sağlar. |
Evet |
DeviceManagementConfiguration. |
Belirli ve atanmış gruplar için Intune tarafından yönetilen cihazlara ve bu cihazlara ait policie’lere erişim izni verir |
Evet |
DeviceManagementConfiguration. |
Belirli ve atanmış gruplar için Intune tarafından yönetilen cihazlara ve bu cihazlara ait policie’lere okuma ve yazma erişim izni verir |
Evet |
DeviceManagementApps.Read.All |
Belirlenmiş ve atanmış gruplar için Intune uygulamasına özellik okuma, uygulama durumu, uygulama konfigurasyonu ve yönetilen güvenlik policieleri okuma izni verir |
Evet |
DeviceManagementApps. |
Belirlenmiş ve atanmış gruplar için Intune uygulamasına özellik okuma, uygulama durumu, uygulama konfigurasyonu ve yönetilen güvenlik policieleri okuma ve yazma izni verir |
Evet |
DeviceManagementRBAC.Read.All |
Microsoft Intune Role-Based Access Control (RBAC) ayarlarına ve özelliklerine okuma izni verir. |
Evet |
DeviceManagementRBAC. |
Microsoft Intune Role-Based Access Control (RBAC) ayarlarına ve özelliklerine okuma ve yazma izni verir. |
Evet |
DeviceManagementManagedDevices. |
Microsoft Intune tarafından yönetilen cijaların özelliklerini okuma izni verir. |
Evet |
DeviceManagementManagedDevices. |
Microsoft Intune tarafından yönetilen cijaların özelliklerini okuma ve yazma izni verir. |
Evet |
DeviceManagementManagedDevices. |
Kullanıcılar için önemli olan işlemlerin uzaktan yapılabilmesine olanak sağlayan izindir. Bu izin ayrıca Microsoft Intune tarafından yönetilen cihazlarda passcode resetleyebilir. |
Evet |
DeviceManagementManagedDevices.ReadWrite.All izni tüm izinlere vakıf olsada uzaktan şifre resetleme işlemi yapamaz.
Microsoft Intune izinleri Delegate olarak çalışmamaktadır. Uygulama izinleri henüz ön izlemede olduğundan izinlerin parametreleri ve dönen değerler Microsoft tarafından değişikliğe uğrayabilir.
Directory Permissions (Klasör İzinleri)
Delegated İzinler
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Directory.Read.All |
Organizasyon içerisindeki klasörün (kullanıcılar ve gruplar) uygulama tarafından okunabilmesini sağlayan izindir. |
Evet |
Directory.ReadWrite.All |
Organizasyon içerisindeki klasörün (kullanıcılar ve gruplar) uygulama tarafından okuma ve yazma sağlayan izindir. |
Evet |
Directory.AccessAsUser.All |
Oturum açan kullanıcı için organizasyon klasörlerindeki yetki ile aynı izni sağlar. |
Evet |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Directory.Read.All |
Organizasyon içerisindeki klasörün (kullanıcılar ve gruplar) uygulama tarafından okunabilmesini sağlayan izindir. |
Evet |
Directory.ReadWrite.All |
Organizasyon içerisindeki klasörün (kullanıcılar ve gruplar) uygulama tarafından okuma ve yazma sağlayan izindir. |
Evet |
Files Permissions ( Dosyaların İzinleri )
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
|||
Files.Read |
Oturum açan kullanının dosyalarını okuma izni verir |
Hayır |
|||
Files.Read.All |
Oturum açan kullanıcı için o kullanıcıya ait tüm dosyalara okuma izni verir |
Hayır |
|||
Files.ReadWrite |
Oturum açan kullanıcının dosyalarına Okuma, yazma ve silme işlemleri için tam yetki verir. |
Hayır |
|||
Files.ReadWrite.All |
Oturum açan kullanıcının yetkili olduğu dosyaların tümüne tam denetim verir. |
Hayır |
|||
Files.ReadWrite.AppFolder |
(Preview) Uygulama klasörüne tam denetim verir |
Hayır |
|||
|
|
|
|
||
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
|||
Files.Read.All |
(Preview) Oturum açan kullanıcıdan bağımsız uygulamaya tüm sitelerde dosya okuma yetkisi verir. |
Evet |
|||
|
|
|
|
||
Group Permissions (Grup İzinleri)
Delegate İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Group.Read.All |
Oturum açan kullanıcı için gruplara okuma ve listeleme izni verir. Ayrıca bu izinlerde bulunan özelliklerede okuma izni verir. Bazı içeriklere ve dosyalara da oturum açan kullanıcı için okuma izni verir. |
Evet |
Group.ReadWrite.All |
Oturum açan kullanıcı için grup oluşturma ve okuma yetkisi verir ayrıca tüm grup özelliklerine de okuma yazma yetkisi verir. Ek olarak grup yöneticilerine grup içeriği ve üyelerini düzenleme yetkisi verir |
Evet |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Group.Read.All |
Uygulama için oturum açan kullanıcıdan bağımsız olarak gruplara okuma ve listeleme izni verir. Ayrıca bu izinlerde bulunan özelliklerede okuma izni verir. Bazı içeriklere ve dosyalara da oturum açan kullanıcı için okuma izni verir. |
Evet |
Group.ReadWrite.All |
Uyulamanız için grup oluşturma okuma ve güncelleme işlemleri için izin verir. Bazı API özellikleri grup izinleri için ek izinler isteyebilir. |
Evet |
Identiy Risk Etkinlik İzinleri
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
IdentityRiskEvent.Read.All |
Oturum açan kullanıcı için okuma izni verir |
Evet |
Application permissions
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
IdentityRiskEvent.Read.All |
Uygulamanız için tam denetim erişimi verir. |
Evet |
Mail Permissions (E-Posta İzinleri)
Delegated permissions
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Mail.Read |
Kullanıcı posta kutusuna okuma izni verir. |
Hayır |
Mail.ReadWrite |
Kullanıcı posta kutusunda tam denetim verir. Bu izin e-posta göndermesine izin vermez |
Hayır |
Mail.Read.Shared |
|
Hayır |
Mail.ReadWrite.Shared |
Paylaşılmış olan ve kendi E-Postaları üzerinde tam yetki verir. Bu izinde mail gönderme izni yoktur. |
Hayır |
Mail.Send |
Organizasyonda bulunan kullanıcı için e-posta gönderme izni verir. |
Hayır |
Mail.Send.Shared |
Diğer kullanıcıların paylaşmış olduğu posta kutularına ve oturum açan kullanıcının posta kutusuna mail gönderme yetkisi verir. |
Hayır |
MailboxSettings.Read |
Eposta kutusunun ayarlarına okuma izni verir. E-Posta gönderme yetkisi bu izne dahil değildir. |
Hayır |
MailboxSettings.ReadWrite |
Posta kutusunun özelliklerine tam yetki verir. Mail gönderme yetkisi bu izne dahil değildir. |
Hayır |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
|
Mail.Read |
Kullanıcı posta kutusuna okuma izni verir. |
Evet |
|
Mail.ReadWrite |
Kullanıcı posta kutusunda tam denetim verir. Bu izin e-posta göndermesine izin vermez |
Evet |
|
Mail.Send |
Organizasyonda bulunan kullanıcı için e-posta gönderme izni verir. |
Evet |
|
MailboxSettings.Read |
Eposta kutusunun ayarlarına okuma izni verir. E-Posta gönderme yetkisi bu izne dahil değildir. |
Hayır |
|
MailboxSettings.ReadWrite |
Posta kutusunun özelliklerine tam yetki verir. Mail gönderme yetkisi bu izne dahil değildir. |
Evet |
|
Member Permissions (Üye İzinleri)
Delegated İzinler
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Member.Read.Hidden |
Uygulamanın, oturum açmış kullanıcının adına, oturum açmış kullanıcının eriştiği gizli gruplar ve yönetim üyeleri için gizli grupların ve yönetici üyeliklerini okuma izni verir. |
Evet |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Member.Read.Hidden |
Uygulamaya, oturum açmış bir kullanıcı bulunmayan gizli grupların ve yönetim üyelerine okuma izni verir. |
Evet |
Notes Permission (Notlar için İzinler)
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Notes.Read |
Uygulamaya, OneNote üzerindeebölümlerin başlıklarını okuma ve oturum açmış kullanıcı adına yeni sayfalar ve bölümler oluşturma izni verir. |
Hayır |
Notes.Create |
Uygulamaya, OneNote için bölümlerin başlıklarını okuma ve oturum açmış kullanıcı adına yeni sayfalar ve bölümler oluşturma izni verir. |
Hayır |
Notes.ReadWrite |
Uygulamanın, oturum açmış olan kullanıcı adına OneNote için okuma, paylaşma ve üzerinde değişiklik yapma izin verir. |
Hayır |
Notes.Read.All |
Uygulamanın, oturum açmış kullanıcının kuruluşta erişebildiği OneNote için okuma izni verir. |
Hayır |
Notes.ReadWrite.All |
Uygulamaya, oturum açmış kullanıcının kuruluşta erişebildiği OneNote için okuma, paylaşma ve üzerinde değişiklik yapma izinleri bulunur. |
Hayır |
Notes.ReadWrite.CreatedByApp |
Deprecated |
Hayır |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Notes.Read.All |
Uygulamaya, oturum açmış bir kullanıcı olmadan kuruluşunuzdaki tüm OneNotelara okuma izni verir. |
Evet |
Notes.ReadWrite.All |
Uygulamaya, oturum açmış bir kullanıcı olmadan kuruluşunuzdaki tüm OneNotelara okuma, paylaşma ve değiştirme izni verir. |
Evet |
OpenID Permissions (OpenID İzinleri)
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
|
Uygulamaya, kullanıcılarınızın birincil e-posta adresini okuma izni verir. |
Hayır |
offline_access |
Uygulamaya, anlık ve uygulamayı kullanmadığı zamanlarda kullanıcı verilerini okuma ve güncelleme izin verir. |
Hayır |
openid |
Kullanıcıların uygulamayla iş veya okul hesaplarıyla oturum açmalarına izin verir ve uygulamanın temel kullanıcı profili bilgilerini görme yetkisi sağlar. |
Hayır |
profile |
Uygulamaya, kullanıcılarınızın temel profilini (ad, resim, kullanıcı adı) görme yetkisi verir. |
Hayır |
Application İzinleri
OpenID izinleri uygulama seviyesinde devir alınamamaktadır.
People Permissions (Kişi İzinleri)
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
People.Read |
Uygulamaya, oturum açmış kullanıcıyla alakalı puanlanmış bir kullanıcı listesini okuma izni verir. |
Hayır |
People.Read.All |
Uygulamaya, oturum açmış kullanıcının kuruluşunda bulunan oturum açmış bir kullanıcı veya diğer kullanıcılarla alakalı puanlanmış bir listeyi okuma izni verir. Ayrıca, uygulamanın oturum açmış kullanıcının kuruluşunun tüm dizininde arama yapmasına izin verir. |
Evet |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
People.Read.All |
Uygulamaya, oturum açmış kullanıcının kuruluşunda bulunan oturum açmış bir kullanıcı veya diğer kullanıcılarla alakalı puanlanmış bir listeyi okuma izni verir. Ayrıca, uygulamanın oturum açmış kullanıcının kuruluşunun tüm dizininde arama yapmasına izin verir. |
Evet |
Reports Permissions (Rapor İzinleri)
Delegated İzinleri
Rapor izinlerinde Delegate izinler kullanılmamaktadır.
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Reports.Read.All |
Bir uygulamaya, oturum açmış bir kullanıcı olmadan tüm hizmet kullanım raporlarını okuma izni verir. Kullanım raporları sağlayan hizmetler arasında Office 365 ve Azure Active Directory bulunur. |
Evet |
Sites Permissions (Site İzinleri)
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Sites.Read.All |
Oturum açmış olan kullanıcı adına tüm site koleksiyonlarında belgeleri ve liste öğelerini okuma izni verir. |
Hayır |
Sites.ReadWrite.All |
Oturum açmış olan kullanıcı adına tüm site koleksiyonlarındaki dokümanları ve liste öğelerini düzenlemek veya silmek için izin verir. |
Hayır |
Application İzinleri
Siteler için uygulama izinleri bulunmamaktadır.
Tasks Permissions (Görev İzinleri)
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
Tasks.Read |
Kullanıcı görevlerini okuma izni verir. |
Hayır |
Tasks.Read.Shared |
Kullanıcının kendi ve paylaşılan görevler de dahil olmak üzere erişimi izinli olan görevleri okuma izni verir. |
Hayır |
Tasks.ReadWrite |
Oturum açmış kullanıcıya atanan veya oturum açmış kullanıcıyla paylaşılan görevlere tam denetim verir. |
Hayır |
Tasks.ReadWrite.Shared |
Kendi ve paylaşılan görevler de dahil olmak üzere bir kullanıcının izin verdiği görevlere tam denetim verir. |
Hayır |
Application İzinleri
Görevler için uygulama izinleri bulunmamaktadır.
User Permissions (Kullanıcı İzinleri)
Delegated İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
User.Read |
Kullanıcıların uygulamada oturum açmasına izin verir ve uygulamanın oturum açmış kullanıcıların profilini okumasına izin verir. Ayrıca, uygulamanın oturum açmış kullanıcıların temel şirket bilgilerini okumasına da izin verir. |
Hayır |
User.ReadWrite |
Profilinizi okuma izni verir. Ayrıca, uygulamanın profil bilgilerinizi sizin adınıza güncellemesine izin verir. |
Hayır |
User.ReadBasic.All |
Oturum açmış kullanıcı adına organizasyonunuzdaki diğer kullanıcıların profil özelliklerinin temel bir kümesini okuma izni verir. Buna görüntü adı, ad ve soyad, e-posta adresi ve fotoğraf dahildir. |
Hayır |
User.Read.All |
Oturum açmış kullanıcı adına kuruluşunuzdaki diğer kullanıcıların profil özelliklerini, raporlarını ve yöneticilerini tam olarak okuma izni verir. |
Evet |
User.ReadWrite.All |
Oturum açmış olan kullanıcı adına kuruluşunuzdaki diğer kullanıcıların profil mülklerini, raporlarını ve yöneticilerini okuma ve yazma izin verir. Ayrıca, uygulamanın oturum açmış kullanıcının adına kullanıcı şifrelerini sıfırlamasının yanı sıra kullanıcıları oluşturmasına ve silmesine izin verir. |
Evet |
User.Invite.All |
Oturum açmış olan kullanıcı adına konuk kullanıcıları kuruluşunuza davet etme izin verir. |
Evet |
Application İzinleri
İzin |
Açıklama |
Yönetici İzini Gereli mi? |
User.Read.All |
Oturum açmış kullanıcı adına kuruluşunuzdaki diğer kullanıcıların profil özelliklerini, raporlarını ve yöneticilerini tam olarak okuma izni verir. |
Evet |
User.ReadWrite.All |
Oturum açmış olan kullanıcı adına kuruluşunuzdaki diğer kullanıcıların profil mülklerini, raporlarını ve yöneticilerini okuma ve yazma izin verir. Ayrıca, uygulamanın oturum açmış kullanıcının adına kullanıcı şifrelerini sıfırlamasının yanı sıra kullanıcıları oluşturmasına ve silmesine izin verir. |
Evet |
User.Invite.All |
Oturum açmış olan kullanıcı adına konuk kullanıcıları kuruluşunuza davet etme izin verir. |
Evet |
İzinlerde bahsedilen Delegate türünde izin tiplerinin tamamı Microsfot İş yada Okul hesapları ile kullanılabilmektedir. Yukarıda izin tiplerinin altında elimizden geldiğince Microsoft kaynakları tarafından belirtilen uyarıları da tecrübelerimiz ile birlikte aktarmaya çalıştık.
Dikkat edileceği gibi bazı izinlerde uygulama düzeyinde bazılarında ise delegate düzeyinde erişimler kısıtlanmış yada şu an için kullanılamaz durumdadır.
Daha önceden de belirttiğimiz gibi Microsoft Graph API sürekli gelişmekte olduğundan Microsoft kaynaklarından da izin referanslarını takip etmek faydalı olacaktır. Yukarıda anlatılanlar şu an için temel olan izinlerdir ve güncellenmeye devam etmektedir.
Faydalı olması dileği ile