Bu makalede, Azure rol atama yönetiminin belirli koşullar altında diğer kullanıcılara nasıl devredileceğine ilişkin örnekler listelenmektedir.
Önkoşullar
Rol atama koşullarını ekleme veya düzenleme önkoşulları hakkında bilgi için bkz . Koşullar önkoşulları.
Örnek: Rolleri kısıtlama
Bu koşul, temsilcinin yalnızca Yedekleme Katkıda Bulunanı veya Yedekleme Okuyucusu rolleri için rol atamaları eklemesine veya kaldırmasına olanak tanır.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için Belirti - Kullanılabilir seçenek yok hatası'na bakın.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: Rolleri ve sorumlu türlerini kısıtlama
Bu koşul, temsilcinin yalnızca Yedekleme Katkıda Bulunanı veya Yedekleme Okuyucusu rolleri için rol atamaları eklemesine veya kaldırmasına olanak tanır. Ayrıca, temsilci bu rolleri yalnızca kullanıcı veya grup türündeki sorumlulara atayabilir.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için Belirti - Kullanılabilir seçenek yok hatası bölümüne bakın.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: Rolleri ve belirli grupları kısıtlama
Bu koşul, temsilcinin yalnızca Yedekleme Katkıda Bulunanı veya Yedekleme Okuyucusu rolleri için rol atamaları eklemesine veya kaldırmasına olanak tanır. Ayrıca temsilci bu rolleri yalnızca Marketing (28c35fea-2099-4cf5-8ad9-473547bc9423) veya Sales (86951b8b-723a-407b-a74a-1bca3f0c95d0) adlı belirli gruplara atayabilir.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için Belirti - Kullanılabilir seçenek yok hatası bölümüne bakın.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: Sanal makine yönetimini kısıtlama
Bu koşul, temsilcinin yalnızca Sanal Makine Yöneticisi Oturum Açma veya Sanal Makine Kullanıcısı Oturum Açma rolleri için rol atamaları eklemesine veya kaldırmasına olanak tanır. Ayrıca, temsilci bu rolleri yalnızca Dara adlı belirli bir kullanıcıya atayabilir (ea585310-c95c-4a68-af22-49af4363bbb1).
Bu koşul, temsilcinin yeni oluşturduğu bir sanal makine için kendilerine sanal makine oturum açma rolü atamasına izin vermek istediğinizde kullanışlıdır.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için bkz: Seçenek yok hatası belirtisi.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: AKS küme yönetimini kısıtlama
Bu koşul, temsilcinin yalnızca Azure Kubernetes Service RBAC Yöneticisi, Azure Kubernetes Service RBACKüme Yöneticisi, Azure Kubernetes Service RBACOkuyucusu veya Azure KubernetesService RBAC Yazıcı rolleri için rol atamaları eklemesine veya kaldırmasına olanak tanır. Ayrıca, temsilci bu rolleri yalnızca Dara adlı belirli bir kullanıcıya atayabilir (ea585310-c95c-4a68-af22-49af4363bbb1).
Bu koşul, temsilcinin yeni oluşturdukları bir küme için kendilerine Azure Kubernetes Service (AKS) kümesi veri düzlemi yetkilendirme rolleri atamasına izin vermek istediğinizde kullanışlıdır.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için bkz . Belirti - Kullanılabilir seçenek yok hatası.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: ACR yönetimini kısıtlama
Bu koşul, temsilcinin yalnızca AcrPull rolü için rol atamaları eklemesine veya kaldırmasına olanak tanır. Ayrıca, temsilci bu rolleri yalnızca hizmet sorumlusu türündeki sorumlulara atayabilir.
Bu koşul, bir geliştiricinin Azure Container Registry'den (ACR) görüntü çekebilmesi için AcrPull rolünü yönetilen bir kimliğe atamasına izin vermek istediğinizde kullanışlıdır.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Koşul |
Ayarlar |
Şablon |
Rol ve ana türleri kısıtlama |
Roller |
AcrPull |
Asıl türler |
Hizmet sorumluları |
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için Belirti - Kullanılabilir seçenek yok hatası'na bakın.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: Rol atamaları eklemeyi kısıtla
Bu koşul, temsilcinin yalnızca Yedekleme Katkıda Bulunanı veya Yedekleme Okuyucusu rolleri için rol atamaları eklemesine olanak tanır. Temsilci tüm rol atamalarını kaldırabilir.
Bu koşulu, temsilcinin aşağıdaki eylemi içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Örnek: Çoğu role izin ver, ancak başkalarının rol atamasına izin verme
Bu koşul, bir temsilcinin Sahip, Rol Tabanlı Erişim Denetimi Yöneticisi ve Kullanıcı Erişimi Yöneticisi rolleri dışında tüm roller için rol atamaları eklemesine veya kaldırmasına olanak tanır.
Bu koşul, bir temsilcinin çoğu rolü atamasına izin vermek istediğinizde, ancak temsilcinin başkalarının rol atamasına izin vermemesini istediğinizde kullanışlıdır.
Uyarı
Bu koşul dikkatli kullanılmalıdır. Daha sonra rol atamaları oluşturma iznini içeren yeni bir yerleşik veya özel rol eklenirse, bu koşul temsilcinin rol atamasını engellemez. Koşulun yeni yerleşik veya özel rolü içerecek şekilde güncelleştirilmiş olması gerekir.
Bu koşulu, temsilcinin aşağıdaki eylemleri içeren rol atamalarına eklemeniz gerekir.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure portalını ve koşul şablonunu kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Azure portalını ve koşul düzenleyicisini kullanarak bu koşulu eklemeye ilişkin ayarlar aşağıdadır.
Rol ataması ekleme ve kaldırma eylemlerini hedeflemek için iki koşul eklemeniz gerektiğine dikkat edin. Öznitelik kaynağı her eylem için farklı olduğundan iki koşul eklemeniz gerekir. Her iki eylemi de aynı koşulda hedeflemeye çalışırsanız, ifade ekleyemezsiniz. Daha fazla bilgi için Belirti - Kullanılabilir seçenek yok hatası kısmına bakın.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9}
)
)
Azure PowerShell kullanarak bu koşulu ekleme burada açıklanmaktadır.
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Sonraki adımlar