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.
İ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
ActionsNotActionsRol tanımınınveya özelliklerine ekleyeceksiniz. Veri eylemleriniz varsa, bunlarıDataActionsveyaNotDataActionsözelliklerine eklersiniz.Daha fazla bilgi için, ihtiyacınız olan Izinleri nasıl belirleyebirsonraki bölüme bakın.
Özel rolü nasıl oluşturmak istediğinize karar verin.
Azure portal, Azure PowerShell, Azure clıveya REST APIkullanarak özel roller oluşturabilirsiniz.
Ö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.
Ö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.

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.

Ö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 |
|---|---|---|---|
NameroleName |
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. |
Idname |
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. |
IsCustomroleType |
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 . |
Descriptiondescription |
Evet | Dize | Özel rolün açıklaması. Harfler, rakamlar, boşluklar ve özel karakterler içerebilir. En fazla karakter sayısı 1024 ' dir. |
Actionsactions |
Yes | String [] | Rolün gerçekleştirilmesine izin verdiği denetim düzlemi eylemlerini belirten dizeler dizisi. Daha fazla bilgi için bkz. Eylemler. |
NotActionsnotActions |
No | String [] | İzin verilen ' dan dışlanan denetim düzlemi eylemlerini belirten dizeler dizisi Actions . Daha fazla bilgi için bkz. NotActions. |
DataActionsdataActions |
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. |
NotDataActionsnotDataActions |
No | String [] | İzin verilen ' dan dışlanan veri düzlemi eylemlerini belirten dizeler dizisi DataActions . Daha fazla bilgi için bkz. Notdataactions. |
AssignableScopesassignableScopes |
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ızAssignableScopes. 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 eklemekAssignableScopesŞ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": ""
}