Azure özel rolleri

Önemli

' Ye bir yönetim grubu eklemek AssignableScopes Şu anda önizlemededir. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yüklerinde kullanılması önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Azure yerleşik rolleri , kuruluşunuzun belirli ihtiyaçlarını karşılamıyorsa, kendi özel rollerinizi de oluşturabilirsiniz. Yerleşik rollerde olduğu gibi, yönetim grubundaki kullanıcılar, gruplar ve hizmet sorumlularına (yalnızca Önizleme), abonelik ve kaynak grubu kapsamları gibi özel roller de atayabilirsiniz.

Özel Roller aynı Azure AD dizinine güvenen abonelikler arasında paylaşılabilir. Dizin başına 5.000 özel rol sınırı vardır. (Azure Almanya ve Azure Çin 21Vianet için sınır 2.000 özel rollerdir.) özel roller Azure portal, Azure PowerShell, Azure clı veya REST API kullanılarak oluşturulabilir.

Özel rol oluşturma adımları

Özel bir rol oluşturmak için temel adımlar aşağıda verilmiştir.

  1. İhtiyaç duyduğunuz izinleri saptayın.

    Özel bir rol oluşturduğunuzda, izinlerinizi tanımlamak için kullanılabilen eylemleri bilmeniz gerekir. Genellikle, mevcut yerleşik bir rolle başlayıp gereksinimlerinize göre değiştirirsiniz. Eylemleri Actions NotActions Rol tanımınınveya özelliklerine ekleyeceksiniz. Veri eylemleriniz varsa, bunları DataActions veya NotDataActions özelliklerine eklersiniz.

    Daha fazla bilgi için, ihtiyacınız olan Izinleri nasıl belirleyebirsonraki bölüme bakın.

  2. Özel rolü nasıl oluşturmak istediğinize karar verin.

    Azure portal, Azure PowerShell, Azure clıveya REST APIkullanarak özel roller oluşturabilirsiniz.

  3. Özel rolü oluşturun.

    En kolay yöntem Azure portal kullanmaktır. Azure portal kullanarak özel rol oluşturma adımları için, bkz. Azure Portal kullanarak Azure özel rolleri oluşturma veya güncelleştirme.

  4. Özel rolü test edin.

    Özel rolünüzü aldıktan sonra, beklendiği gibi çalıştığını doğrulamak için test etmeniz gerekir. Daha sonra ayarlamalar yapmanız gerekiyorsa, özel rolü güncelleştirebilirsiniz.

İhtiyaç duyduğunuz izinleri belirleme

Azure 'da, özel rolünüzün potansiyel olarak içerebileceği binlerce izin vardır. Özel rolünüze eklemek istediğiniz izinleri belirlemenize yardımcı olabilecek bazı yöntemler şunlardır:

  • Mevcut yerleşik rollerebakın.

    Mevcut bir rolü değiştirmek veya birden çok rolde kullanılan izinleri birleştirmek isteyebilirsiniz.

  • Erişim vermek istediğiniz Azure hizmetlerini listeleyin.

  • Azure hizmetleriyle eşlenen kaynak sağlayıcılarınıbelirleme.

    Azure Hizmetleri, kaynak sağlayıcılarıaracılığıyla işlevlerini ve izinlerini kullanıma sunar. Örneğin, Microsoft. COMPUTE kaynak sağlayıcısı, sanal makine kaynaklarını ve Microsoft. faturalandırma kaynak sağlayıcısını, abonelik ve faturalandırma kaynakları sağlar. Kaynak sağlayıcılarının bilinmesi, özel rolünüzün gereksinim duyduğunuz izinleri daraltmanıza ve belirlemenize yardımcı olabilir.

    Azure portal kullanarak özel bir rol oluşturduğunuzda, anahtar sözcükleri arayarak kaynak sağlayıcılarını da belirleyebilirsiniz. Bu arama işlevi, Azure Portal kullanarak Azure özel rolleri oluşturma veya güncelleştirmekonularında açıklanmaktadır.

    Kaynak sağlayıcısı ile izin bölmesi ekleme

  • Dahil etmek istediğiniz izinleri bulmak için kullanılabilir izinleri arayın.

    Azure portal kullanarak özel bir rol oluşturduğunuzda, anahtar sözcüğe göre izinler araması yapabilirsiniz. Örneğin, sanal makine veya faturalandırma izinleri için arama yapabilirsiniz. Ayrıca tüm izinleri bir CSV dosyası olarak indirebilir ve ardından bu dosyada arama yapabilirsiniz. Bu arama işlevi, Azure Portal kullanarak Azure özel rolleri oluşturma veya güncelleştirmekonularında açıklanmaktadır.

    İzin listesi ekle

