Uygulama rollerini uygulamanıza ekleme ve belirteçte alma

Rol tabanlı erişim denetimi (RBAC), uygulamalarda yetkilendirmeyi zorunlu kacak popüler bir mekanizmadır. RBAC kullanırken, yönetici tek tek kullanıcılara veya gruplara değil rollere izinler sağlar. Yönetici daha sonra, kimlerin hangi içeriğe ve işlevlere erişimi olduğunu kontrol etmek için farklı kullanıcılara ve gruplara roller atayabilirsiniz.

Geliştiriciler, RBAC'yi Uygulama Rolleri ve Rol Talepleri ile birlikte kullanarak, daha az çabayla kendi uygulamalarına güvenli bir şekilde yetkilendirmeyi zorlar.

Bir diğer yaklaşım da Azure AD Grupları ve Grup Talepleri'nin aşağıdaki active-directory-aspnetcore-webapp-openidconnect-v2 kod örneğinde gösterildiği gibi GitHub. Azure AD Grupları ve Uygulama Rolleri birbirini dışlar; daha da ince erişim denetimi sağlamak için birlikte kullanılabilirler.

Bir uygulama için rolleri bildir

uygulama rollerini tanımlamak için Azure portal. Uygulama rolleri genellikle bir hizmeti, uygulamayı veya API'yi temsil eden bir uygulama kaydında tanımlanır. Bir kullanıcı uygulamada oturum asında, Azure AD kullanıcıya veya hizmet sorumlusuna tek tek ve grup üyeliğinden tek tek verilen her rol için bir roles talep yayır. 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 uygulama için hizmet sorumlusuna veya yönetilen kimlik için hizmet sorumlusuna da atanabilir.

Önemli

Şu anda bir gruba hizmet sorumlusu ekler ve ardından bu gruba bir uygulama rolü atarsanız, Azure AD, talep ettiği roles belirteçlere eklemez.

Uygulama rollerini, uygulama rollerini uygulama rollerini Azure portal:

Ekley istediğiniz rol sayısı, uygulama tarafından zorunlu kılınan uygulama bildirimi sınırlarına Azure Active Directory. Bu sınırlar hakkında daha fazla bilgi için uygulama bildirimi başvurusu'Azure Active Directory bildirim sınırları bölümüne bakın.

Uygulama rolleri kullanıcı arabirimi

Azure portal kullanıcı arabirimini kullanarak bir uygulama rolü oluşturmak için:

  1. Azure Portal’ında oturum açın.

  2. Üst menüde Dizin + abonelik filtresini seçin ve Azure Active Directory eklemek istediğiniz uygulama kaydını içeren kiracıyı seçin.

  3. Azure Active Directory'yi bulun ve seçin.

  4. Yönet altında,Uygulama kayıtları'ıseçin ve ardından uygulama rollerini tanımlamak istediğiniz uygulamayı seçin.

  5. Uygulama rolleri'neve ardından Uygulama rolü oluştur'a seçin.

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

  6. Uygulama rolü oluştur bölmesinde rolün ayarlarını girin. Görüntüyü takip eden tabloda her bir ayar ve bunların parametreleri açık bir şekilde anlatıldı.

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

    Alan Açıklama Örnek
    Görünen ad Yönetici onayı ve uygulama atama deneyimlerde 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 iki kullanıcıya da atanıp atanamaylarını belirtir.

    için kullanılabilir olduğunda, uygulama rolleri uygulama kaydının Yönet bölümünde uygulama izinleri olarak görünür API izinleri İzin ekleme API'lerim Api Uygulama applicationsapplications>>
    Users/Groups
    Değer Uygulamanın belirteçte beklemesi gereken roller talebi değerini belirtir. Değer, uygulamanın kodunda başvurulan dizeyle tam olarak eşleşmeli. 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 etkin olup olmadığını belirtir. Bir uygulama rolünü silmek için bu onay kutusunun seçimini kaldırın ve silme işlemi denemeden önce değişikliği uygulayabilirsiniz. Kontrol
  7. Yaptığınız değişiklikleri kaydetmek için Apply'ı (Uygula) seçin.

Uygulama bildirimi düzenleyicisi

