Azure’da Özel Roller Tanımlama & Kısıtlı Yönetici Rolü Tanımlama

Azure Role Based Access (RBAC) ve Azure Custom Roller

Azure Role-based Access Azure üyeliğiniz (Subscription) altında bulunan abonelik sahiplerinin ortamdaki belirli kaynakları yönetebilmeleri için diğer üyelere ayrıntılı roller atanmasına olanak sağlayan yetkilendirme seviyesidir.

Azure’da Özel Roller Tanımlama

RBAC’ı 3 farklı seviyede atayabilirsiniz:

Abonelik seviyesi
Kaynak Grubu
Kaynak

RBAC ile atayabileceğiniz bult-in rollerin listesine ulaşmak için tıklayınız.

Ancak bazı durumlarda mevcut bult-in roller istemiş olduğumuz özel yetkilendirmeyi karşılayamayabilir örneğin: IT ekibinden bir üyenizin Azure üzerindeki tüm kaynaklarda full yetkiye sahip olmasını istiyoruz fakat Network Security Group (Nsg) ‘ler üzerinde bulunan kuralları değiştiremesin istemiyorsunuz işte bu gibi durumlarda Azure üzerinde bulunan Custom Role’leri (Özel İzinler) ’leri kullanmamız gerekmektedir.

Custom Role’ler Azure PowerShell yada Azure Command-Line (CLI) kullanarak oluşturulabilir ve bult-in roller gibi Kullanıcı, Gruplar, Uygulamalar, Resource Group’lara atanabilir. Her bir tenant altında maxium 2000 Custom Role oluşturulabilir. İhtiyacanıza göre bult-in rolleri json file olarak export edip özelleştirmede yapabilirsiniz.

Şimdi tüm kaynaklar üzerinde full yetkili ancak NSG’ler üzerinde sadece read yani NSG’ler üzerinde hiç bir değişiklik yapamayacak bir Rol tanımlayalım.

Login-AzureRm
Select-AzureRmSubscription -SubscriptionId XXXXXXXXXXXXXXXXXXXXX

#Yetkilendirme yapabileceğimiz Resource Provide’ları listeliyoruz.

Get-AzureRmResourceProvider | FT ProviderNameSpace,ResourceTypes

Değişiklşik yapacağımız Resource Provier “Microsoft.Network”.

Hangi Resource Provier altında değilşiklik yapacağınızı bilgiyorsanız burda kontrol edebilirsiniz:

https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations

#Microsoft.Network Resource’u altında alabileceğim aksiyonları listeliyorum.

Get-AzureRmProviderOperation -OperationSearchString Microsoft.Network/* | Select Operation,OperationName

Bizim ilgilendiren aksiyonlar şu şekilde:

Microsoft.Network/networkSecurityGroups/write

Microsoft.Network/networkSecurityGroups/delete

Microsoft.Network/networkSecurityGroups/securityRules/write

Microsoft.Network/networkSecurityGroups/securityRules/delete

Özel izin tanımlamak için gerekli json file formatı aşağıdaki gibidir ilgili satırları ekleyip file.json olarak kaydediyorum.

Json file’i import ederek Özel izin tanımlamasını yapıyorum.

Portal üzerinden kontrol ettiğimizde oluşturmuş olduğıumuz rol Azure Custom Admin ismiyle oluştuğunu göreceksiniz.

Sonrasında oluşturmuş olduğumuz rol’e bir member ekliyrum.

NSG’ler üzerinde bir değişiklik yapmak istediğimde “işlemi gerçekleştirme yetkisi yok” seklinde bir uyarı alıyorum.

Faydalı olması dileğiyle.