Özel rol örneği

aşağıda, bir özel rolün JSON biçiminde Azure PowerShell kullanılarak gösterildiği gibi göründüğünü gösterilmektedir. Bu özel rol, sanal makineleri izlemek ve yeniden başlatmak için kullanılabilir.

{
  "Name": "Virtual Machine Operator",
  "Id": "88888888-8888-8888-8888-888888888888",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}",
    "/providers/Microsoft.Management/managementGroups/{groupId1}"
  ]
}

Aşağıda, Azure CLı kullanılarak gösterilen özel rol gösterilmektedir.

[
  {
    "assignableScopes": [
      "/subscriptions/{subscriptionId1}",
      "/subscriptions/{subscriptionId2}",
      "/providers/Microsoft.Management/managementGroups/{groupId1}"
    ],
    "description": "Can monitor and restart virtual machines.",
    "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/88888888-8888-8888-8888-888888888888",
    "name": "88888888-8888-8888-8888-888888888888",
    "permissions": [
      {
        "actions": [
          "Microsoft.Storage/*/read",
          "Microsoft.Network/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action",
          "Microsoft.Authorization/*/read",
          "Microsoft.ResourceHealth/availabilityStatuses/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Insights/diagnosticSettings/*",
          "Microsoft.Support/*"
        ],
        "dataActions": [],
        "notActions": [],
        "notDataActions": []
      }
    ],
    "roleName": "Virtual Machine Operator",
    "roleType": "CustomRole",
    "type": "Microsoft.Authorization/roleDefinitions"
  }
]

Özel rol özellikleri

Aşağıdaki tabloda özel rol özelliklerinin ne anlama geldiğini açıklanmaktadır.

Özellik Gerekli Tür Açıklama
Name
roleName
Evet Dize Özel rolün görünen adı. Rol tanımı bir yönetim grubu veya abonelik düzeyi kaynağı olsa da, aynı Azure AD dizinini paylaşan birden çok abonelikte rol tanımı kullanılabilir. Bu görünen ad, Azure AD dizininin kapsamında benzersiz olmalıdır. Harfler, rakamlar, boşluklar ve özel karakterler içerebilir. En fazla karakter sayısı 128 ' dir.
Id
name
Evet Dize Özel rolün benzersiz KIMLIĞI. Azure PowerShell ve Azure clı için bu kimlik, yeni bir rol oluşturduğunuzda otomatik olarak oluşturulur.
IsCustom
roleType
Evet Dize Bunun özel bir rol olup olmadığını gösterir. trueÖzel roller için veya olarak ayarlayın CustomRole . falseYerleşik roller için veya olarak ayarlayın BuiltInRole .
Description
description
Evet Dize Özel rolün açıklaması. Harfler, rakamlar, boşluklar ve özel karakterler içerebilir. En fazla karakter sayısı 1024 ' dir.
Actions
actions
Yes String [] Rolün gerçekleştirilmesine izin verdiği denetim düzlemi eylemlerini belirten dizeler dizisi. Daha fazla bilgi için bkz. Eylemler.
NotActions
notActions
No String [] İzin verilen ' dan dışlanan denetim düzlemi eylemlerini belirten dizeler dizisi Actions . Daha fazla bilgi için bkz. NotActions.
DataActions
dataActions
No String [] Rolün bu nesne içindeki verilerinize gerçekleştirilmesine izin verdiği veri düzlemi eylemlerini belirten dizeler dizisi. İle özel bir rol oluşturursanız DataActions , bu rol yönetim grubu kapsamında atanamaz. Daha fazla bilgi için bkz. Dataactions.
NotDataActions
notDataActions
No String [] İzin verilen ' dan dışlanan veri düzlemi eylemlerini belirten dizeler dizisi DataActions . Daha fazla bilgi için bkz. Notdataactions.
AssignableScopes
assignableScopes
Yes String [] Özel rolün atama için kullanılabilir olduğu kapsamları belirten dizeler dizisi. Özel bir rol içinde yalnızca bir yönetim grubu tanımlayabilirsiniz AssignableScopes . ' Ye bir yönetim grubu eklemek AssignableScopes Şu anda önizlemededir. Daha fazla bilgi için bkz. Astifblescopes.

