Aracılığıyla paylaş


Öğretici: Azure CLI kullanarak Azure özel rolü oluşturma

Azure yerleşik rolleri kuruluşunuzun ihtiyaçlarını karşılamıyorsa kendi özel rollerinizi oluşturabilirsiniz. Bu öğreticide, Azure CLI kullanarak "Reader Support Tickets" adında özel bir rol oluşturursunuz. Ö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.

Önkoşullar

Bu öğreticiyi tamamlamak için ihtiyacınız olanlar:

Azure CLI'da oturum açma

Azure CLI'da oturum açın.

Özel rol oluşturma

Özel rol oluşturmanın en kolay yolu bir JSON şablonuyla başlamak, değişikliklerinizi eklemek ve ardından yeni bir rol oluşturmaktır.

  1. Microsoft.Support kaynak sağlayıcısı için eylemlerin listesini gözden geçirin. İzinlerinizi oluşturmak için kullanılabilecek eylemleri bilmek yararlı olur.

    Eylem Açıklama
    Microsoft.Support/register/action Destek Kaynak Sağlayıcısına Kaydolan
    Microsoft.Support/supportTickets/read Destek Biletlerinin detaylarını (durum, önem derecesi, iletişim detayları ve yazışmalar dahil) alır veya abonelikler arasında Destek Biletlerinin listesini alır.
    Microsoft.Support/supportTickets/write Destek Bileti oluşturur veya güncelleştirir. Teknik, Faturalama, Kotalar veya Abonelik Yönetimi ile ilgili sorunlar için bir Destek Bileti oluşturabilirsiniz. Mevcut destek biletleri için önem derecesini, iletişim ayrıntılarını ve iletişimleri güncelleştirebilirsiniz.
  2. ReaderSupportRole.jsonadlı yeni bir dosya oluşturun.

  3. ReaderSupportRole.json bir düzenleyicide açın ve aşağıdaki JSON dosyasını ekleyin.

    Farklı özellikler hakkında bilgi için bkz . Azure özel rolleri.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Aşağıdaki eylemleri özelliğine Actions ekleyin. Bu eylemler kullanıcının abonelikteki her şeyi görüntülemesine ve destek biletleri oluşturmasına olanak tanır.

    "*/read",
    "Microsoft.Support/*"
    
  5. az account list komutunu kullanarak aboneliğinizin kimliğini alın.

    az account list --output table
    
  6. AssignableScopes içinde {subscriptionId1} değerini abonelik kimliğiniz ile değiştirin.

    Açık abonelik kimliklerini girmeniz gerekir, aksi halde rolü aboneliğinize aktaramazsınız.

  7. 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"
      ]
    }
    
  8. Yeni özel rolü oluşturmak için az role definition create komutunu kullanın ve JSON rol tanımı dosyasını belirtin.

    az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

    Yeni özel rol artık 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 parametresiyle --custom-role-only komutunu kullanın.

    az role definition list --custom-role-only true
    
    [
      {
        "additionalProperties": {},
        "assignableScopes": [
          "/subscriptions/00000000-0000-0000-0000-000000000000"
        ],
        "description": "View everything in the subscription and also open support tickets.",
        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
        "name": "22222222-2222-2222-2222-222222222222",
        "permissions": [
          {
            "actions": [
              "*/read",
              "Microsoft.Support/*",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Insights/diagnosticSettings/*/read"
            ],
            "additionalProperties": {},
            "dataActions": [],
            "notActions": [],
            "notDataActions": []
          }
        ],
        "roleName": "Reader Support Tickets",
        "roleType": "CustomRole",
        "type": "Microsoft.Authorization/roleDefinitions"
      }
    ]
    

    Ö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ştirin ve ardından özel rolü güncelleştirin.

  1. ReaderSupportRole.json dosyasını açın.

  2. Actions'de, kaynak grubu dağıtımlarını oluşturmak ve yönetmek için eylemi ekleyin "Microsoft.Resources/deployments/*". Önceki eylemden sonra virgül eklediğinizden emin olun.

    Güncelleştirilmiş 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/*",
        "Microsoft.Resources/deployments/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  3. Özel rolü güncelleştirmek için az role definition update komutunu kullanın ve güncelleştirilmiş JSON dosyasını belirtin.

    az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*",
            "Microsoft.Resources/deployments/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

Özel rolü silme

  • Az role definition delete komutunu kullanın ve özel rolü silmek için rol adını veya rol kimliğini belirtin.

    az role definition delete --name "Reader Support Tickets"
    

Sonraki adımlar