Baca dalam bahasa Inggris

Menggunakan peran untuk mengontrol akses sumber daya

Selesai

Peran bawaan untuk Azure Resources (menggunakan PowerShell)

Azure menyediakan beberapa peran bawaan untuk mencakup skenario keamanan yang paling umum. Untuk memahami cara kerja peran, mari kita periksa tiga peran yang berlaku untuk semua jenis sumber daya:

  • Pemilik: Memiliki akses penuh ke semua sumber daya termasuk hak untuk mendelegasikan akses kepada orang lain.
  • Kontributor: Dapat membuat dan mengelola semua jenis sumber daya Azure tetapi tidak dapat memberi akses kepada orang lain.
  • Pembaca: Dapat melihat sumber daya Azure yang ada.

Definisi peran

Setiap peran adalah sekumpulan properti yang ditentukan dalam file Notasi Objek JavaScript (JSON). Definisi peran ini mencakup Nama, ID,dan Deskripsi. Ini juga termasuk izin yang diizinkan (Tindakan), izin ditolak (Bukan Tindakan), dan ruang lingkup (misalnya, akses baca) untuk peran tersebut.

Untuk peran Pemilik, itu berarti semua tindakan, yang ditunjukkan oleh tanda bintang (*); tidak ada tindakan yang ditolak; dan semua cakupan, ditunjukkan dengan garis miring (/).

Anda bisa mendapatkan informasi ini menggunakan Get-AzRoleDefinition Owner cmdlet PowerShell.

Get-AzRoleDefinition Owner

Kode ini harus menghasilkan output berikut:

Name             : Owner
Id               : 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
IsCustom         : False
Description      : Lets you manage everything, including access to resources.
Actions          : {*}
NotActions       : {}
DataActions      : {}
NotDataActions   : {}
AssignableScopes : {/}

Cobalah hal yang sama untuk peran Kontributor dan Pembaca untuk melihat tindakan yang diizinkan dan ditolak.

Peran bawaan

Untuk pemeriksaan mendalam tentang peran RBAC dan pengguna di ID Microsoft Entra, lihat Memeriksa peran RBAC dan pengguna di ID Microsoft Entra.

Apa definisi peran?

Definisi peran adalah kumpulan izin. Definisi peran mencantumkan operasi yang dapat dilakukan peran, seperti membaca, menulis, dan menghapus. Yang juga dapat mencantumkan operasi yang tidak dapat dilakukan atau operasi yang terkait dengan data yang mendasarinya.

Seperti yang dijelaskan sebelumnya, definisi peran memiliki struktur berikut:

Nama Deskripsi
Id Pengidentifikasi unik untuk peran tersebut, ditetapkan oleh Azure
IsCustom True jika peran kustom, False jika peran bawaan
Description Deskripsi peran yang dapat dibaca
Actions [] Izin yang diizinkan; * menunjukkan semua
NotActions [] Izin yang ditolak
DataActions [] Izin khusus yang diperbolehkan seperti yang diterapkan pada data, misalnya Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
NotDataActions [] Izin tertentu ditolak seperti yang diterapkan pada data.
AssignableScopes [] Cakupan di mana peran ini berlaku; / menunjukkan global, tetapi dapat mencapai ke pohon hierarkis

Struktur ini dinyatakan sebagai JSON ketika digunakan dalam role-based access control (RBAC) atau dari API yang mendasarinya. Misalnya, berikut definisi peran Kontributor dalam format JSON.

{
  "Name": "Contributor",
  "Id": "b24988ac-6180-42a0-ab88-20f7382dd24c",
  "IsCustom": false,
  "Description": "Lets you manage everything except access to resources.",
  "Actions": [
    "*"
  ],
  "NotActions": [
    "Microsoft.Authorization/*/Delete",
    "Microsoft.Authorization/*/Write",
    "Microsoft.Authorization/elevateAccess/Action"
  ],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/"
  ]
}

Tindakan dan Bukan Tindakan

Anda dapat menyesuaikan Actions dan NotActions properti untuk memberikan dan menolak izin yang tepat yang Anda butuhkan. Properti ini selalu dalam format:{Company}.{ProviderName}/{resourceType}/{action}

Sebagai contoh, berikut adalah tindakan untuk tiga peran yang kita lihat sebelumnya:

Peran Bawaan Tindakan NotActions
Pemilik (perbolehkan semua tindakan) * -
Kontributor (perbolehkan semua tindakan kecuali menulis atau menghapus penetapan peran) * Microsoft.Authorization/*/Delete, Microsoft.Authorization/*/Write, Microsoft.Authorization/elevateAccess/Action
Pembaca (memperbolehkan semua tindakan baca) */read -

Operasi kartubebas (*) di bawah Actions menunjukkan bahwa prinsipal yang ditetapkan untuk peran ini dapat melakukan semua tindakan; atau dengan kata lain, peran ini dapat mengelola semuanya, termasuk tindakan yang didefinisikan di masa depan karena jenis sumber daya baru ditambahkan ke Azure. Dengan peran Pembaca, hanya read tindakan yang diizinkan.

