Apa itu kontrol akses berbasis peran Azure (Azure RBAC)?

Pengelolaan akses untuk sumber daya cloud merupakan fungsi penting bagi organisasi mana pun yang menggunakan cloud. Kontrol akses berbasis peran Azure (Azure RBAC) membantu Anda mengelola siapa yang memiliki akses ke sumber daya Azure, apa yang dapat mereka lakukan dengan sumber daya tersebut, dan area apa yang dapat mereka akses.

Azure RBAC adalah sistem otorisasi yang dibangun di azure Resource Manager yang menyediakan manajemen akses terperinci ke sumber daya Azure.

Video ini memberikan gambaran singkat tentang Azure RBAC.

Apa yang bisa saya lakukan dengan Azure RBAC?

Berikut beberapa contoh apa yang bisa Anda lakukan dengan Azure RBAC:

  • Izinkan satu pengguna mengelola komputer virtual dalam langganan dan pengguna lain mengelola jaringan virtual
  • Mengizinkan grup DBA mengelola database SQL dalam langganan
  • Izinkan pengguna mengelola semua sumber daya dalam grup sumber daya, seperti komputer virtual, situs web, dan subnet
  • Izinkan aplikasi mengakses semua sumber daya dalam grup sumber daya

Cara kerja Azure RBAC

Cara Anda mengontrol akses ke sumber daya menggunakan Azure RBAC adalah dengan menetapkan peran Azure. Ini merupakan konsep kunci untuk dipahami – cara izin diberlakukan. Penetapan peran terdiri dari tiga elemen: prinsip keamanan, definisi peran, dan cakupan.

Prinsip keamanan

Perwakilan keamanan: Perwakilan keamanan adalah objek yang mewakili pengguna, grup, perwakilan layanan, atau identitas terkelola yang meminta akses ke sumber daya Azure. Anda dapat menetapkan peran untuk salah satu perwakilan keamanan ini.

Diagram showing the security principal types for a role assignment.

Definisi peran

Definisi peran sekumpulan izin. Ini biasanya hanya disebut peran. Definisi peran mencantumkan operasi yang dapat dilakukan, seperti membaca, menulis, dan menghapus. Peran dapat berupa tingkat tinggi, seperti pemilik, atau spesifik, seperti pembaca mesin virtual.

Diagram showing role definition example for a role assignment

Azure mencakup beberapa peran bawaan yang dapat Anda gunakan. Misalnya, peran Kontributor Komputer Virtual memungkinkan pengguna membuat dan mengelola komputer virtual. Jika peran bawaan tidak memenuhi kebutuhan spesifik organisasi, Anda bisa membuat peran kustom Azure.

Video ini memberikan gambaran singkat tentang peran bawaan dan peran kustom.

Azure memiliki tindakan operasi data yang memungkinkan Anda memberikan akses ke data dalam objek. Misalnya, jika pengguna telah membaca akses data ke akun penyimpanan, maka mereka dapat membaca blob atau pesan dalam akun penyimpanan tersebut.

Untuk informasi selengkapnya, lihat Memahami definisi peran Azure.

Lingkup

Cakupan: Cakupan adalah sekumpulan sumber daya tempat akses tersebut berlaku. Saat Anda menetapkan peran, Anda selanjutnya dapat membatasi tindakan yang diizinkan dengan menentukan cakupan. Ini berguna jika Anda ingin menjadikan seseorang sebagai Kontributor Situs Web, tetapi hanya untuk satu grup sumber daya.

Di Azure, Anda dapat menentukan cakupan di beberapa tingkat: grup pengelolaan, langganan, grup sumber daya, atau sumber daya. Cakupan disusun dalam hubungan induk-turunan. Anda dapat menetapkan peran di salah satu tingkat cakupan ini.

Diagram showing scope levels for a role assignment.

Untuk informasi selengkapnya tentang cakupan, lihat Memahami cakupan.

Penetapan peran

Penetapan peran adalah proses melampirkan definisi peran kepada pengguna, grup, perwakilan layanan, atau identitas terkelola pada cakupan tertentu untuk tujuan memberikan akses. Akses diberikan dengan membuat penetapan peran, dan akses dicabut dengan menghapus penetapan peran.

Diagram berikut menunjukkan contoh penetapan peran. Dalam contoh ini, grup Pemasaran telah diberi peran Kontributor untuk grup sumber daya penjualan farmasi. Artinya pengguna di grup Pemasaran dapat membuat atau mengelola sumber daya Azure apa pun di grup sumber daya penjualan farmasi. Pengguna pemasaran tidak memiliki akses ke sumber daya di luar grup sumber daya penjualan farmasi, kecuali mereka merupakan bagian dari penetapan peran lain.

Diagram showing how security principal, role definition, and scope create a role assignment.

Anda dapat menetapkan peran menggunakan portal Microsoft Azure, Azure CLI, Microsoft Azure PowerShell, Azure SDK, atau REST API.

Untuk informasi selengkapnya, lihat Langkah-langkah untuk menetapkan peran Azure.

Grup

Penetapan peran bersifat transitif untuk grup yang berarti bahwa jika pengguna adalah anggota grup dan grup tersebut merupakan anggota grup lain yang memiliki penetapan peran, pengguna akan memiliki izin dalam penetapan peran tersebut.

Diagram showing how role assignments are transitive for groups.

Beberapa penetapan peran

