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 terperinci (RBAC) adalah fitur Azure Monitor Log Analytics yang menerapkan kontrol akses data terperinci.
Pelajari cara mengontrol akses ke log berdasarkan peran, departemen, dan lokasi geografis. Ini termasuk skenario seperti membatasi personel SDM untuk data karyawan atau membatasi akses ke log menurut negara atau departemen.
Dalam skenario contoh ini, tabel dan bidang Analitik Log yang dikenal luas digunakan untuk menerapkan akses tingkat baris. Data dipisahkan berdasarkan atribut seperti jenis perangkat dan nama prinsipal pengguna (UPN).
Untuk informasi selengkapnya tentang konsep RBAC terperinci, lihat Kontrol akses berbasis peran granular (RBAC) di Azure Monitor.
Prasyarat
Prasyarat berikut diperlukan untuk menyelesaikan skenario ini:
- Ruang kerja Analitik Log Azure Monitor dengan tabel
- Peran yang ditetapkan ke akun Anda memberikan izin untuk mengonfigurasi peran kustom dan menetapkannya ke pengguna atau grup dengan kondisi seperti Administrator Kontrol Akses Berbasis Peran atau Administrator Akses Pengguna.
Tentukan skenario
Dalam skenario ini, kontrol akses tingkat baris diimplementasikan dengan cara yang ketat pada CommonSecurityLog
dan secara permisif untuk mengontrol tabel SigninLogs
dan DnsEvents
di Ruang Kerja Analisis Log. Kondisi diatur untuk sekelompok operator sebagai berikut:
- Atur akses grup tim jaringan untuk hanya mengakses
CommonSecurityLog
tabel tempat nama DeviceVendor cocok dengan firewall jaringan. Konfigurasi ini menggunakan strategi Tidak ada akses ke data, kecuali yang diizinkan. - Berikan akses tim analis keamanan tingkat 1 ke semua tabel, tetapi batasi
SigninLogs
tabel danDnsEvents
untuk mencegah mereka mengakses rekaman yang berisi UPN atau nama komputer CEO. Konfigurasi ini menggunakan Akses ke semua data, kecuali strategi yang tidak diizinkan .
Membuat peran kustom
Siapkan peran kustom untuk skenario yang ditentukan. Buat satu untuk tim jaringan dan satu lagi untuk tim keamanan. Perlu diingat, penetapan peran bersifat aditif, jadi hapus peran apa pun yang menetapkan akses baca yang memberikan lebih banyak hak istimewa daripada kondisi RBAC granular. Untuk informasi selengkapnya, lihat Mengonfigurasi pembuatan peran RBAC terperinci.
- Dari grup sumber daya yang berisi ruang kerja Analitik Log prasyarat, pilih Kontrol akses (IAM).
- Pilih Tambahkan peran kustom.
- Buat peran akses data umum dengan tindakan dan tindakan data berikut di tingkat grup sumber daya:
Definisi peran kustom | Detil |
---|---|
Tindakan | Microsoft.OperationalInsights/workspaces/read Microsoft.OperationalInsights/workspaces/query/read |
Tindakan data | Microsoft.OperationalInsights/workspaces/tables/data/read |
Gambar ini memperlihatkan bagaimana tindakan peran kustom dan tindakan data muncul di halaman Tambahkan peran kustom .
- Masukkan nama untuk peran kustom, seperti
Log Analytics Network Device team
- Ulangi langkah 2-4 untuk
Log Analytics Security Analysts tier 1
peran kustom. Gunakan opsi Gandakan peran dan pilih peranLog Analytics Network Device team
sebagai dasar.
Menetapkan peran kustom
Tetapkan peran kustom ke pengguna atau grup. Untuk informasi selengkapnya, lihat Menetapkan peran RBAC terperinci.
- Dari ruang kerja Analitik Log, pilih Kontrol akses (IAM).
- Pilih Tambahkan penetapan peran.
- Pilih peran kustom yang
Log Analytics Network Device team
Anda buat, lalu pilih Berikutnya. - Pilih pengguna atau grup yang ingin Anda tetapkan perannya, lalu pilih Berikutnya. Contoh ini menetapkan peran ke grup keamanan tim jaringan.
- Pilih Kondisi>Tambahkan kondisi>Tambahkan tindakan.
- Pilih tindakan >Pilih.
Berikut tampilan bagian tindakan saat selesai:
Membangun kondisi pembatasan
Peran kustom pertama menggunakan strategi tidak ada akses ke data, kecuali yang diizinkan. Dalam kasus penggunaan ini, tim jaringan hanya memerlukan akses ke CommonSecurityLog
tabel, dan hanya untuk rekaman di mana DeviceVendor cocok dengan solusi firewall mereka, baik Check Point
atau SonicWall
.
- Di bagian Bangun ekspresi, pilih Tambahkan ekspresi.
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nama Tabel dari menu dropdown Atribut .
- Pilih StringEquals dari menu dropdown Operator .
- Ketik
CommonSecurityLog
di bidang Nilai . - Pilih Tambahkan ekspresi, lalu pilih Dan untuk menambahkan ekspresi lain.
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nilai kolom dari menu dropdown Atribut .
- Masukkan
DeviceVendor
untuk Kunci. - Pilih ForAnyOfAnyValues:StringLikeIgnoreCase dari menu dropdown Operator .
- Di bidang Nilai , masukkan
Check Point
danSonicWall
. - Pilih ekspresi 1 dan 2> pilih Grup dengan tombol radio Dan dipilih.
- Pilih Simpan.
Berikut adalah tampilan kondisi restriktif ketika sudah selesai:
Berikut tampilan kondisi pembatasan dalam formulir kode:
(
(
!(ActionMatches{'Microsoft.OperationalInsights/workspaces/tables/data/read'})
)
OR
(
(
@Resource[Microsoft.OperationalInsights/workspaces/tables:name] StringEquals 'CommonSecurityLog'
AND
@Resource[Microsoft.OperationalInsights/workspaces/tables/record:DeviceVendor<$key_case_sensitive$>] ForAnyOfAnyValues:StringLikeIgnoreCase {'Check Point', 'SonicWall'}
)
)
)
Untuk informasi selengkapnya tentang cara terprogram untuk menetapkan peran dengan kondisi, lihat Menambahkan atau mengedit kondisi ABAC.
Izinkan hingga 15 menit agar izin efektif berlaku.
Menyusun situasi yang permisif
Peran kustom kedua menggunakan strategi Akses ke semua data, kecuali yang tidak diizinkan. Dalam kasus penggunaan ini, tim analis keamanan tingkat 1 memerlukan akses ke semua tabel, tetapi membatasi akses ke SigninLogs
tabel dan DnsEvents
untuk mencegah akses rekaman untuk UPN atau nama komputer CEO.
- Tambahkan penetapan peran baru, lalu buat ekspresi permisif. Dari ruang kerja Analitik Log, pilih Kontrol akses (IAM).
- Pilih Tambahkan penetapan peran.
- Pilih peran kustom yang
Log Analytics Security Analysts tier 1
Anda buat, lalu pilih Berikutnya. - Pilih pengguna atau grup yang ingin Anda tetapkan perannya, lalu pilih Berikutnya. Contoh ini menetapkan peran ke kelompok keamanan analis tingkat 1.
- Pilih Kondisi>Tambahkan kondisi>Tambahkan tindakan.
- Pilih tindakan >Pilih.
Ekspresi 1
- Di bagian Membangun Ekspresi, pilih Tambah Ekspresi
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nama Tabel dari menu dropdown Atribut .
- Pilih ForAnyOfAllValues:StringNotEquals dari menu dropdown Operator .
- Ketik
SigninLogs
danDnsEvents
di bidang Nilai . - Pastikan operator Atau dipilih setelah ekspresi 1.
Ekspresi 2
- Pilih Tambahkan ekspresi
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nama Tabel dari menu dropdown Atribut .
- Pilih StringEquals dari menu dropdown Operator .
- Di bidang Nilai, masukkan
SigninLogs
.
Ekspresi 3
- Pilih Tambahkan ekspresi
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nilai kolom dari menu dropdown Atribut .
- Masukkan
UserPrincipalName
untuk Kunci. - Pilih StringNotEquals dari menu dropdown Operator .
- Ketik
CEO@contoso.com
di bidang Nilai . - Pilih ekspresi 2 dan 3> pilih Grup dengan tombol radio Dan dipilih.
Ekspresi 4
- Pilih Tambahkan ekspresi
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nama Tabel dari menu dropdown Atribut .
- Pilih StringEquals dari menu dropdown Operator .
- Di bidang Nilai, masukkan
DnsEvents
.
Ekspresi 5 - Batas di editor visual adalah lima, tetapi lebih banyak ekspresi dapat ditambahkan di editor kode.
- Pilih Tambahkan ekspresi
- Pilih Sumber Daya dari menu dropdown Sumber atribut .
- Pilih Nilai kolom dari menu dropdown Atribut .
- Masukkan
ComputerName
untuk Kunci. - Pilih StringNotEquals dari menu dropdown Operator .
- Ketik
CEOlaptop
di bidang Nilai . - Pilih ekspresi 4 dan 5> pilih Grup dengan tombol radio Dan dipilih.
- Pilih Simpan.
Berikut tampilan kondisi permisif saat selesai - perhatikan tombol Tambahkan ekspresi dinonaktifkan. Perilaku ini disebabkan oleh jumlah maksimum ekspresi yang tercapai.
Berikut adalah bagaimana kondisi permisif terlihat dalam formulir kode:
(
(
!(ActionMatches{'Microsoft.OperationalInsights/workspaces/tables/data/read'})
)
OR
(
@Resource[Microsoft.OperationalInsights/workspaces/tables:name] ForAnyOfAllValues:StringNotEquals {'SigninLogs', 'DnsEvents'}
OR
(
@Resource[Microsoft.OperationalInsights/workspaces/tables:name] StringEquals 'SigninLogs'
AND
@Resource[Microsoft.OperationalInsights/workspaces/tables/record:UserPrincipalName<$key_case_sensitive$>] StringNotEquals 'CEO@contoso.com'
)
OR
(
@Resource[Microsoft.OperationalInsights/workspaces/tables:name] StringEquals 'DnsEvents'
AND
@Resource[Microsoft.OperationalInsights/workspaces/tables/record:Computer<$key_case_sensitive$>] StringNotEquals 'CEOlaptop1'
)
)
)
Izinkan hingga 15 menit agar izin efektif berlaku.
Pemecahan masalah dan pemantauan
Untuk pemecahan masalah ABAC umum, lihat Memecahkan masalah kondisi penetapan peran Azure.
Perubahan pada penetapan peran dicatat di log Aktivitas Azure.
Tabel LAQueryLogs merekam apakah kueri pengguna dijalankan dengan kondisi ABAC yang berlaku di kolom
ConditionalDataAccess
. Untuk informasi selengkapnya, lihat referensi tabel LAQueryLogs.Berikut adalah contoh kueri yang telah diaudit dan dijalankan oleh analis keamanan tingkat 1 yang memicu kondisi yang dikonfigurasi untuk tabel
SigninLogs
.Nilai yang digunakan untuk nama tabel dan nilai kolom peka terhadap huruf besar/kecil. Jika nama atau nilai tabel salah ditentukan, kondisi mungkin gagal, atau menghasilkan perilaku yang tidak terduga, dan akses ke data yang diminta mungkin ditolak.
Kondisi tidak valid yang menyebabkan kesalahan logika memicu pesan kesalahan "400 Permintaan Tidak Valid" untuk semua pengguna yang terpengaruh. Administrator harus merevisi kondisi. Contohnya adalah mengatur kondisi pada tingkat ruang kerja dengan kolom yang tidak ada di tabel apa pun.