Operasi di bawah NotActions dikurangi dari Actions. Dengan peran Kontributor, NotActions menghapus kemampuan peran ini untuk mengelola akses ke sumber daya dan juga menetapkan akses ke sumber daya.

DataActions dan NotDataActions

Operasi data ditentukan dalam DataActions dan NotDataActions properti. Anda dapat menentukan operasi data secara terpisah dari operasi manajemen. Ini mencegah penetapan peran saat ini dengan kartubebas (*) tiba-tiba memiliki akses ke data. Berikut adalah beberapa operasi data yang dapat Anda tentukan di DataActions dan NotDataActions:

  • Membaca daftar blob dalam kontainer
  • Menulis blob penyimpanan dalam kontainer
  • Menghapus pesan dalam antrean

Anda hanya dapat menambahkan operasi data ke DataActions properti dan NotDataActions . Penyedia sumber daya mengidentifikasi operasi mana yang merupakan operasi data dengan mengatur isDataAction properti ke true. Peran yang tidak memiliki operasi data dapat menghilangkan properti ini dari definisi peran.

Tindakan ini bekerja persis seperti sepupu manajemen mereka. Anda dapat menentukan tindakan yang ingin Anda izinkan (atau * untuk semua), lalu menyediakan daftar tindakan tertentu untuk dihapus dalam NotDataActions koleksi. Berikut adalah beberapa contoh; Anda dapat menemukan daftar lengkap tindakan dan tindakan data dalam dokumentasi penyedia sumber daya:

Operasi data Deskripsi
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete Menghapus data blob
Microsoft.Compute/virtualMachines/login/action Masuk ke VM sebagai pengguna reguler
Microsoft.EventHub/namespaces/messages/send/action Mengirim pesan di event hub
Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read Mengembalikan file/folder atau daftar file/folder
Microsoft.Storage/storageAccounts/queueServices/queues/messages/read Membaca pesan dari antrean

Lingkup yang Dapat Ditetapkan

Mendefinisikan properti Tindakan dan Bukan Tindakan tidak cukup untuk sepenuhnya mengimplementasikan peran. Anda juga perlu lingkup peran Anda dengan benar.

Properti AssignableScopes dari peran menentukan lingkup (langganan, grup sumber daya, atau sumber daya) di mana peran tersedia untuk penetapan. Anda dapat membuat peran kustom tersedia untuk penetapan hanya di langganan atau grup sumber daya yang membutuhkannya, sehingga menghindari mengacaukan pengalaman pengguna untuk sisa langganan atau grup sumber daya.

Berikut adalah beberapa contoh:

Untuk Menggunakan Lingkup
Membatasi langganan "/subscriptions/{sub-id}"
Membatasi grup sumber daya tertentu pada langganan tertentu "/subscriptions/{sub-id}/resourceGroups/{rg-name}"
Membatasi ke sumber daya tertentu "/subscriptions/{sub-id}/resourceGroups/{rg-name}/{resource-name}"
Membuat peran tersedia untuk penugasan dalam dua langganan "/subscriptions/{sub-id}", "/subscriptions/{sub-id}"

Buat peran

MICROSOFT Entra ID dilengkapi dengan peran bawaan yang kemungkinan mencakup 99% dari apa yang ingin Anda lakukan. Lebih baik menggunakan peran bawaan jika memungkinkan. Namun, Anda dapat membuat peran khusus jika Anda merasa perlu.

Catatan

Pembuatan peran kustom memerlukan Microsoft Entra ID P1 atau P2; Anda tidak dapat membuat peran kustom di tingkat gratis.

Anda dapat membuat peran baru melalui beberapa mekanisme:

  • Pusat admin Microsoft Entra: Anda dapat menggunakan pusat admin Microsoft Entra untuk membuat peran kustom dengan memilih Peran & admin di bawah Peran & admin di menu sebelah kiri, lalu memilih Peran kustom baru.

  • portal Azure: Anda dapat menggunakan portal Azure untuk membuat peran kustom dengan memilih Peran ID>Microsoft Entra dan administrator>Peran kustom baru.

  • Azure PowerShell: Anda dapat menggunakan New-AzRoleDefinition cmdlet untuk menentukan peran baru.

  • Azure Graph API: Anda dapat menggunakan panggilan REST ke Graph API untuk membuat peran baru secara terprogram.

Bagian Ringkasan modul ini menyertakan tautan ke dokumentasi untuk pendekatan ini.

Uji pengetahuan Anda

1.

Informasi apa yang Action menyediakan dalam definisi peran?

2.

Mana dari berikut ini yang menetapkan ruang lingkup peran untuk menjadi grup sumber daya myResourceGroup?

3.

Bagaimana NotActions digunakan dalam definisi peran?