Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure yerleşik rolleri kuruluşunuzun ihtiyaçlarını karşılamıyorsa kendi özel rollerinizi oluşturabilirsiniz. Yerleşik rollerde olduğu gibi, yönetim grubu, abonelik ve kaynak grubu kapsamlarında kullanıcılara, gruplara ve hizmet sorumlularına özel roller atayabilirsiniz.
Özel roller, aynı Microsoft Entra kiracısına güvenen abonelikler arasında paylaşılabilir. Kiracı başına 5.000 özel rol sınırı vardır. (21Vianet tarafından sağlanan Microsoft Azure için sınır 2.000 özel roldür.) Özel roller Azure portalı, Azure PowerShell, Azure CLI veya REST API kullanılarak oluşturulabilir.
Özel rol oluşturma adımları
Özel rol oluşturmanın temel adımları aşağıdadır.
İhtiyacınız olan izinleri belirleyin.
Özel bir rol oluşturduğunuzda, izinlerinizi tanımlamak için kullanılabilecek eylemleri bilmeniz gerekir. Normalde, mevcut bir yerleşik rolle başlarsınız ve sonra bunları ihtiyaçlarınıza göre değiştirirsiniz. Eylemleri
ActionsNotActionsveya özelliklerine eklersiniz. Veri eylemleriniz varsa, bunlarıDataActionsveyaNotDataActionsözelliklerine eklersiniz.Daha fazla bilgi için, ihtiyacınız olan izinleri belirleme başlıklı sonraki bölüme bakın.
Özel rolü nasıl oluşturmak istediğinize karar verin.
Azure portalını, Azure PowerShell'i, Azure CLI'yı veya REST API'yi kullanarak özel roller oluşturabilirsiniz.
Özel rolü oluşturun.
Bunun en kolay yolu Azure portalını kullanmaktır. Azure portalını kullanarak özel rol oluşturma adımları için bkz. Azure portalını kullanarak Azure özel rolleri oluşturma veya güncelleştirme.
Özel rolü test edin.
Özel rolünüz olduktan sonra, beklediğiniz gibi çalıştığını doğrulamak için bunu test edin. Daha sonra ayarlamalar yapmanız gerekirse özel rolü güncelleştirebilirsiniz.
İhtiyacınız olan izinleri belirleme
Azure,özel rolünüzde içerebileceğiniz binlerce izne sahiptir. Özel rolünüz için eklemek istediğiniz izinleri belirlemenize yardımcı olabilecek bazı yöntemler şunlardır:
Mevcut yerleşik rollere bakın.
Var olan 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şleyen kaynak sağlayıcılarını belirleyin.
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ı, Microsoft.Billing kaynak sağlayıcısı ise abonelik ve faturalama kaynaklarını sağlar. Kaynak sağlayıcılarını bilmek, özel rolünüz için gereken izinleri daraltmanıza ve belirlemenize yardımcı olabilir.
Azure portalını 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ını kullanarak Azure özel rolleri oluşturma veya güncelleştirme başlığında açıklanmıştır.
Eklemek istediğiniz izinleri bulmak için kullanılabilir izinleri arayın.
Azure portalını kullanarak özel bir rol oluşturduğunuzda, anahtar sözcük kullanarak izinleri arayabilirsiniz. Örneğin, sanal makine veya faturalama izinlerini arayabilirsiniz. Ayrıca tüm izinleri CSV dosyası olarak indirip bu dosyada arama yapabilirsiniz. Bu arama işlevi, Azure portalını kullanarak Azure özel rolleri oluşturma veya güncelleştirme başlığında açıklanmıştır.
Özel rol örneği
Aşağıda, JSON biçiminde Azure PowerShell kullanılarak görüntülenen özel rolün nasıl göründüğü 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 CLI kullanılarak görüntülenen aynı ö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 anlamı açıklanmaktadır.
| Özellik | Zorunlu | Type | Açıklama |
|---|---|---|---|
NameroleName |
Yes | String | Özel rolün görünen adı. Bir rol tanımı, yönetim grubu veya abonelik düzeyi kaynağı olmasına rağmen, aynı Microsoft Entra kiracısını paylaşan birden fazla abonelikte kullanılabilir. Microsoft Entra kiracısının alanında bu görünen ad benzersiz olmalıdır. Harfler, sayılar, boşluklar ve özel karakterler içerebilir. Önerilen en fazla: 256 karakter. En fazla: 512 karakter. |
Idname |
Yes | String | Özel rolün benzersiz kimliği. Azure PowerShell ve Azure CLI için, yeni bir rol oluşturduğunuzda bu kimlik otomatik olarak oluşturulur. |
IsCustomroleType |
Yes | String | Bunun özel bir rol olup olmadığını gösterir. Özel roller için true veya CustomRole olarak ayarlayın.
false veya BuiltInRole olarak yerleşik roller için ayarlayın. |
Descriptiondescription |
Yes | String | Özel rolün açıklaması. Harfler, sayılar, boşluklar ve özel karakterler içerebilir. Önerilen en fazla: 512 karakter. En fazla: 2.048 karakter. |
Actionsactions |
Yes | String[] | Rolün gerçekleştirilmeye izin verdiği denetim düzlemi eylemlerini belirten dize dizisi. Daha fazla bilgi için bkz. Eylemler. |
NotActionsnotActions |
Hayır | String[] | İzin verilen Actionsdışında tutulan denetim düzlemi eylemlerini belirten dize dizisi. Daha fazla bilgi için bkz. NotActions. |
DataActionsdataActions |
Hayır | String[] | Rolün bu nesnedeki verilerinize gerçekleştirilmesini sağladığı veri düzlemi eylemlerini belirten dize dizisi. ile DataActionsözel bir rol oluşturursanız, bu rol yönetim grubu kapsamında atanamaz. Daha fazla bilgi için bkz. DataActions. |
NotDataActionsnotDataActions |
Hayır | String[] | İzin verilen DataActionsdışında tutulan veri düzlemi eylemlerini belirten dize dizisi. Daha fazla bilgi için bkz . NotDataActions. |
AssignableScopesassignableScopes |
Yes | String[] | Özel rolün atama için kullanılabilir olduğu kapsamları belirten dize dizisi.
AssignableScopes en fazla sayısı 2.000'dir. Daha fazla bilgi için bkz . AssignableScopes. |
İzin dizeleri büyük/küçük harfe duyarlı değildir. Özel rollerinizi oluşturduğunuzda, kural Azure kaynak sağlayıcısı işlemlerinde izinler için gördüğünüz durumla eşleşmelidir.
Joker karakter izinleri
Actions, NotActions, DataActionsve NotDataActions izinleri tanımlamak için joker karakterleri (*) destekler. Joker karakter (*), bir izni, sağladığınız eylem dizesiyle eşleşen her şeye genişletir. Örneğin, Microsoft Maliyet Yönetimi ve dışarı aktarmalarla 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 joker karakter dizesi ekleyebilirsiniz. Örneğin, aşağıdaki joker karakter dizesi önceki beş dizeye eşdeğerdir. Bu, gelecekte eklenebilecek tüm dışarı aktarma izinlerini de içerir.
Microsoft.CostManagement/exports/*
Note
Actions ve DataActions'yi joker karakteri (*) yerine açıkça belirtmeniz önerilir. Gelecekte Actions veya DataActions ile verilen ek erişim ve izinler, joker karakterin kullanılmasıyla istenmeyen davranışlara yol açabilir.
Özel rol oluşturabilen, silebilen, güncelleştirebilen veya görüntüleyebilen kişiler
Yerleşik roller gibi özelliği de AssignableScopes rolün atama için kullanılabilir olduğu kapsamları belirtir. Özel rolün AssignableScopes özelliği, özel rolü kimlerin oluşturabileceğini, silebileceğini, güncelleştirebileceğini veya görüntüleyebileceğini de denetler.
| Görev | Eylem | Açıklama |
|---|---|---|
| Özel rol oluşturma/silme | Microsoft.Authorization/ roleDefinitions/write |
Özel rolün tümlerinde AssignableScopes bu eyleme izin verilen kullanıcılar, bu kapsamlarda kullanmak üzere özel roller oluşturabilir (veya silebilir). Örneğin, yönetim gruplarının, aboneliklerin ve kaynak gruplarının Sahipleri ve Kullanıcı Erişimi Yöneticileri . |
| Özel rolü güncelleştirme | Microsoft.Authorization/ roleDefinitions/write |
Özel rolün tüm AssignableScopes'lerinde bu eylemin verildiği kullanıcılar, bu kapsamlar içinde özel rolleri güncelleyebilir. Örneğin, yönetim gruplarının, aboneliklerin ve kaynak gruplarının Sahipleri ve Kullanıcı Erişimi Yöneticileri . |
| Özel rol görüntüleme | Microsoft.Authorization/ roleDefinitions/read |
Bu eylemin bir kapsamda verildiği kullanıcılar, o 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ını sağlar. |
Note
Bir rol yeniden adlandırılsa bile rol kimliği değişmez. Rol atamalarınızı oluşturmak için betikler veya otomasyon kullanıyorsanız, rol adı yerine benzersiz rol kimliğini kullanmak en iyi yöntemdir. Bu nedenle, bir rol yeniden adlandırılırsa betiklerinizin çalışma olasılığı daha yüksektir.
Özel rolü silmek için rol atamalarını bulma
Özel rolü silebilmeniz için önce özel rolü kullanan rol atamalarını kaldırmanız gerekir. Rol atamalarıyla özel bir rolü silmeye çalışırsanız şu iletiyi alırsınız: There are existing role assignments referencing role (code: RoleDefinitionHasAssignments).
Özel bir rolü silmeden önce rol atamalarını bulmanıza yardımcı olacak adımlar şunlardır:
- Özel rol tanımını listeleyin.
- AssignableScopes bölümünde yönetim gruplarını, abonelikleri ve kaynak gruplarını alın.
-
AssignableScopesüzerinde yineleyin ve rol atamalarını listeleyin. - Özel rolü kullanan rol atamalarını kaldırın.
- Microsoft Entra Privileged Identity Management kullanıyorsanız, uygun özel rol atamalarını kaldırın.
- Özel rolü silin.
Kullanılmayan özel rolleri bulma hakkında bilgi için bkz. Belirti - Başka rol tanımı oluşturulamıyor.
Özel rol sınırları
Aşağıdaki listede özel rollerin sınırları açıklanmaktadır.
- Her kiracıda en fazla 5000 özel rol olabilir.
- 21Vianet tarafından sağlanan Microsoft Azure her kiracı için en fazla 2000 özel rol içerebilir.
-
AssignableScopeskök kapsama ("/") ayarlayamazsınız. -
*iç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 etme olasılığına sahip olmamasını sağlamaya yardımcı olur. - Eylem dizesinde yalnızca bir joker karaktere sahip olabilirsiniz.
- Özel bir rolde
AssignableScopesyalnızca bir yönetim grubu tanımlayabilirsiniz. - Azure Resource Manager, rol tanımının
AssignableScopesiçinde yönetim grubunun varlığını doğrulamaz. -
DataActionsile özel roller yönetim grubu kapsamında atanamaz. -
DataActionsileAssignableScopesiçinde bir yönetim grubu ve özel bir rol oluşturabilirsiniz. Özel rolü yönetim grubu kapsamının kendisine atayamazsınız; ancak, özel rolü yönetim grubu içindeki aboneliklerin kapsamında atayabilirsiniz. Bu, her abonelik için ayrı bir özel rol oluşturmak yerine birden çok abonelikte atanması gereken tek bir özel rolDataActionsoluşturmanız gerekiyorsa yararlı olabilir.
Özel roller ve yönetim grupları hakkında daha fazla bilgi için bkz. Azure yönetim grupları nedir?
Giriş ve çıkış biçimleri
Komut satırını kullanarak özel rol oluşturmak için genellikle JSON kullanarak özel rol için istediğiniz özellikleri belirtirsiniz. Kullandığınız araçlara bağlı olarak, giriş ve çıkış biçimleri biraz farklı görünür. Bu bölümde, araca bağlı olarak giriş ve çıkış biçimleri listelenir.
Azure PowerShell
Azure PowerShell kullanarak özel 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. özelliğinin Id eklendiğini unutmayın.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Aşağıda, Azure PowerShell'i ve ConvertTo-Json komutunu kullanarak özel bir rol listelediğiniz çıktının bir örneği gösterilmektedir.
{
"Name": "",
"Id": "",
"IsCustom": true,
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Azure CLI
Azure CLI kullanarak özel rol oluşturmak veya güncelleştirmek için aşağıdaki girişleri sağlamanız gerekir. Bu biçim, Azure PowerShell kullanarak özel bir rol oluşturduğunuzda aynı biçimdir.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Aşağıda, Azure CLI kullanarak özel bir rol listelediğiniz çı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 rol oluşturmak veya güncelleştirmek için aşağıdaki girişi sağlamanız gerekir. Bu biçim, Azure portalını kullanarak özel bir rol oluşturduğunuzda oluşturulan biçimle aynıdır.
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Aşağıda, REST API kullanarak özel bir rol listelediğiniz çı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": ""
}