Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kontrol akses berbasis peran Azure (Azure RBAC) adalah sistem otorisasi yang Anda gunakan untuk mengelola akses ke sumber daya Azure. Untuk memberikan akses, Anda menetapkan peran kepada pengguna, grup, perwakilan layanan, atau identitas terkelola pada cakupan tertentu. Artikel ini menjelaskan cara menetapkan peran menggunakan REST API.
Prasyarat
Untuk menetapkan peran Azure, Anda harus memiliki:
-
Microsoft.Authorization/roleAssignments/writeizin, seperti Administrator Kontrol Akses Berbasis Peran atau Administrator Akses Pengguna
Anda harus menggunakan versi berikut:
-
2015-07-01atau yang lebih baru untuk menetapkan peran Azure -
2018-09-01-previewatau yang lebih baru untuk menetapkan peran Azure bagi perwakilan layanan baru
Untuk informasi selengkapnya, lihat versi API dari REST API RBAC Azure.
Menetapkan peran Azure
Untuk menetapkan peran, gunakan Penetapan Peran - Buat REST API dan tentukan prinsip keamanan, definisi peran, dan cakupan. Untuk memanggil API ini, Anda harus memiliki akses ke Microsoft.Authorization/roleAssignments/write tindakan, seperti Administrator Kontrol Akses Berbasis Peran.
Gunakan Definisi Peran - Daftar REST API atau lihat Peran bawaan untuk mendapatkan pengidentifikasi untuk definisi peran yang ingin Anda tetapkan.
Gunakan alat GUID untuk menghasilkan pengidentifikasi unik yang akan digunakan untuk pengidentifikasi penetapan peran. Pengidentifikasi memiliki format:
00000000-0000-0000-0000-000000000000Mulailah dengan permintaan dan isi berikut:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01{ "properties": { "roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "principalId": "{principalId}" } }Dalam URI, ganti {scope} dengan ruang lingkup untuk penugasan peran.
Ruang Lingkup Tipe providers/Microsoft.Management/managementGroups/{groupId1}Grup manajemen subscriptions/{subscriptionId1}Langganan subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1Grup sumber daya subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1Sumber daya Dalam contoh sebelumnya, microsoft.web adalah penyedia sumber daya yang merujuk ke instans App Service. Demikian pula, Anda dapat menggunakan penyedia sumber daya lain dan menentukan cakupannya. Untuk mengetahui informasi selengkapnya, lihat Penyedia sumber daya Azure dan jenis serta operasi penyedia sumber daya Azure yang didukung.
Ganti {roleAssignmentId} dengan pengidentifikasi GUID dari penetapan peran.
Dalam isi permintaan, ganti {scope} dengan cakupan yang sama seperti di URI.
Ganti {roleDefinitionId} dengan pengidentifikasi definisi peran.
Ganti {principalId} dengan pengidentifikasi objek pengguna, grup, atau perwakilan layanan yang akan diberi peran.
Permintaan dan isi berikut menetapkan peran Pembaca Cadangan kepada pengguna di cakupan langganan:
PUT https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}"
}
}
Berikut ini menunjukkan contoh output:
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}",
"principalType": "User",
"scope": "/subscriptions/{subscriptionId1}",
"condition": null,
"conditionVersion": null,
"createdOn": "2022-05-06T23:55:23.7679147Z",
"updatedOn": "2022-05-06T23:55:23.7679147Z",
"createdBy": null,
"updatedBy": "{updatedByObjectId1}",
"delegatedManagedIdentityResourceId": null,
"description": null
},
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
"type": "Microsoft.Authorization/roleAssignments",
"name": "{roleAssignmentId1}"
}
Perwakilan layanan baru
Jika Anda membuat perwakilan layanan baru dan segera mencoba menetapkan peran ke perwakilan layanan tersebut, penetapan peran tersebut dapat gagal dalam beberapa kasus. Misalnya, jika Anda membuat identitas terkelola baru lalu mencoba menetapkan peran ke perwakilan layanan tersebut, penetapan peran mungkin gagal. Alasan kegagalan ini kemungkinan adalah penundaan replikasi. Perwakilan layanan dibuat di satu wilayah; namun, penetapan peran mungkin terjadi di wilayah lain yang belum mereplikasi perwakilan layanan.
Untuk mengatasi skenario ini, gunakan Penetapan Peran - Buat REST API dan atur principalType properti ke ServicePrincipal. Anda juga harus mengatur apiVersion ke 2018-09-01-preview atau yang lebih baru.
2022-04-01 adalah versi stabil pertama.
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}",
"principalId": "{principalId}",
"principalType": "ServicePrincipal"
}
}