Uygulama rollerini uygulamama ekleme ve belirtece alma

Rol tabanlı erişim denetimi (RBAC), uygulamalarda yetkilendirmeyi zorunlu kılmaya yönelik popüler bir mekanizmadır. RBAC, yöneticilerin belirli kullanıcılara veya gruplara değil rollere izin vermesine olanak tanır. Yönetici daha sonra, kimlerin hangi içeriğe ve işlevlere erişimi olduğunu denetlemek için farklı kullanıcılara ve gruplara roller atayabilir.

RBAC'yi uygulama rolü ve rol talepleri ile kullanan geliştiriciler, daha az çabayla uygulamalarında güvenli bir şekilde yetkilendirme uygulayabilir.

Bir diğer yaklaşım da GitHub'daki active-directory-aspnetcore-webapp-openidconnect-v2 kod örneğinde gösterildiği gibi Microsoft Entra gruplarını ve grup taleplerini kullanmaktır. Microsoft Entra grupları ve uygulama rolleri birbirini dışlamaz; daha ayrıntılı erişim denetimi sağlamak için birlikte kullanılabilirler.

Bir uygulama için rolleri bildirme

Uygulama kayıt işlemi sırasında Microsoft Entra yönetim merkezini kullanarak uygulama rollerini tanımlarsınız. Uygulama rolleri, bir hizmeti, uygulamayı veya API'yi temsil eden bir uygulama kaydında tanımlanır. Kullanıcı uygulamada oturum açtığında, Microsoft Entra Id kullanıcıya veya hizmet sorumlusuna verilen her rol için bir roles talep yayar. Bu, talep tabanlı yetkilendirme uygulamak için kullanılabilir. Uygulama rolleri bir kullanıcıya veya bir kullanıcı grubuna atanabilir. Uygulama rolleri başka bir uygulamanın hizmet sorumlusuna veya yönetilen kimliğin hizmet sorumlusuna da atanabilir.

Şu anda, bir gruba hizmet sorumlusu ekler ve sonra bu gruba bir uygulama rolü atarsanız, Microsoft Entra Id talebi sorunlarına neden olan belirteçlere eklemez roles .

Uygulama rolleri, Microsoft Entra yönetim merkezinde Uygulama rolleri kullanıcı arabirimi kullanılarak bildirilir:

Eklediğiniz rol sayısı, Microsoft Entra Id tarafından zorunlu kılınan uygulama bildirim sınırlarına göre sayılır. Bu sınırlar hakkında bilgi için Microsoft Entra uygulama bildirim başvurusunun Bildirim sınırları bölümüne bakın.

Uygulama rolleri kullanıcı arabirimi

Bahşiş

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Microsoft Entra yönetim merkezinin kullanıcı arabirimini kullanarak uygulama rolü oluşturmak için:

  1. Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Üst menüdeki Ayarlar simgesini kullanarak Dizinler + abonelikler menüsünden uygulama kaydını içeren kiracıya geçin.

  3. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları ve uygulama rollerini tanımlamak istediğiniz uygulamayı seçin.

  4. Yönet'in altında Uygulama rolleri'ne tıklayın ve ardından Uygulama rolü oluştur'u seçin.

    An app registration's app roles pane in the Azure portal

  5. Uygulama rolü oluştur bölmesinde rol için ayarları girin. Görüntüyü izleyen tabloda her ayar ve parametreleri açıklanmaktadır.

    An app registration's app roles create context pane in the Azure portal

    Alan Veri Akışı Açıklaması Örnek
    Görünen ad Yönetici onayı ve uygulama atama deneyimlerinde görünen uygulama rolünün görünen adı. Bu değer boşluk içerebilir. Survey Writer
    İzin verilen üye türleri Bu uygulama rolünün kullanıcılara, uygulamalara veya her ikisine de atanıp atanamayacağını belirtir.

    için applicationskullanılabilir olduğunda, uygulama rolleri bir uygulama kaydının Bölüm API'sini yönet > izinlerinde uygulama izinleri olarak görünür api'lerim >>> API'lerim API > Uygulama izinleri seçin.
    Users/Groups
    Değer Uygulamanın belirteçte beklemesi gereken rol talebi değerini belirtir. Değer, uygulamanın kodunda başvuruda bulunan dizeyle tam olarak eşleşmelidir. Değer boşluk içeremez. Survey.Create
    Açıklama Yönetici uygulama ataması ve onay deneyimleri sırasında görüntülenen uygulama rolünün daha ayrıntılı bir açıklaması. Writers can create surveys.
    Bu uygulama rolünü etkinleştirmek istiyor musunuz? Uygulama rolünün etkinleştirilip etkinleştirilmediğini belirtir. Bir uygulama rolünü silmek için, silme işlemini denemeden önce bu onay kutusunun seçimini kaldırın ve değişikliği uygulayın. Bu ayar, uygulama rolünün kullanımını ve kullanılabilirliğini denetlerken, tamamen kaldırmadan geçici veya kalıcı olarak devre dışı bırakabiliyor. Kontrol
  6. Yaptığınız değişiklikleri kaydetmek için Apply'ı (Uygula) seçin.

