Öğretici: Azure PowerShell kullanarak Azure özel rolü oluşturma
Azure yerleşik rolleri kuruluşunuzun belirli gereksinimlerini karşılamıyorsa kendi özel rollerinizi oluşturabilirsiniz. Bu öğretici için Azure PowerShell'i kullanarak Reader Support Tickets adlı özel bir rol oluşturacaksınız. Özel rol, kullanıcının aboneliğin denetim düzlemindeki her şeyi görüntülemesine ve ayrıca destek biletlerini açmasına olanak tanır.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Özel rol oluşturma
- Özel rolleri listeleme
- Özel rolü güncelleştirme
- Özel rolü silme
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Önkoşullar
Bu öğreticiyi tamamlamak için aşağıdakiler gerekir:
- Kullanıcı Erişimi Yönetici istrator gibi özel roller oluşturma izinleri
- Azure Cloud Shell veya Azure PowerShell
Azure PowerShell oturumu açma
Azure PowerShell oturumu açın.
Özel rol oluşturma
Özel rol oluşturmanın en kolay yolu yerleşik rolle başlayıp düzenledikten sonra yeni bir rol oluşturmaktır.
PowerShell'de Get-AzProviderOperation komutunu kullanarak Microsoft.Support kaynak sağlayıcısına yönelik işlemlerin listesini alın. İzinlerinizi oluşturmak için kullanabileceğiniz işlemleri bilmeniz yararlıdır. Azure kaynak sağlayıcısı işlemlerinde tüm işlemlerin listesini de görebilirsiniz.
Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize
Operation Description --------- ----------- Microsoft.Support/register/action Registers to Support Resource Provider Microsoft.Support/supportTickets/read Gets Support Ticket details (including status, severity, contact ... Microsoft.Support/supportTickets/write Creates or Updates a Support Ticket. You can create a Support Tic...
Okuyucu rolünü JSON biçiminde çıkarmak için Get-AzRoleDefinition komutunu kullanın.
Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
ReaderSupportRole.json dosyasını bir düzenleyicide açın.
Aşağıdaki JSON çıktısı gösterilir. Farklı özellikler hakkında bilgi için bkz . Azure özel rolleri.
{ "Name": "Reader", "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7", "IsCustom": false, "Description": "Lets you view everything, but not make any changes.", "Actions": [ "*/read" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/" ] }
Eylemi
Actions
özelliğine eklemek"Microsoft.Support/*"
için JSON dosyasını düzenleyin. Okuma eyleminden sonra virgül eklemeyi unutmayın. Bu eylem, kullanıcıya destek bileti oluşturma izni verecektir.Get-AzSubscription komutunu kullanarak aboneliğinizin kimliğini alın.
Get-AzSubscription
AssignableScopes
içine abonelik kimliğinizi şu biçimde ekleyin:"/subscriptions/00000000-0000-0000-0000-000000000000"
Açık abonelik kimliklerini girmeniz gerekir, aksi halde rolü aboneliğinize aktaramazsınız.
Id
özellik satırını silin veIsCustom
özelliğinitrue
olarak değiştirin.Name
veDescription
özelliklerini "Okuyucu Destek Biletleri" ve "Abonelikteki her şeyi görüntüleme ve destek bileti açma." olarak değiştirin.JSON dosyanız aşağıdaki gibi görünmelidir:
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
Yeni özel rolü oluşturmak için New-AzRoleDefinition komutunu kullanın ve JSON rol tanımı dosyasını belirtin.
New-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole.json"
Name : Reader Support Tickets Id : 22222222-2222-2222-2222-222222222222 IsCustom : True Description : View everything in the subscription and also open support tickets. Actions : {*/read, Microsoft.Support/*} NotActions : {} DataActions : {} NotDataActions : {} AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
Yeni özel rol artık Azure portalında kullanılabilir ve yerleşik roller gibi kullanıcılara, gruplara veya hizmet sorumlularına atanabilir.
Özel rolleri listeleme
Tüm özel rollerinizi listelemek için Get-AzRoleDefinition komutunu kullanın.
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Name IsCustom ---- -------- Reader Support Tickets True
Özel rolü Azure portalında da görebilirsiniz.
Özel rolü güncelleştirme
Özel rolü güncelleştirmek için JSON dosyasını güncelleştirebilir veya PSRoleDefinition
nesnesini kullanabilirsiniz.
JSON dosyasını güncelleştirmek için Get-AzRoleDefinition komutunu kullanarak JSON biçiminde özel rolün çıktısını alın.
Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
Dosyayı bir düzenleyicide açın.
içinde
Actions
, kaynak grubu dağıtımlarını"Microsoft.Resources/deployments/*"
oluşturmak ve yönetmek için eylemini ekleyin.Güncelleştirilmiş JSON dosyanız aşağıdaki gibi görünmelidir:
{ "Name": "Reader Support Tickets", "Id": "22222222-2222-2222-2222-222222222222", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
Özel rolü güncelleştirmek için Set-AzRoleDefinition komutunu kullanın ve güncelleştirilmiş JSON dosyasını belirtin.
Set-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole2.json"
Name : Reader Support Tickets Id : 22222222-2222-2222-2222-222222222222 IsCustom : True Description : View everything in the subscription and also open support tickets. Actions : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*} NotActions : {} DataActions : {} NotDataActions : {} AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
Özel rolünüzü güncelleştirmek için nesnesini kullanmak
PSRoleDefintion
için önce Get-AzRoleDefinition komutunu kullanarak rolü alın.$role = Get-AzRoleDefinition "Reader Support Tickets"
Add
Tanılama ayarlarını okumak için eylemi eklemek için yöntemini çağırın.$role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
Rolü güncelleştirmek için Set-AzRoleDefinition komutunu kullanın.
Set-AzRoleDefinition -Role $role
Name : Reader Support Tickets Id : 22222222-2222-2222-2222-222222222222 IsCustom : True Description : View everything in the subscription and also open support tickets. Actions : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*, Microsoft.Insights/diagnosticSettings/*/read} NotActions : {} DataActions : {} NotDataActions : {} AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
Özel rolü silme
Özel rolün kimliğini almak için Get-AzRoleDefinition komutunu kullanın.
Get-AzRoleDefinition "Reader Support Tickets"
Remove-AzRoleDefinition komutunu kullanın ve özel rolü silmek için rol kimliğini belirtin.
Remove-AzRoleDefinition -Id "22222222-2222-2222-2222-222222222222"
Confirm Are you sure you want to remove role definition with id '22222222-2222-2222-2222-222222222222'. [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Onaylamanız istendiğinde Y yazın.