Bildirimi doğrudan düzenleyerek rol eklemek için:

  1. Azure Portal’ında oturum açın.
  2. Üst menüde Dizin + abonelik filtresini seçin ve Azure Active Directory eklemek istediğiniz uygulama kaydını içeren kiracıyı seçin.
  3. Azure Active Directory'yi bulun ve seçin.
  4. Yönet altında,Uygulama kayıtları'ıseçin ve ardından uygulama rollerini tanımlamak istediğiniz uygulamayı seçin.
  5. Yönet altında tekrar Bildirim'iseçin.
  6. Ayarı bularak ve uygulama rollerinizi appRoles ekleyerek uygulama bildirimini düzenleyin. , veya her ikisini de hedef alan usersapplications uygulama rolleri tanımlayabilirsiniz. Aşağıdaki JSON kod parçacıkları her ikisinin de örneklerini gösterir.
  7. Bildirimi kaydedin.

Bildirimde yer alan her uygulama rolü tanımının değeri için benzersiz bir GUID id olmalıdır.

Her value uygulama rolü tanımının özelliği, uygulama kodunda kullanılan dizelerle tam olarak eşleşmeli. valueözelliği boşluk içeremez. Böyle bir durumla karşılaştıysanız bildirimi kaydeden bir hata alırsınız.

Örnek: Kullanıcı uygulaması rolü

Bu örnek, bir uygulamasına Writer atayabilirsiniz adlı bir uygulama rolünü User tanımlar:

"appId": "8763f1c4-0000-0000-0000-158e9ef97d6a",
"appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Writer",
      "id": "d1c2ade8-0000-0000-0000-6d06b947c66f",
      "isEnabled": true,
      "description": "Writers Have the ability to create tasks.",
      "value": "Writer"
    }
  ],
"availableToOtherTenants": false,

Örnek: Uygulama uygulaması rolü

için kullanılabilir olduğunda, uygulama rolleri uygulama kaydının Yönet bölümünde uygulama izinleri olarak görünür API izinleri İzin ekleme API'lerim Api Uygulama applicationsapplications>>

Bu örnekte, hedefli bir uygulama rolü Application gösterir:

"appId": "8763f1c4-0000-0000-0000-158e9ef97d6a",
"appRoles": [
    {
      "allowedMemberTypes": [
        "Application"
      ],
      "displayName": "ConsumerApps",
      "id": "47fbb575-0000-0000-0000-0f7a6c30beac",
      "isEnabled": true,
      "description": "Consumer apps have access to the consumer data.",
      "value": "Consumer"
    }
  ],
"availableToOtherTenants": false,

Rollere kullanıcı ve grup atama

Uygulamanıza uygulama rolleri eklediktan sonra, rollere kullanıcı ve grup atabilirsiniz. Kullanıcıların ve grupların rollere ataması, portalın kullanıcı arabirimi aracılığıyla veya MicrosoftGraph. Çeşitli uygulama rollerine atanan kullanıcılar uygulamada oturum açınca, belirteçlerine talepte atanmış rolleri roles olur.

Kullanıcı ve grupları rollerine atamak için Azure portal:

  1. Azure Portal’ında oturum açın.
  2. Bu Azure Active Directorysol gezinti Enterprise uygulamalar'ı seçin.
  3. Tüm uygulamalarınızı bir 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 üst kısmında yer alan filtreleri kullanın veya uygulamayı bulmak için listeyi aşağı kaydırın.
  4. Rollere kullanıcı veya güvenlik grubu atamak istediğiniz uygulamayı seçin.
  5. Yönet bölümünde Kullanıcılar ve gruplar'ı seçin.
  6. Atama Ekle bölmesini açmak için Kullanıcı ekle'yi seçin.
  7. Atama Ekle bölmesinde Kullanıcılar ve gruplar seçiciyi seçin. Kullanıcıların ve güvenlik gruplarının listesi görüntülenir. Belirli bir kullanıcı veya grup için arama hem de listede görünen birden çok kullanıcı ve grup seçebilirsiniz.
  8. Kullanıcıları ve grupları seçtikten sonra devam etmek için Seç düğmesini seçin.
  9. Atama ekle bölmesinde Rolseçin'i seçin. Uygulama için tanımlandığı tüm roller görüntülenir.
  10. Bir rol seçin ve Seç düğmesini seçin.
  11. Kullanıcı ve grupların uygulamaya atanmalarını tamamlamak için Ata düğmesini seçin.