Uygulama rolü etkin olarak ayarlandığında, atanan tüm kullanıcılar, uygulamalar veya gruplar bu rolü belirteçlerine dahil eder. Bunlar, uygulamanız bir kullanıcıda oturum açarken uygulama veya kimlik belirteçleri tarafından çağrılan API olduğunda erişim belirteçleri olabilir. Devre dışı olarak ayarlanırsa devre dışı kalır ve artık atanamaz duruma gelir. Önceki atananların belirteçlerine uygulama rolü dahil olmaya devam eder, ancak artık etkin olarak atanamaz olduğu için hiçbir etkisi yoktur.

Uygulama sahibi atama

Henüz yapmadıysanız, kendinizi uygulama sahibi olarak atamanız gerekir.

  1. Uygulama kaydınızda Yönet'in altında Sahipler'i ve Sahip ekle'yi seçin.
  2. Yeni pencerede, uygulamaya atamak istediğiniz sahipleri bulun ve seçin. Seçili sahipler sağ panelde görünür. İşiniz bittiğinde Select ile onaylayın. Uygulama sahipleri artık sahip listesinde görünür.

Dekont

Hem API uygulamasının hem de izin eklemek istediğiniz uygulamanın sahibi olduğundan emin olun; aksi takdirde API izinleri istenirken API listelenmez.

Uygulamalara uygulama rolleri atama

Uygulamanıza uygulama rolleri ekledikten sonra, Microsoft Entra yönetim merkezini kullanarak veya Microsoft Graph kullanarak program aracılığıyla bir istemci uygulamasına uygulama rolü atayabilirsiniz. Bu, kullanıcılara rol atamayla karıştırılmamalıdır.

Bir uygulamaya uygulama rolleri atadığınızda, uygulama izinleri oluşturursunuz. Uygulama izinleri genellikle kimliğini doğrulaması ve kullanıcı etkileşimi olmadan kendi adına yetkili API çağrısı yapması gereken daemon uygulamaları ve arka uç hizmetleri tarafından kullanılır.

Microsoft Entra yönetim merkezini kullanarak uygulamaya uygulama rolleri atamak için:

  1. Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.
  2. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları ve ardından Tüm uygulamalar'ı seçin.
  3. Tüm uygulamalarınızın listesini görüntülemek için Tüm uygulamalar'ı seçin. Uygulamanız listede görünmüyorsa, listeyi kısıtlamak için Tüm uygulamalar listesinin yukarısındaki filtreleri kullanın veya uygulamanızı bulmak için listeyi aşağı kaydırın.
  4. Uygulama rolü atamak istediğiniz uygulamayı seçin.
  5. API izinleri>İzin ekle'yi seçin.
  6. API'lerim sekmesini ve ardından uygulama rollerini tanımladığınız uygulamayı seçin.
  7. İzin'in altında, atamak istediğiniz rolleri seçin.
  8. İzin ekle düğmesini rollerin eklenmesini tamamla'yı seçin.

Yeni eklenen roller, uygulama kaydınızın API izinleri bölmesinde görünmelidir.

Bunlar temsilci izinleri değil de uygulama izinleri olduğundan, uygulamaya atanan uygulama rollerinin kullanılması için yöneticinin onay vermesi gerekir.

  1. Uygulama kaydının API izinleri bölmesinde Kiracı adı> için <yönetici onayı ver'i seçin.
  2. İstenen izinler için onay vermeniz istendiğinde Evet'i seçin.

Durum sütunu, kiracı adı> için <onay verildiğini yansıtmalıdır.

Uygulama rollerinin kullanım senaryosu

Uygulama senaryonuzda kullanıcılarda oturum açmanızı sağlayan uygulama rolü iş mantığı uyguluyorsanız, önce uygulama rollerini Uygulama kayıtları içinde tanımlayın. Ardından, bir yönetici bunları Kurumsal uygulamalar bölmesindeki kullanıcılara ve gruplara atar. Bu atanan uygulama rolleri, uygulamanız için verilen tüm belirteçlere eklenir.

Bir uygulama çağırma API’si senaryosunda uygulama rolü iş mantığını uyguluyorsanız iki uygulama kaydınız vardır. Bir uygulama kaydı uygulamaya, ikinci uygulama kaydı ise API'ye yöneliktir. Bu durumda uygulama rollerini tanımlayın ve bunları API’nin uygulama kaydındaki kullanıcıya veya gruba atayın. Kullanıcı uygulamada kimlik doğrulaması yaptığında ve API’yi çağırmak için erişim belirteci istediğinde, belirtece bir rol beyanı eklenir. Sonraki adımınız, API çağrıldığında bu rolleri denetlemek için web API'nize kod eklemektir.

