Kaynaklara erişmek için yetkilendirme alma

Bu makale, bir geliştirici olarak uygulamanız için kaynak erişim izinleri alırken Sıfır Güven'i en iyi şekilde nasıl sağlayacağınızı anlamanıza yardımcı olur. E-posta veya takvim verileri gibi korumalı kaynaklara erişmek için uygulamanızın kaynak sahibinin yetkilendirmesine ihtiyacı vardır. Kaynak sahibi uygulamanızın isteğini onaylayabilir veya reddedebilir. Kaynak sahibi onay verince uygulamanız bir erişim belirteci alır; kaynak sahibi erişimi reddettidiğinde uygulamanız erişim belirteci almaz.

Kavramsal inceleme

Uygulamalarınızın kimliğini doğrulamak ve yetkilendirmek,izinleri ve onayı yönetmek için Microsoft kimlik platformunu kullanabilirsiniz. Bazı kavramlarla başlayalım:

  • Kimlik doğrulaması (bazen AuthN olarak kısaltılır), talep edilen kimliğinizin doğru olduğunu kanıtlama işlemidir. Microsoft kimlik platformu, kimlik doğrulamasını işlemek için OpenID Connect protokolunu kullanır. Yetkilendirme (bazen AuthZ olarak kısaltılır) bir şey yapmak için kimliği doğrulanmış bir taraf izni verir. Kimliği doğrulanmış tarafın erişebileceği verileri belirtir. Microsoft kimlik platformu, yetkilendirmeyi işlemek için OAuth2.0 protokolunu kullanır. Yetkilendirme seçenekleri arasında erişim denetim listeleri (ACL), rol tabanlı erişim denetimi ve öznitelik erişim denetimi (ABAC) bulunur. Kimlik doğrulaması genellikle yetkilendirmenin bir faktörüdür.

  • Temsilci erişimi (oturum açmış bir kullanıcı adına hareket eden) veya doğrudan erişim (yalnızca uygulamanın kendi kimliği olarak hareket ederek) uygulamanızın verilere erişmesine izin verir. Temsilci erişimi için temsilci izinleri gerekir ( kapsamlar olarak da bilinir). İstemci ve kullanıcı, isteği yapmak için ayrı olarak yetkilendirilmelidir. Doğrudan erişim , uygulama izinleri ( uygulama rolleri olarak da bilinir) gerektirebilir. Uygulamalar uygulama rolleri aldığında uygulama izinleri olarak adlandırılabilir.

  • Temsilci erişimiyle kullanılan temsilci izinleri, bir uygulamanın yalnızca kullanıcının erişebileceği erişime erişerek bir kullanıcı adına işlem yapmalarına izin verir. Doğrudan erişimle kullanılan uygulama izni, bir uygulamanın iznin ilişkilendirildiği tüm verilere erişmesine izin verir. Uygulama izinlerini yalnızca yöneticiler ve hizmet sorumlularının sahipleri onaylayabilir.

  • Onay , uygulamaların izinleri alma şeklidir. Kullanıcılar veya yöneticiler, korumalı bir kaynağa erişmek için bir uygulamayı yetkiler. Onay isteminde, yayımcı bilgileriyle birlikte uygulamanın gerektirdiği izinler listelenir.

  • Ön yetkilendirme , kaynak uygulama sahiplerinin istemci uygulamalarına erişim verme şeklidir. Bunu Azure portalında veya PowerShell ve Microsoft Graph gibi API'lerle yapabilir. Kullanıcıların önceden yetkilendirilmiş izinler kümesi için onay istemi görmesine gerek kalmadan kaynak izinleri verebilirler.

Yetkilendirilmiş ve uygulama izinleri arasındaki fark

Uygulamalar iki modda çalışır: bir kullanıcı mevcut olduğunda (temsilci izni) ve kullanıcı olmadığında (uygulama izni). Bir uygulamanın önünde bir kullanıcı olduğunda, bu kullanıcı adına işlem yapmak zorunda olursunuz. Uygulamanın kendisi adına hareket etmemelisiniz. Bir kullanıcı uygulamanızı yönlendirirken, bu kullanıcı için temsilci olarak davranırsınız. Temsilciliğini üstlendiğiniz kullanıcının adına işlem yapma izni alıyorsunuz.

Hizmet türü uygulamaları (arka plan görevleri, daemon'lar, sunucudan sunucuya işlemler) kendilerini tanımlayacak veya parola yazabilecek kullanıcılara sahip değildir. Kendi adına (hizmet uygulaması adına) işlem yapmak için bir uygulama iznine ihtiyaç duyarlar.

Sıfır Güven uygulama yetkilendirmesi en iyi yöntemleri

Yetkilendirme yaklaşımınız, uygulamaya ve çağırdığınız kaynağa mevcut bir kullanıcıya bağlandığınızda bileşen olarak kimlik doğrulamasına sahiptir. Uygulamanız bir kullanıcı adına hareket ettiğinde, bir çağrı uygulamasına kullanıcının kim olduğunu söylemesine veya kullanıcının kim olduğuna uygulamanın karar vermesine izin vermemesine güvenmeyiz. Microsoft Entra Id, belirteçteki kullanıcı hakkında bilgileri doğrular ve doğrudan sağlar.

Uygulamanızın bir KAYNAĞA erişebilmesi için API çağırmasına veya uygulamanızı yetkilendirmesine izin vermeniz gerektiğinde, modern yetkilendirme düzenleri bir izin ve onay çerçevesi aracılığıyla yetkilendirme gerektirebilir. Uygulama özellikleri için, yeniden yönlendirme URI'si, örtük akışlar için kullanılan erişim belirteçleri, sertifikalar ve sırlar, uygulama kimliği URI'si ve uygulama sahipliğini içeren güvenlik en iyi uygulamalarına başvurun.

Sonraki Adımlar