Memahami cakupan untuk Azure RBAC
Cakupan adalah sekumpulan sumber daya tempat akses tersebut berlaku. Ketika Anda menetapkan peran, penting untuk memahami cakupan sehingga Anda dapat memberikan kepala keamanan hanya akses yang benar-benar dibutuhkan. Dengan membatasi peran dan cakupan, Anda membatasi sumber daya yang berisiko jika keamanan utama disusup.
Tingkat cakupan
Di Azure, Anda dapat menentukan sebuah cakupan dalam empat tingkat: grup manajemen, langganan,grup sumber daya, dan sumber daya. Cakupan disusun dalam hubungan induk-turunan. Setiap tingkat hierarki membuat cakupan lebih spesifik. Anda dapat menetapkan peran di salah satu tingkat cakupan ini. Tingkat yang Anda pilih menentukan seberapa luas peran diterapkan. Tingkat yang lebih rendah mewarisi izin peran dari tingkat yang lebih tinggi.
Grup manajemen adalah tingkat cakupan di atas langganan, tetapi grup manajemen mendukung hierarki yang lebih kompleks. Diagram berikut ini memperlihatkan contoh hierarki grup manajemen dan langganan yang bisa Anda tentukan. Untuk informasi selengkapnya tentang grup manajemen, lihat Apa itu grup manajemen Azure?.
Format cakupan
Jika Anda menetapkan peran menggunakan baris perintah, Anda harus menentukan cakupan. Untuk alat baris perintah, cakupan adalah string yang berpotensi panjang yang mengidentifikasi cakupan yang tepat dari penetapan peran. Di portal Microsoft Azure, cakupan ini biasanya terdaftar sebagai ID sumber daya.
Cakupan terdiri dari serangkaian pengidentifikasi yang dipisahkan oleh karakter garis miring (/). Anda dapat menganggap string ini sebagai mengekspresikan hierarki berikut, di mana teks tanpa tempat penampung ({}
) adalah pengidentifikasi tetap:
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
{subscriptionId}
adalah ID dari langganan yang akan digunakan (GUID).{resourceGroupName}
adalah nama grup sumber daya yang berisi.{providerName}
adalah nama penyedia sumber daya yang menangani sumber daya, kemudian{resourceType}
dan{resourceSubType*}
mengidentifikasi tingkat lebih lanjut dalam penyedia sumber daya tersebut.{resourceName}
adalah bagian terakhir dari string yang mengidentifikasi sumber daya tertentu.
Grup manajemen merupakan satu tingkat di atas langganan dan memiliki cakupan terluas (paling tidak spesifik). Penetapan peran pada tingkat ini berlaku untuk langganan dalam grup manajemen. Cakupan untuk grup manajemen memiliki format berikut:
/providers
/Microsoft.Management
/managementGroups
/{managmentGroupName}
Contoh cakupan
Cakupan | Contoh |
---|---|
Grup manajemen | /providers/Microsoft.Management/managementGroups/marketing-group |
Langganan | /subscriptions/00000000-0000-0000-0000-000000000000 |
Grup sumber daya | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
Sumber Daya | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
Cara menentukan cakupan untuk sumber daya
Cukup mudah untuk menentukan cakupan untuk grup manajemen, langganan, atau grup sumber daya. Anda hanya perlu mengetahui nama dan ID langganan. Namun, menentukan cakupan untuk sumber daya membutuhkan sedikit lebih banyak usaha. Berikut adalah beberapa cara agar Anda dapat menentukan cakupan untuk sumber daya.
Di portal Microsoft Azure, buka sumber daya, lalu lihat propertinya. Sumber daya harus mencantumkan ID Sumber Daya di mana Anda dapat menentukan cakupannya. Misalnya, berikut adalah ID sumber daya untuk akun penyimpanan.
Cara lain adalah dengan menggunakan portal Microsoft Azure untuk menetapkan peran sementara di cakupan sumber daya lalu menggunakan Azure PowerShell atau Azure CLI untuk mencantumkan penetapan peran. Di dalam output, cakupan akan terdaftar sebagai properti.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : user@contoso.com RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "user@contoso.com", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
Cakupan dan templat ARM
Tugas peran adalah tipe khusus di Azure Resource Manager yang disebut sumber daya ekstensi. Sumber daya ekstensi adalah sumber daya yang ditambahkan ke kemampuan sumber daya lain. Kemampuan sumber daya selalu ada sebagai perpanjangan (seperti anak kecil) dari sumber daya lain. Misalnya, tugas peran di cakupan langganan adalah sumber daya ekstensi langganan. Nama tugas peran selalu merupakan nama sumber daya yang Anda perpanjang plus /Microsoft.Authorization/roleAssignments/{roleAssignmentId}
. Saat menetapkan peran menggunakan templat Azure Resource Manager (templat ARM), Anda biasanya tidak perlu memberikan cakupan. Alasannya adalah bahwa bidang cakupan selalu berakhir menjadi ID sumber daya yang Anda perpanjang. Cakupan dapat ditentukan dari ID penetapan peran itu sendiri. Tabel berikut menunjukkan contoh ID penetapan peran dan cakupan yang sesuai:
ID penetapan peran | Cakupan |
---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
Untuk informasi selengkapnya tentang lingkup dan templat ARM, lihat Menetapkan peran Azure menggunakan templat Azure Resource Manager. Untuk daftar lengkap jenis sumber daya ekstensi, lihat Jenis sumber daya yang memperluas kapabilitas sumber daya lainnya.