Microsoft kimlik platformu izinlere ve onaylara genel bakış
E-posta veya takvim verileri gibi korumalı bir kaynağa erişmek için uygulamanızın kaynak sahibinin yetkilendirmesine ihtiyacı vardır. Kaynak sahibi uygulamanızın isteğini onaylayabilir veya reddedebilir. Bu temel kavramları anlamak, kullanıcılardan ve yöneticilerden yalnızca ihtiyaç duydukları erişimi isteyen daha güvenli ve güvenilir uygulamalar oluşturmanıza yardımcı olur.
Erişim senaryoları
Bir uygulama geliştiricisi olarak uygulamanızın verilere nasıl erişeceğini tanımlamanız gerekir. Uygulama, oturum açmış bir kullanıcı adına hareket eden temsilci erişimi veya yalnızca uygulamanın kendi kimliği olarak davranan yalnızca uygulama erişimi kullanabilir.
Temsilci erişimi (kullanıcı adına erişim)
Bu erişim senaryosunda, bir kullanıcı bir istemci uygulamasında oturum açtı. İstemci uygulaması, kullanıcı adına kaynağa erişir. Temsilci erişimi için temsilci izinleri gerekir. hem istemci hem de kullanıcı, isteği yapmak için ayrı olarak yetkilendirilmelidir. Temsilci erişim senaryosu hakkında daha fazla bilgi için bkz . temsilci erişim senaryosu.
İstemci uygulaması için doğru temsilci izinleri verilmelidir. Temsilci izinlerine kapsamlar da denir. Kapsamlar, bir istemci uygulamasının kullanıcı adına nelere erişebileceğini temsil eden belirli bir kaynağın izinleridir. Kapsamlar hakkında daha fazla bilgi için bkz . kapsamlar ve izinler.
Kullanıcı için yetkilendirme, kullanıcıya kaynağa erişmesi için verilmiş olan ayrıcalıklara bağlıdır. Örneğin, kullanıcı Microsoft Entra rol tabanlı erişim denetimi (RBAC) tarafından dizin kaynaklarına veya Exchange Online RBAC ile posta ve takvim kaynaklarına erişme yetkisine sahip olabilir. Uygulamalar için RBAC hakkında daha fazla bilgi için bkz . Uygulamalar için RBAC.
Yalnızca uygulama erişimi (Kullanıcı olmadan erişim)
Bu erişim senaryosunda uygulama, kullanıcı oturum açmadan kendi başına hareket eder. Uygulama erişimi otomasyon ve yedekleme gibi senaryolarda kullanılır. Bu senaryo, arka plan hizmetleri veya daemon'lar olarak çalışan uygulamaları içerir. Belirli bir kullanıcının oturum açması istenmediğinde veya gerekli verilerin kapsamı tek bir kullanıcı tarafından tanımlanamazsa uygundur. Yalnızca uygulama erişim senaryosu hakkında daha fazla bilgi için bkz . Yalnızca uygulama erişimi.
Yalnızca uygulama erişimi, temsilci kapsamları yerine uygulama rollerini kullanır. Onay aracılığıyla verildiğinde, uygulama rolleri uygulama izinleri olarak da adlandırılabilir. İstemci uygulamasına, çağıran kaynak uygulaması için uygun uygulama izinleri verilmelidir. verilen istemci uygulaması istenen verilere erişebilir. İstemci uygulamalarına uygulama rolleri atama hakkında daha fazla bilgi için bkz . Uygulamalara uygulama rolleri atama.
İzin türleri
Temsilci izinleri , temsilci erişim senaryosunda kullanılır. Bunlar, uygulamanın bir kullanıcı adına işlem yapmasına izni veren izinlerdir. Uygulama, oturum açmış kullanıcının erişemediği hiçbir şeye asla erişemez.
Örneğin, kullanıcı adına temsilci izni verilmiş Files.Read.All
bir uygulamayı alın. Uygulama yalnızca kullanıcının kişisel olarak erişebileceği dosyaları okuyabilir.
Uygulama rolleri olarak da bilinen uygulama izinleri, oturum açmış bir kullanıcı olmadan yalnızca uygulama erişim senaryosunda kullanılır. Uygulama, iznin ilişkili olduğu tüm verilere erişebilir.
Örneğin, Microsoft Graph API'sine uygulama izni Files.Read.All
verilen bir uygulama, Microsoft Graph kullanarak kiracıdaki herhangi bir dosyayı okuyabilir. Genel olarak, yalnızca bir API'nin hizmet sorumlusunun yöneticisi veya sahibi bu API tarafından kullanıma sunulan uygulama izinlerine onay verebilir.
Temsilci ve uygulama izinlerinin karşılaştırması
İzin türleri | Temsilcili izinler | Uygulama izinleri |
---|---|---|
Uygulama türleri | Web / Mobil / tek sayfalı uygulama (SPA) | Web / Daemon |
Erişim bağlamı | Kullanıcı adına erişim sağlama | Kullanıcı olmadan erişim sağlama |
Kimler onaylayabilir | - Kullanıcılar verileri için onay verebilir - Yöneticiler tüm kullanıcılar için onay verebilir |
Yalnızca yönetici onay verebilir |
Onay yöntemleri | - Statik: uygulama kaydında yapılandırılmış liste - Dinamik: Oturum açma sırasında bireysel izinler isteme |
- YALNIZCA Statik: Uygulama kaydında yapılandırılmış liste |
Diğer adlar | -Kapsam - OAuth2 izin kapsamları |
- Uygulama rolleri - Yalnızca uygulama izinleri |
Onay sonucu (Microsoft Graph'a özgü) | OAuth2PermissionGrant | appRoleAssignment |
Onay
Uygulamalara izin vermenin bir yolu da onaydır. Onay, kullanıcıların veya yöneticilerin bir uygulamayı korumalı bir kaynağa erişmesi için yetkilendirmesine neden olan bir işlemdir. Örneğin, bir kullanıcı uygulamada ilk kez oturum açmayı denediğinde, uygulama kullanıcının profilini görmek ve kullanıcının posta kutusunun içeriğini okumak için izin isteyebilir. Kullanıcı, bir onay istemi aracılığıyla uygulamanın istediği izinlerin listesini görür. Kullanıcıların onay istemi görebileceği diğer senaryolar şunlardır:
- Daha önce izin verildiğinde iptal edilir.
- Uygulama, oturum açma sırasında özel olarak onay isteyecek şekilde kodlandığında.
- Uygulama, çalışma zamanında gerektiğinde yeni izinler istemek için dinamik onay kullandığında.
Onay isteminin temel ayrıntıları, uygulamanın gerektirdiği izinlerin listesi ve yayımcı bilgileridir. Hem yöneticiler hem de son kullanıcılar için onay istemi ve onay deneyimi hakkında daha fazla bilgi için bkz . uygulama onayı deneyimi.
Kullanıcı onayı
Kullanıcı onayı, bir kullanıcı uygulamada oturum açmaya çalıştığında gerçekleşir. Kullanıcı, onay verilip verilmediğini belirlemek için denetlenen oturum açma kimlik bilgilerini sağlar. Gerekli izinler için kullanıcı veya yönetici onayının önceki kaydı yoksa, kullanıcıya bir onay istemi gösterilir ve uygulamaya istenen izinleri vermesi istenir. Yöneticinin kullanıcı adına onay vermesi gerekebilir.
Yönetici onayı
Gerekli izinlere bağlı olarak, bazı uygulamalar bir yöneticinin onay veren kişi olmasını gerektirebilir. Örneğin, uygulama izinleri ve birçok yüksek ayrıcalıklı temsilci izni yalnızca bir yönetici tarafından onaylanabilir.
Yöneticiler kendileri veya kuruluşun tamamı için onay verebilir. Kullanıcı ve yönetici onayı hakkında daha fazla bilgi için bkz . kullanıcı ve yönetici onayına genel bakış.
Onay verilmediyse ve bu yüksek ayrıcalıklı izinlerden biri istenirse kimlik doğrulama isteklerinden yönetici onayı istenir.
Özel uygulama kapsamları içeren izin istekleri yüksek ayrıcalık olarak kabul edilmez ve bu nedenle yönetici onayı gerektirmez.
Ön kimlik doğrulaması
Ön yetkilendirme, bir kaynak uygulama sahibinin, kullanıcıların önceden yetkilendirilmiş aynı izin kümesi için bir onay istemi görmesine gerek kalmadan izinler vermesine olanak tanır. Bu şekilde, önceden kimlik doğrulaması yapılmış bir uygulama kullanıcılardan izinlere onay vermelerini istemez. Kaynak sahipleri, Azure portalında veya Microsoft Graph gibi PowerShell ve API'leri kullanarak istemci uygulamalarını önceden doğrulayabilir.
Diğer yetkilendirme sistemleri
Onay çerçevesi, bir uygulamanın veya kullanıcının korumalı kaynaklara erişim yetkisi vermenin tek yoludur. Yöneticiler, hassas bilgilere erişim verebilen diğer yetkilendirme sistemlerinin farkında olmalıdır. Microsoft'taki çeşitli yetkilendirme sistemlerine örnek olarak Entra yerleşik rolleri, Azure RBAC, Exchange RBAC ve Teams kaynağına özgü onay verilebilir.