Web API'nize yetkilendirme eklemeyi öğrenmek için bkz . Korumalı web API'si: Kapsamları ve uygulama rollerini doğrulama.

Uygulama rolleri ve gruplar karşılaştırması

Yetkilendirme için uygulama rollerini veya grupları kullanabilirsiniz ancak aralarındaki önemli farklar senaryonuz için kullanmaya karar vermenize neden olabilir.

Uygulama rolleri Gruplar
Bunlar bir uygulamaya özeldir ve uygulama kaydında tanımlanır. Uygulamayla birlikte hareket ederler. Bunlar bir uygulamaya değil, bir Microsoft Entra kiracısına özgü değildir.
Uygulama rolleri, uygulama kayıtları kaldırıldığında kaldırılır. Uygulama kaldırılsa bile gruplar değişmeden kalır.
Talepte sağlanır roles . Talepte groups sağlanır.

Geliştiriciler, bir kullanıcının uygulamada oturum açıp açamayacağını veya bir uygulamanın web API'sine yönelik erişim belirteci alıp alamayacağını denetlemek için uygulama rollerini kullanabilir. Geliştiriciler ve yöneticiler, bu güvenlik denetimini gruplara genişletmek için uygulama rollerine güvenlik grupları da atayabilir.

Uygulama rolleri, uygulamalarında yetkilendirme parametrelerini tanımlamak ve denetlemek istediklerinde geliştiriciler tarafından tercih edilir. Örneğin, yetkilendirme için grupları kullanan bir uygulama, hem grup kimliği hem de ad farklı olabileceğinden sonraki kiracıda bozulacaktır. Uygulama rollerini kullanan bir uygulama güvende kalır. Aslında, uygulama rollerine grup atamak, SaaS uygulamasının birden çok kiracıda sağlanmasına izin vermesiyle aynı nedenlerle SaaS uygulamaları arasında popülerdir.

Microsoft Entra rollerine kullanıcı ve grup atama

Uygulamanıza uygulama rolleri ekledikten sonra kullanıcıları ve grupları Microsoft Entra rollerine atayabilirsiniz. Kullanıcıların ve grupların rollere atanma işlemi portalın kullanıcı arabirimi aracılığıyla veya Microsoft Graph kullanılarak program aracılığıyla gerçekleştirilebilir. Çeşitli rollere atanan kullanıcılar uygulamada oturum açtıklarında, belirteçlerinin talepte roles atanmış rolleri olur.

Kullanıcıları ve grupları Microsoft Entra yönetim merkezini kullanarak rollere atamak için:

  1. Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Üst menüdeki Ayarlar simgesini kullanarak Dizinler + abonelikler menüsünden uygulama kaydını içeren kiracıya geçin.
  3. Kimlik>Uygulamaları>Kurumsal uygulamaları'na göz atın.
  4. Tüm uygulamalarınızın listesini görüntülemek için Tüm uygulamalar'ı seçin. Uygulamanız listede görünmüyorsa, listeyi kısıtlamak için Tüm uygulamalar listesinin yukarısındaki filtreleri kullanın veya uygulamanızı bulmak için listeyi aşağı kaydırın.
  5. Rollere kullanıcı veya güvenlik grubu atamak istediğiniz uygulamayı seçin.
  6. Yönet bölümünde Kullanıcılar ve gruplar'ı seçin.
  7. Atama Ekle bölmesini açmak için Kullanıcı ekle'yi seçin.
  8. Atama Ekle bölmesinden Kullanıcılar ve gruplar seçicisini seçin. Kullanıcı ve güvenlik gruplarının bir listesi görüntülenir. Belirli bir kullanıcıyı veya grubu arayabilir ve listede görünen birden çok kullanıcıyı ve grubu seçebilirsiniz.
  9. Kullanıcıları ve grupları seçtikten sonra devam etmek için Seç düğmesini seçin.
  10. Atama ekle bölmesinde Rol seçin'i seçin. Uygulama için tanımladığınız tüm roller görüntülenir.
  11. Bir rol seçin ve Seç düğmesini seçin.
  12. Kullanıcıların ve grupların uygulamaya atanmasını tamamlamak için Ata düğmesini seçin.

Eklediğiniz kullanıcıların ve grupların Kullanıcılar ve gruplar listesinde göründüğünü onaylayın.

Sonraki adımlar

Aşağıdaki kaynaklarla uygulama rolleri hakkında daha fazla bilgi edinin.