Öğretici: Azure CLı kullanarak Azure özel rolü oluşturmaTutorial: Create an Azure custom role using Azure CLI

Azure yerleşik rolleri , kuruluşunuzun belirli ihtiyaçlarını karşılamıyorsa, kendi özel rollerinizi de oluşturabilirsiniz.If the Azure built-in roles don't meet the specific needs of your organization, you can create your own custom roles. Bu öğretici için Azure CLI'yı kullanarak Reader Support Tickets adlı özel bir rol oluşturacaksınız.For this tutorial, you create a custom role named Reader Support Tickets using Azure CLI. Özel rol, kullanıcının bir aboneliğin yönetim düzlemine ait her şeyi görüntülemesine olanak sağlar ve destek biletlerini de açabilir.The custom role allows the user to view everything in the management plane of a subscription and also open support tickets.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:In this tutorial, you learn how to:

  • Özel rol oluşturmaCreate a custom role
  • Özel rolleri listelemeList custom roles
  • Özel rolü güncelleştirmeUpdate a custom role
  • Özel rolü silmeDelete a custom role

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.

ÖnkoşullarPrerequisites

Bu öğreticiyi tamamlamak için aşağıdakiler gerekir:To complete this tutorial, you will need:

Azure CLI'da oturum açmaSign in to Azure CLI

Azure CLI'da oturum açın.Sign in to Azure CLI.

Özel rol oluşturmaCreate a custom role

Özel rol oluşturmanın en kolay yolu bir JSON şablonuyla başlayıp değişikliklerinizi ekledikten sonra yeni bir rol oluşturmaktır.The easiest way to create a custom role is to start with a JSON template, add your changes, and then create a new role.

  1. Microsoft.Support kaynak sağlayıcısının işlem listesini gözden geçirin.Review the list of operations for the Microsoft.Support resource provider. İzinlerinizi oluşturmak için kullanabileceğiniz işlemleri bilmeniz yararlıdır.It's helpful to know the operations that are available to create your permissions.

    İşlemOperation AçıklamaDescription
    Microsoft.Support/register/actionMicrosoft.Support/register/action Destek Kaynağı Sağlayıcısı'na kayıt yaparRegisters to Support Resource Provider
    Microsoft.Support/supportTickets/readMicrosoft.Support/supportTickets/read Durum, önem derecesi, kişi ayrıntıları ve iletişimler gibi Destek Biletleri ayrıntılarını alır veya aboneliklerdeki Destek Biletleri listesini alır.Gets Support Ticket details (including status, severity, contact details and communications) or gets the list of Support Tickets across subscriptions.
    Microsoft.Support/supportTickets/writeMicrosoft.Support/supportTickets/write Destek Bileti oluşturur veya güncelleştirir.Creates or Updates a Support Ticket. Teknik, Faturalama, Kotalar veya Abonelik Yönetimi konusunda bir Destek Bileti oluşturabilirsiniz.You can create a Support Ticket for Technical, Billing, Quotas or Subscription Management related issues. Var olan destek biletlerinin önem derecesini, iletişim bilgilerini ve iletişimlerini güncelleştirebilirsiniz.You can update severity, contact details and communications for existing support tickets.
  2. ReaderSupportRole.json adlı yeni bir dosya oluşturun.Create a new file named ReaderSupportRole.json.

  3. ReaderSupportRole.json dosyasını bir düzenleyicide açıp aşağıdaki JSON kodunu ekleyin.Open ReaderSupportRole.json in an editor and add the following JSON.

    Farklı özellikler hakkında daha fazla bilgi için bkz. Azure özel rolleri.For information about the different properties, see Azure custom roles.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Aşağıdaki işlemleri Actions özelliğine ekleyin.Add the following operations to the Actions property. Bu eylemler, kullanıcının abonelikteki her şeyi görüntülemesini ve destek bileti oluşturmasını sağlar.These actions allow the user to view everything in the subscription and create support tickets.

    "*/read",
    "Microsoft.Support/*"
    
  5. az account list komutunu kullanarak aboneliğinizin kimliğini alın.Get the ID of your subscription using the az account list command.

    az account list --output table
    
  6. AssignableScopes içinde {subscriptionId1} yerine abonelik kimliğinizi yazın.In AssignableScopes, replace {subscriptionId1} with your subscription ID.

    Açık abonelik kimliklerini girmeniz gerekir, aksi halde rolü aboneliğinize aktaramazsınız.You must add explicit subscription IDs, otherwise you won't be allowed to import the role into your subscription.

  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.Change the Name and Description properties to "Reader Support Tickets" and "View everything in the subscription and also open support tickets."

    JSON dosyanız aşağıdaki gibi görünmelidir:Your JSON file should look like the following:

    {
      "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.To create the new custom role, use the az role definition create command and specify the JSON role definition file.

    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.The new custom role is now available and can be assigned to users, groups, or service principals just like built-in roles.

Özel rolleri listelemeList custom roles

  • Özel rollerinizin tümünü listelemek için az role definition list komutunu --custom-role-only parametresiyle birlikte kullanın.To list all your custom roles, use the az role definition list command with the --custom-role-only parameter.

    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.You can also see the custom role in the Azure portal.

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

Özel rolü güncelleştirmeUpdate a custom role

Özel rolü güncelleştirmek için JSON dosyasını ve ardından özel rolü güncelleştirin.To update the custom role, update the JSON file and then update the custom role.

  1. ReaderSupportRole.json dosyasını açın.Open the ReaderSupportRole.json file.

  2. Actions içine kaynak grubu dağıtımlarını oluşturma ve yönetme işlemini ekleyin: "Microsoft.Resources/deployments/*".In Actions, add the operation to create and manage resource group deployments "Microsoft.Resources/deployments/*". Önceki işlemden sonra virgül eklemeyi unutmayın.Be sure to include a comma after the previous operation.

    Güncelleştirilmiş JSON dosyanız aşağıdaki gibi görünmelidir:Your updated JSON file should look like the following:

    {
      "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 kullanarak güncelleştirilmiş JSON dosyasını belirtin.To update the custom role, use the az role definition update command and specify the updated JSON file.

    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ü silmeDelete a custom role

  • Özel rolü silmek için az role definition delete komutunu kullanın ve rol adını veya rol kimliğini belirtin.Use the az role definition delete command and specify the role name or role ID to delete the custom role.

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

Sonraki adımlarNext steps