Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.
Kondisi ini memungkinkan delegasi untuk hanya menambahkan atau menghapus penetapan peran untuk peran Kontributor Cadangan atau Pembaca Cadangan. Selain itu, delegasi hanya dapat menetapkan peran ini ke prinsipal jenis pengguna atau grup.
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.
(
(
!(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'}
)
)
Berikut adalah cara menambahkan kondisi ini menggunakan Azure PowerShell.
$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
Contoh: Membatasi peran dan grup tertentu
Kondisi ini memungkinkan delegasi untuk hanya menambahkan atau menghapus penetapan peran untuk peran Kontributor Cadangan atau Pembaca Cadangan. Selain itu, delegasi hanya dapat menetapkan peran ini ke grup tertentu bernama Marketing (28c35fea-2099-4cf5-8ad9-473547bc9423) atau Sales (86951b8b-723a-407b-a74a-1bca3f0c95d0).
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.
(
(
!(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}
)
)
Berikut adalah cara menambahkan kondisi ini menggunakan Azure PowerShell.
$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
Contoh: Membatasi manajemen komputer virtual
Kondisi ini memungkinkan delegasi untuk hanya menambahkan atau menghapus penetapan peran untuk peran Masuk Administrator Komputer Virtual atau Login Pengguna Komputer Virtual. Selain itu, delegasi hanya dapat menetapkan peran ini ke pengguna tertentu bernama Dara (ea585310-c95c-4a68-af22-49af4363bbb1).
Kondisi ini berguna ketika Anda ingin mengizinkan delegasi untuk menetapkan peran masuk komputer virtual untuk diri mereka sendiri untuk komputer virtual yang baru saja mereka buat.
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.
(
(
!(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}
)
)
Berikut adalah cara menambahkan kondisi ini menggunakan Azure PowerShell.
$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
Contoh: Membatasi manajemen kluster AKS
Kondisi ini memungkinkan delegasi untuk hanya menambahkan atau menghapus penetapan peran untuk Admin RBAC Azure Kubernetes Service, Admin Kluster RBAC Azure Kubernetes Service, Pembaca RBAC Azure Kubernetes Service, atau peran Penulis RBAC Azure Kubernetes Service. Selain itu, delegasi hanya dapat menetapkan peran ini ke pengguna tertentu bernama Dara (ea585310-c95c-4a68-af22-49af4363bbb1).
Kondisi ini berguna ketika Anda ingin mengizinkan delegasi untuk menetapkan peran otorisasi sarana data kluster Azure Kubernetes Service (AKS) untuk diri mereka sendiri untuk kluster yang baru saja mereka buat.
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.
(
(
!(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}
)
)
Berikut adalah cara menambahkan kondisi ini menggunakan Azure PowerShell.
$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
Contoh: Membatasi manajemen ACR
Kondisi ini memungkinkan delegasi untuk hanya menambahkan atau menghapus penetapan peran untuk peran AcrPull . Selain itu, delegasi hanya dapat menetapkan peran ini kepada prinsipal perwakilan layanan jenis.
Kondisi ini berguna ketika Anda ingin mengizinkan pengembang menetapkan peran AcrPull ke identitas terkelola itu sendiri sehingga dapat menarik gambar dari Azure Container Registry (ACR).
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.
(
(
!(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'}
)
)
Berikut adalah cara menambahkan kondisi ini menggunakan Azure PowerShell.
$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
Contoh: Batasi penambahan penetapan peran
Kondisi ini memungkinkan delegasi untuk hanya menambahkan penetapan peran untuk peran Kontributor Cadangan atau Pembaca Cadangan. Delegasi dapat menghapus penetapan peran apa pun.
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Contoh: Izinkan sebagian besar peran, tetapi jangan izinkan orang lain untuk menetapkan peran
Kondisi ini memungkinkan delegasi untuk menambahkan atau menghapus penetapan peran untuk semua peran kecuali peran Pemilik, Administrator Kontrol Akses Berbasis Peran, dan Administrator Akses Pengguna.
Kondisi ini berguna ketika Anda ingin mengizinkan delegasi untuk menetapkan sebagian besar peran, tetapi tidak mengizinkan delegasi untuk memungkinkan orang lain menetapkan peran.
Catatan
Kondisi ini harus digunakan dengan hati-hati. Jika peran bawaan atau kustom baru kemudian ditambahkan yang menyertakan izin untuk membuat penetapan peran, kondisi ini tidak akan mencegah delegasi menetapkan peran. Kondisi harus diperbarui untuk menyertakan peran bawaan atau kustom baru.
Anda harus menambahkan kondisi ini ke penetapan peran apa pun untuk delegasi yang menyertakan tindakan berikut.
Berikut adalah pengaturan untuk menambahkan kondisi ini menggunakan portal Azure dan editor kondisi.
Untuk menargetkan tindakan tambahkan dan hapus penetapan peran, perhatikan bahwa Anda harus menambahkan dua kondisi. Anda harus menambahkan dua kondisi karena sumber atribut berbeda untuk setiap tindakan. Jika Anda mencoba menargetkan kedua tindakan dalam kondisi yang sama, Anda tidak akan dapat menambahkan ekspresi. Untuk informasi selengkapnya, lihat Gejala - Tidak ada opsi kesalahan yang tersedia.