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 en iyi şekilde nasıl sağlayabileceğini 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

Microsoft kimlik platformu kullanarak uygulamalarınızın kimliğini doğrulayabilir ve yetkilendirilebilir, izinleri ve onayları yönetebilirsiniz. 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 Bağlan 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 (kapsamlar olarak da bilinir) gerekir; istemci ve kullanıcının istekte bulunmak için ayrı olarak yetkilendirilmiş olması gerekir. Doğrudan erişim, uygulama izinleri (uygulama rolleri olarak da bilinir) gerektirebilir; uygulamalara uygulama rolleri verildiğinde, bunlara uygulama izinleri adı verilebilir.

  • 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'leri kullanarak gerçekleştirebilirler. Kullanıcıların önceden yetkilendirilmiş izinler kümesi için onay istemi görmesine gerek kalmadan kaynak izinleri verebilirler.

Temsilci ile uygulama izni 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. Belirtecin tanımladığını kullanıcı 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. Başvuru Yeniden yönlendirme URI'si, erişim belirteçleri (örtük akışlar için kullanılır), sertifikalar ve gizli diziler, uygulama kimliği URI'si ve uygulama sahipliği içeren uygulama özellikleri için en iyi uygulamalar.

Sonraki adımlar

  • Belirteçleri özelleştirme, Microsoft Entra belirteçlerinde alabileceğiniz bilgileri açıklar. En az ayrıcalıkla uygulama sıfır güven güvenliğini artırırken esnekliği ve denetimi geliştirmek için belirteçlerin nasıl özelleştirileceği açıklanır.
  • Belirteçlerde grup taleplerini ve uygulama rollerini yapılandırma, uygulama rol tanımlarıyla uygulamalarınızı yapılandırmayı ve uygulama rollerine güvenlik grupları atamayı gösterir. Bu yöntemler, en az ayrıcalıkla uygulama sıfır güven güvenliğini artırırken esnekliği ve denetimi geliştirmeye yardımcı olur.
  • Temsilcili izinler stratejisi geliştirme, uygulamanızdaki izinleri yönetmek ve Sıfır Güven ilkeleri kullanarak geliştirmek için en iyi yaklaşımı uygulamanıza yardımcı olur.
  • Uygulama izinleri stratejisi geliştirme , kimlik bilgileri yönetimine yönelik uygulama izinleri yaklaşımınıza karar vermenize yardımcı olur.
  • Azure kaynakları için Yönetilen Kimlikler'in Azure'da hizmetler (kullanıcı olmayan uygulamalar) için en iyi istemci kimlik bilgileri uygulaması olduğunu açıklayan kullanıcı olmadığında uygulama kimliği kimlik bilgilerini sağlayın.
  • Yetkilendirme en iyi yöntemleri , uygulamalarınız için en iyi yetkilendirme, izin ve onay modellerini uygulamanıza yardımcı olur.
  • Güvenli uygulamalar oluşturmak için uygulama geliştirme yaşam döngünüzde Sıfır Güven kimlik ve erişim yönetimi geliştirme en iyi yöntemlerini kullanın.
  • Kimlik için Sıfır Güven bir yaklaşımla uygulama derleme, yazılım geliştirme Yaşam Döngüsü'nüzde (SDLC) kimlik için Sıfır Güven bir yaklaşım kullanmanıza yardımcı olmak için Sıfır Güven kimlik ve erişim yönetimi geliştirme en iyi yöntemleri makalesinden devam eder.