Eklenen kullanıcıların ve grupların Kullanıcılar ve gruplar listesinde görüntüleniyor olduğunu onaylayın.

Uygulamalara uygulama rolleri atama

Uygulamanıza uygulama rolleri eklediktan sonra, Azure portal'i kullanarak veya Microsoft Graph kullanarak uygulama rollerini uygulamanıza atabilirsiniz.

Bir uygulamaya uygulama rolleri atadığınız zaman, uygulama izinleri oluşturmanız gerekir. Uygulama izinleri genellikle bir kullanıcının etkileşimi olmadan kendi kimlik doğrulaması ve yetkili API çağrıları yapmaları gereken daemon uygulamaları veya arka uç hizmetleri tarafından kullanılır.

Uygulama rollerini bir uygulamaya atamak için Azure portal:

  1. Azure Portal’ında oturum açın.
  2. Sol Azure Active Directorymenüsünden Uygulama kayıtları'yi seçin.
  3. Tüm uygulamalarınızı bir 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 üst kısmında yer alan filtreleri kullanın veya uygulamayı bulmak için listeyi aşağı kaydırın.
  4. Uygulama rolü atamak istediğiniz uygulamayı seçin.
  5. API izinleri İzinekle'yi seçin.
  6. API'lerim sekmesini ve ardından uygulama rollerini tanımlandığı uygulamayı seçin.
  7. Uygulama izinleri'ne tıklayın.
  8. Atamak istediğiniz rollerini seçin.
  9. Rol ekleme işlemini tamamla izin ekle düğmesini seçin.

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

Bu izinler uygulama izinleriolduğundan, yöneticinin uygulamaya atanan uygulama rollerini kullanma iznini vermek zorunda olması 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 verilmesi istendiğinde Evet'i seçin.

Durum sütunu, kiracı adı için onay verilmiş olduğunu yansıtmış olması gerekir.

Web API'sinde uygulama rollerini kullanma

Uygulama rollerini tanımp bunları bir kullanıcıya, gruba veya uygulamaya atanın bir sonraki adımı, API çağrıldıktan sonra bu rolleri kontrol eden web API'nize kod eklemektir. Yani, bir istemci uygulaması yetkilendirme gerektirdiğine karar verdiniz bir API işlemi isteğinde olduğunda, API'nizin kodu kapsamların istemci uygulamasının çağrısında sunulan erişim belirtecinin içinde olduğunu doğrulamalı.

Web API'nize yetkilendirme ekleme hakkında bilgi edinmek için bkz. Korumalı web API'si: Kapsamları ve uygulama rollerini doğrulama.

Uygulama rolleri ve gruplar

Yetkilendirme için uygulama rollerini veya gruplarını kullanabilirsiniz ancak aralarındaki önemli farklar senaryo için kullanmaya karar vermenizi etkiler.

Uygulama rolleri Gruplar
Bunlar bir uygulamaya özeldir ve uygulama kaydında tanımlanır. Uygulamayla birlikte hareket eder. Bunlar bir uygulamaya özgü değildir, azure AD kiracısına yöneliktir.
Uygulama rolleri, uygulama kayıtları kaldırıldığı zaman kaldırılır. Uygulama kaldırılmış olsa bile gruplar bozulmadan kalır.
Talepte roles sağlanır. Talepte groups sağlanır.

Geliştiriciler, bir kullanıcının bir uygulamada oturum açıp oturum açamay or bir uygulamanın bir web API'si için erişim belirteci edinip edine olmadığını kontrol etmek için uygulama rollerini kullanabilir. Geliştiriciler ve yöneticiler, bu güvenlik denetimlerini gruplara genişletmek için uygulama rollerine güvenlik grupları da atayabilirsiniz.

Uygulama rolleri, uygulamalarında yetkilendirme parametrelerini tanımlamak ve kontrol etmek isteyen geliştiriciler tarafından tercih edilir. Örneğin yetkilendirme için grupları kullanan bir uygulama, hem grup kimliği hem de adı farklı olabilirken sonraki kiracıda ayrılır. Uygulama rollerini kullanan bir uygulama güvenli kalır. Aslında, uygulama rollerine grup atamak aynı nedenlerle SaaS uygulamalarıyla popülerdir.

Sonraki adımlar

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