Aracılığıyla paylaş


Öğ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:

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.

  1. 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...
    
  2. 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
    
  3. 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": [
        "/"
      ]
    }
    
  4. 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.

  5. Get-AzSubscription komutunu kullanarak aboneliğinizin kimliğini alın.

    Get-AzSubscription
    
  6. 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.

  7. Id özellik satırını silin ve IsCustom özelliğini true olarak değiştirin.

  8. Name ve Description ö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"
      ]
    }
    
  9. 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.

    Azure portalına aktarılmış olan özel rolün ekran görüntüsü

Özel rolü güncelleştirme

Özel rolü güncelleştirmek için JSON dosyasını güncelleştirebilir veya PSRoleDefinition nesnesini kullanabilirsiniz.

  1. 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
    
  2. Dosyayı bir düzenleyicide açın.

  3. 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"
      ]
    }
    
  4. Ö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}
    
  5. Ö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"
    
  6. Add Tanılama ayarlarını okumak için eylemi eklemek için yöntemini çağırın.

    $role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
    
  7. 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

  1. Özel rolün kimliğini almak için Get-AzRoleDefinition komutunu kullanın.

    Get-AzRoleDefinition "Reader Support Tickets"
    
  2. 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"):
    
  3. Onaylamanız istendiğinde Y yazın.

Sonraki adımlar