Jadi apa yang terjadi jika Anda memiliki beberapa penetapan peran yang tumpang tindih? Azure RBAC merupakan model aditif, sehingga izin efektif Anda adalah jumlah penetapan peran Anda. Pertimbangkan contoh berikut di mana pengguna diberikan peran Kontributor di cakupan langganan dan peran Pembaca pada grup sumber daya. Jumlah izin Kontributor dan izin Pembaca secara efektif merupakan peran Kontributor untuk langganan. Oleh karena itu, dalam hal ini, penetapan peran Pembaca tidak berdampak.

Diagram showing how multiple role assignments overlap.

Penetapan penolakan

Sebelumnya, Azure RBAC adalah model khusus tanpa penolakan, tetapi sekarang Azure RBAC mendukung penetapan penolakan secara terbatas. Mirip dengan penetapan peran, penetapan penolakan melampirkan serangkaian tindakan menolak kepada pengguna, grup, perwakilan layanan, atau identitas terkelola pada lingkup tertentu untuk tujuan menolak akses. Penetapan peran menentukan serangkaian tindakan yang diizinkan, sementara penetapan penolakan menentukan serangkaian tindakan yang tidak diizinkan. Dengan kata lain, penetapan penolakan memblokir pengguna untuk melakukan tindakan tertentu meskipun penetapan peran memberi mereka akses. Penetapan penolakan lebih diutamakan daripada penetapan peran.

Untuk informasi selengkapnya, lihat Memahami Penetapan penolakan Azure.

Cara Azure RBAC menentukan apakah pengguna memiliki akses ke sumber daya

Berikut ini langkah-langkah tingkat tinggi yang digunakan Azure RBAC untuk menentukan apakah Anda memiliki akses ke sumber daya. Langkah-langkah ini berlaku untuk Azure Resource Manager atau layanan sarana data yang terintegrasi dengan Azure RBAC. Ini berguna untuk dipahami jika Anda mencoba memecahkan masalah akses.

  1. Pengguna (atau perwakilan layanan) memperoleh token untuk Azure Resource Manager.

    Token ini mencakup keanggotaan grup pengguna (termasuk keanggotaan grup transitif).

  2. Pengguna melakukan panggilan REST API ke Azure Resource Manager dengan token terlampir.

  3. Azure Resource Manager mengambil semua penetapan peran dan penetapan penolakan yang berlaku untuk sumber daya tempat tindakan diambil.

  4. Jika penetapan penolakan berlaku, akses diblokir. Jika tidak, evaluasi berlanjut.

  5. Azure Resource Manager mempersempit penetapan peran yang berlaku untuk pengguna ini atau grup mereka dan menentukan peran apa yang digunakan pengguna untuk sumber daya ini.

  6. Azure Resource Manager menentukan apakah tindakan dalam panggilan API disertakan dalam peran yang dimiliki pengguna untuk sumber daya ini. Jika peran termasuk Actions yang memiliki kartubebas (*), izin efektif dihitung dengan mengurangi NotActions dari yang diizinkanActions. Demikian pula, pengurangan yang sama dilakukan untuk setiap tindakan data apa pun.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. Jika pengguna tidak memiliki peran dengan tindakan pada cakupan yang diminta, akses tidak diizinkan. Jika tidak, kondisi apa pun akan dievaluasi.

  8. Jika penetapan peran mencakup kondisi, peran tersebut akan dievaluasi. Jika tidak, akses diizinkan.

  9. Jika kondisi terpenuhi, akses diizinkan. Jika tidak, akses tidak diizinkan.

Diagram berikut merupakan ringkasan dari logika evaluasi.

Evaluation logic flowchart for determining access to a resource.

Di mana data Azure RBAC disimpan?

Definisi peran, penetapan peran, dan penugasan penolakan disimpan secara global untuk memastikan bahwa Anda memiliki akses ke sumber daya Anda terlepas dari wilayah yang Anda buat sumber dayanya.

Saat penetapan peran atau data Azure RBAC lainnya dihapus, data akan dihapus secara global. Prinsipal yang memiliki akses ke sumber daya melalui data Azure RBAC akan kehilangan aksesnya.

Mengapa data Azure RBAC global?

Data Azure RBAC bersifat global untuk memastikan bahwa pelanggan dapat mengakses sumber daya secara tepat waktu terlepas dari mana mereka mengaksesnya. Azure RBAC diberlakukan oleh Azure Resource Manager, yang memiliki titik akhir global dan permintaan dirutekan ke wilayah terdekat untuk kecepatan dan ketahanan. Oleh karena itu, Azure RBAC harus diberlakukan di semua wilayah dan data direplikasi ke semua wilayah. Untuk informasi selengkapnya, lihat Ketahanan Azure Resource Manager.

Pertimbangkan contoh berikut. Arina membuat komputer virtual di Asia Timur. Bob, yang merupakan anggota tim Arina, bekerja di Amerika Serikat. Bob perlu mengakses komputer virtual yang dibuat di Asia Timur. Untuk memberi Bob akses tepat waktu ke komputer virtual, Azure perlu mereplikasi penetapan peran secara global yang memberi Bob akses ke komputer virtual dari mana saja Bob berada.

Diagram showing Azure RBAC data in multiple regions.

Persyaratan lisensi

Menggunakan fitur ini gratis dan disertakan dalam langganan Azure Anda.

Langkah berikutnya