İzin dizeleri büyük/küçük harfe duyarlıdır. Özel rollerinizi oluşturduğunuzda, bu kural Azure Kaynak sağlayıcısı işlemlerindeizinler için gördüğünüz servis talebiyle eşleşmedir.

Joker karakter izinleri

Actions, NotActions , DataActions ve NotDataActions * izinleri tanımlamak için joker karakterleri () destekler. Bir joker karakter ( * ) sağladığınız eylem dizesiyle eşleşen her şeye bir izni genişletir. Örneğin, Azure maliyet yönetimi ve dışarı aktarma ile ilgili tüm izinleri eklemek istediğinizi varsayalım. Bu eylem dizelerinin tümünü ekleyebilirsiniz:

Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action

Bu dizelerin tümünü eklemek yerine yalnızca bir joker karakter dizesi ekleyebilirsiniz. Örneğin, aşağıdaki joker karakter dizesi önceki beş dizeye eşdeğerdir. Bu Ayrıca, eklenebilir olabilecek, gelecekteki tüm dışarı aktarma izinlerini de içerir.

Microsoft.CostManagement/exports/*

Who özel bir rol oluşturabilir, silebilir, güncelleştirebilir veya görüntüleyebilir

Yerleşik rollerde olduğu gibi, AssignableScopes özelliği rolün atama için kullanılabilir olduğu kapsamları belirtir. AssignableScopesÖzel bir rol için özelliği ayrıca, özel rolü kimlerin oluşturerişebileceğini, silediğini, güncelleştirediğini veya görüntüleyemeyeceğini de denetler.

Görev Eylem Açıklama
Özel bir rol oluşturma/silme Microsoft.Authorization/ roleDefinitions/write Tüm özel rol üzerinde bu eyleme verilen kullanıcılar, bu AssignableScopes kapsamlarda kullanılmak üzere özel roller oluşturabilir (veya silebilir). Örneğin, sahipler ve Kullanıcı erişimi yönetim gruplarının, aboneliklerinin ve kaynak gruplarının yöneticileri.
Özel rolü güncelleştirme Microsoft.Authorization/ roleDefinitions/write Tüm özel rol üzerinde bu eyleme verilen kullanıcılar, AssignableScopes Bu kapsamlardaki özel rolleri güncelleştirebilir. Örneğin, sahipler ve Kullanıcı erişimi yönetim gruplarının, aboneliklerinin ve kaynak gruplarının yöneticileri.
Özel bir rol görüntüleme Microsoft.Authorization/ roleDefinitions/read Bu eyleme bir kapsamda verilen kullanıcılar, bu kapsamda atama için kullanılabilen özel rolleri görüntüleyebilir. Tüm yerleşik roller, özel rollerin atama için kullanılabilir olmasına olanak tanır.

Özel rol limitleri

Aşağıdaki listede özel roller için sınırlar açıklanmaktadır.

  • Her bir dizin en fazla 5000 özel role sahip olabilir.
  • Azure Almanya ve Azure Çin 21Vianet, her bir dizin için en fazla 2000 özel rol içerebilir.
  • AssignableScopesKök kapsamına ( "/" ) ayarlayamazsınız.
  • İçinde joker karakterler ( * ) kullanamazsınız AssignableScopes . Bu joker karakter kısıtlaması, bir kullanıcının rol tanımını güncelleştirerek bir kapsama erişim elde edemiyor olmasını sağlamaya yardımcı olur.
  • Özel bir rol içinde yalnızca bir yönetim grubu tanımlayabilirsiniz AssignableScopes . ' Ye bir yönetim grubu eklemek AssignableScopes Şu anda önizlemededir.
  • Bir eylem dizesinde yalnızca bir joker karakter olabilir.
  • DataActionsYönetim grubu kapsamında özel roller atanamaz.
  • Azure Resource Manager, rol tanımının atanabilir kapsamındaki yönetim grubunun varlığını doğrulamaz.

Özel roller ve yönetim grupları hakkında daha fazla bilgi için bkz. Azure Yönetim grupları nelerdir?.

Giriş ve çıkış biçimleri

Komut satırını kullanarak özel bir rol oluşturmak için genellikle JSON kullanarak özel rol için istediğiniz özellikleri belirtin. Kullandığınız araçlara bağlı olarak, giriş ve çıkış biçimleri biraz farklı görünecektir. Bu bölümde, araca bağlı olarak giriş ve çıkış biçimleri listelenmektedir.

Azure PowerShell

Azure PowerShell kullanarak özel bir rol oluşturmak için aşağıdaki girişi sağlamanız gerekir.

{
  "Name": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Azure PowerShell kullanarak özel bir rolü güncelleştirmek için aşağıdaki girişi sağlamanız gerekir. IdÖzelliğin eklendiğini unutmayın.

{
  "Name": "",
  "Id": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

aşağıda, Azure PowerShell ve convertto-Json komutunu kullanarak özel bir rol listelüünüzde çıktının bir örneği gösterilmektedir.

{
  "Name": "",
  "Id": "",
  "IsCustom": true,
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Azure CLI

Azure CLı kullanarak özel bir rol oluşturmak veya güncelleştirmek için aşağıdaki girişi sağlamanız gerekir. Azure PowerShell kullanarak özel bir rol oluştururken bu biçim aynı biçimdedir.

{
  "Name": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Aşağıda, Azure CLı kullanarak özel bir rol listelüünüzde çıktının bir örneği gösterilmektedir.

[
  {
    "assignableScopes": [],
    "description": "",
    "id": "",
    "name": "",
    "permissions": [
      {
        "actions": [],
        "dataActions": [],
        "notActions": [],
        "notDataActions": []
      }
    ],
    "roleName": "",
    "roleType": "CustomRole",
    "type": "Microsoft.Authorization/roleDefinitions"
  }
]

REST API

REST API kullanarak özel bir rol oluşturmak veya güncelleştirmek için aşağıdaki girişi sağlamanız gerekir. Bu biçim, Azure portal kullanarak özel bir rol oluşturduğunuzda oluşturulan biçimdir.

{
  "properties": {
    "roleName": "",
    "description": "",
    "assignableScopes": [],
    "permissions": [
      {
        "actions": [],
        "notActions": [],
        "dataActions": [],
        "notDataActions": []
      }
    ]
  }
}

Aşağıda, REST API kullanarak özel bir rol listelüünüzde çıktının bir örneği gösterilmektedir.

{
    "properties": {
        "roleName": "",
        "type": "CustomRole",
        "description": "",
        "assignableScopes": [],
        "permissions": [
            {
                "actions": [],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ],
        "createdOn": "",
        "updatedOn": "",
        "createdBy": "",
        "updatedBy": ""
    },
    "id": "",
    "type": "Microsoft.Authorization/roleDefinitions",
    "name": ""
}

Sonraki adımlar