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.
Keamanan OneLake adalah sistem berbasis peran yang menentukan siapa yang dapat mengakses data di OneLake dan tindakan apa yang dapat mereka ambil terhadap data tersebut. Memahami model kontrol akses data membantu Anda memberikan akses yang dibutuhkan pengguna, sehingga Anda dapat melindungi data sensitif sambil tetap membiarkan orang yang tepat mengurusnya.
Artikel ini menjelaskan bagaimana peran keamanan OneLake disusun, bagaimana mereka terintegrasi dengan izin workspace dan item, bagaimana OneLake menerapkan dan menyelesaikan akses ke data Anda, serta batasan yang perlu diperhatikan.
Peran keamanan OneLake
Keamanan OneLake menggunakan model kontrol akses berbasis peran (RBAC) untuk mengelola akses ke data di OneLake. Dalam pengalaman keamanan OneLake, setiap peran memiliki komponen berikut:
- Izin: Izin yang diberikan peran pada data, seperti Read atau ReadWrite.
- Tipe: Jenis peran. Keamanan OneLake hanya mendukung peran Grant, yang memberikan anggota akses ke data dalam peran tersebut. Aplikasi ini tidak mendukung peran Tolak yang menghapus akses.
- Data dalam peran: Tabel, folder, atau skema yang dapat diakses oleh peran tersebut. Anda juga dapat mendefinisikan akses data dengan keamanan tingkat baris dan kolom pada tabel.
- Anggota dalam peran: Identitas Microsoft Entra yang diberikan ke peran, seperti pengguna, grup, atau identitas non-pengguna. Jika Anda menetapkan grup Microsoft Entra, keamanan OneLake memberikan peran tersebut kepada semua anggota grup.
Keamanan OneLake menggunakan model penolakan secara default, sehingga pengguna memulai tanpa akses ke data kecuali peran keamanan OneLake secara eksplisit memberikan akses. Beberapa item Fabric dimulai dengan peran default yang memberikan akses dasar kepada pengguna berdasarkan izin workspace mereka.
Izin dan item yang didukung
Peran keamanan OneLake mendukung izin berikut:
-
Membaca: Memberi pengguna kemampuan untuk membaca data dari tabel dan melihat metadata tabel dan kolom terkait. Dalam istilah SQL, izin ini setara dengan baik
VIEW_DEFINITIONmaupunSELECT. Untuk informasi lebih lanjut, lihat Keamanan Metadata. -
ReadWrite: Memberikan pengguna kemampuan untuk membaca dan menulis data dalam tabel atau folder serta melihat metadata tabel dan kolom terkait. Dalam istilah SQL, izin ini setara dengan
ALTER,DROP,UPDATE, danINSERT. Untuk informasi lebih lanjut, lihat izin ReadWrite.
Anda dapat membuat peran keamanan OneLake untuk item Fabric berikut:
| Barang Kain | Izin yang didukung |
|---|---|
| Lakehouse | Baca, BacaTulis |
| Katalog tercermin Azure Databricks | Baca |
| Database yang direplikasi | Baca |
| Katalog yang dicerminkan | Baca |
Izin BacaTulis
Gunakan izin ReadWrite untuk memberikan akses tulis kepada pengguna yang hanya memiliki akses baca untuk data tertentu dalam item.
ReadWrite hanya berlaku untuk pengguna dengan izin Baca pada sebuah item, seperti pengguna dengan peran workspace Viewer. Penugasan ReadWrite ke Admin, Anggota, atau Kontributor workspace tidak berpengaruh karena peran workspace tersebut sudah memiliki akses tulis.
ReadWrite mencakup semua hak istimewa yang diberikan oleh izin Baca, serta memberikan akses tulis ke objek yang dipilih dan isinya. Sebagai contoh, izin ReadWrite pada sebuah folder memberikan akses tulis ke folder tersebut dan data di dalamnya.
Pengguna dengan izin ReadWrite dapat melakukan tindakan berikut:
- Buat, hapus, atau ganti nama folder atau tabel.
- Unggah atau edit file.
- Buat, hapus, atau ganti nama pintasan.
Pengguna dapat melakukan operasi penulisan melalui notebook Spark, penjelajah file OneLake, atau API OneLake. Karena Fabric hanya mendukung penulisan data dengan satu engine, pengguna dengan izin ReadWrite hanya dapat menulis ke data tersebut melalui OneLake. Semua mesin kueri tetap menerapkan operasi baca secara konsisten.
Peran keamanan OneLake yang memberikan izin ReadWrite tidak boleh mengandung batasan keamanan tingkat baris (RLS) atau keamanan tingkat kolom (CLS).
Izin keamanan dan ruang kerja OneLake
Peran workspace adalah batas keamanan pertama untuk data di OneLake. Mereka mengelola bidang kontrol—membuat dan mengelola item Fabric serta izin—dan berlaku untuk semua item di ruang kerja. Untuk izin OneLake tertentu yang diberikan oleh setiap peran ruang kerja, lihat Memberikan akses menggunakan peran ruang kerja. Untuk mempelajari lebih lanjut tentang peran ruang kerja, lihat Peran dalam ruang kerja di Fabric.
Selain akses control plane, peran workspace juga dapat memberikan akses ke item data melalui peran default keamanan OneLake. (Peran default hanya berlaku untuk Penonton, karena peran Admin, Anggota, dan Kontributor memiliki akses yang lebih tinggi melalui izin Tulis.) Peran default adalah peran keamanan OneLake normal yang secara otomatis dibuat Fabric setiap kali ada item baru. Ini memberi pengguna izin ruang kerja atau item tertentu tingkat akses default ke data dalam item tersebut. Misalnya, item lakehouse memiliki peran DefaultReader yang memungkinkan pengguna yang memiliki izin ReadAll untuk melihat data di lakehouse. Akses default ini memastikan bahwa pengguna yang bekerja dengan item yang baru dibuat memiliki tingkat akses dasar. Semua peran default menggunakan fitur virtualisasi anggota, sehingga anggota peran tersebut adalah pengguna di workspace tersebut dengan izin yang diperlukan. Misalnya, semua pengguna dengan izin ReadAll di lakehouse.
Tabel berikut menunjukkan peran default standar. Item mungkin memiliki peran default khusus yang hanya berlaku untuk tipe item tersebut.
| Barang Kain | Nama peran | Izin diberikan | Anggota yang ditetapkan |
|---|---|---|---|
| Lakehouse | DefaultReader |
Baca | Semua pengguna dengan izin ReadAll |
| Katalog tercermin Azure Databricks | DefaultReader |
Baca | Semua pengguna dengan izin Baca |
| Katalog yang dicerminkan | DefaultReader |
Baca | Semua pengguna dengan izin Baca |
| Database yang dicerminkan | DefaultReader |
Baca | Semua pengguna dengan izin ReadAll |
Anda dapat memodifikasi atau menghapus peran default dari item Fabric untuk mengubah akses pengguna dalam grup anggota tersebut.
Akses mesin dan pengguna ke data
Keamanan OneLake secara default menggunakan akses dengan hak istimewa terkecil. Beberapa operasi tingkat penyimpanan tidak dapat menegakkan RLS atau CLS, sehingga ketika kueri tidak dapat difilter dengan aman, OneLake memblokirnya sepenuhnya daripada mengambil risiko mengekspos data yang tidak boleh dilihat pengguna. Apakah sebuah query difilter atau diblokir tergantung pada jalur akses - mesin query yang didukung atau akses langsung pengguna.
Untuk engine yang mendukung penyaringan RLS dan CLS serta persyaratan masing-masing, lihat Baca data yang diamankan dengan keamanan OneLake.
Ruang lingkup dan penegakan
Bagian ini menyediakan detail tentang bagaimana peran keamanan OneLake memberikan akses kepada cakupan tertentu, bagaimana akses tersebut beroperasi, dan bagaimana akses ditentukan di antara beberapa peran dan jenis akses.
Keamanan tingkat tabel
OneLake mewakili semua tabel sebagai folder, tetapi dari perspektif keamanan OneLake dan mesin kueri di Fabric, tidak semua folder adalah tabel. Untuk menjadi tabel yang valid, sebuah folder harus memenuhi kondisi berikut:
- Folder tersebut ada di
Tables/direktori sebuah item. Untuk item yang menggunakan skema, folder juga harus berada di dalam folder skema yang valid. - Folder tersebut berisi sebuah folder
_delta_logdengan file-file JSON yang sesuai untuk metadata tabel. - Folder tersebut tidak berisi pintasan anak.
Jika Anda mengonfigurasi RLS atau CLS pada sebuah tabel, OneLake menolak akses ketika folder tabel tersebut tidak memenuhi kriteria tersebut. Tanpa RLS atau CLS, OneLake memperlakukan folder yang tidak memenuhi kriteria ini sebagai folder dan menerapkan keamanan tingkat folder.
Keamanan tingkat baris dan tingkat kolom
Di dalam sebuah peran, Anda dapat membatasi akses ke baris dan kolom tertentu dari tabel dengan menggunakan keamanan tingkat baris dan tingkat kolom. Untuk informasi lebih lanjut tentang apa yang dilakukan setiap kontrol dan bagaimana OneLake menegakkannya, lihat Keamanan tingkat Tabel, kolom, dan baris di OneLake. Untuk informasi tentang bagaimana RLS dan CLS menyelesaikan ketika pengguna memiliki beberapa peran, lihat Evaluasi beberapa peran keamanan OneLake.
Keamanan metadata
Izin Baca keamanan OneLake memberikan akses penuh ke data dan metadata dalam tabel. Untuk pengguna tanpa akses ke tabel, data tidak pernah diekspos. Aturan ini juga berlaku untuk keamanan tingkat kolom dan kemampuan pengguna untuk melihat atau tidak melihat kolom dalam tabel tersebut. Namun, OneLake Security tidak menjamin bahwa metadata untuk sebuah tabel tidak dapat diakses. Beberapa pesan kesalahan dan pengalaman mungkin menampilkan nama kolom.
Pewarisan izin akses dan penelusuran folder
Izin folder memengaruhi hierarki dalam dua arah:
- Warisan: Izin yang diberikan pada folder berlaku ke bawah pada file dan subfoldernya.
- Penelusuran dan pencantuman: Saat pengguna memiliki izin pada item turunan, keamanan OneLake memungkinkan mereka melihat daftar dan menelusuri folder induknya sehingga mereka dapat menemukan dan menavigasi ke data yang dapat mereka akses. Traversal tidak memberikan akses ke file atau folder saudara.
Pertimbangkan hierarki berikut dari sebuah rumah danau di OneLake:
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file111.txt
│ │
│ └───subfolder111
│ │ file1111.txt
│
└───folder2
│ file21.txt
Anda membuat peran, Role1, yang memberikan izin Baca pada subfolder11. Melalui pewarisan, anggota peran tersebut dapat membaca file111.txt dan semua yang ada di subfolder111. Anggota dapat melihat dan melintasi folder1 untuk mencapai subfolder11, tetapi mereka tidak bisa melihat file11.txt karena itu adalah saudara dari subfolder11 dan mereka tidak bisa melihat Tables karena itu saudara dari Files.
Files/
│
└───folder1
│ │
│ └───subfolder11 <-- READ
│ │ file111.txt
│ │
│ └───subfolder111
│ │ file1111.txt
Anda membuat peran lain, Role2, yang memberikan izin Baca pada folder2. Melalui pewarisan, anggota dapat membaca file21.txt. Anggota dapat melewati folder2 dan Files untuk mencapainya, tetapi mereka tidak dapat melihat folder1 atau elemen turunannya.
Files/
│
└───folder2 <-- READ
│ file21.txt
Untuk jalan pintas, perilakunya sedikit berbeda. Pintasan ke sumber data eksternal berperilaku sama seperti folder. Namun, jalan pintas ke lokasi OneLake lainnya memiliki perilaku khusus. Izin target dari pintasan menentukan akses ke pintasan OneLake. Saat mencantumkan pintasan, OneLake tidak melakukan panggilan untuk memeriksa akses target. Akibatnya, ketika Anda membuat daftar isi direktori, OneLake mengembalikan semua pintasan internal terlepas dari apakah Anda memiliki akses ke target tersebut. Pemeriksaan akses dilakukan saat Anda mencoba membuka pintasan, lalu Anda hanya akan melihat data yang Anda miliki izin yang diperlukan untuk melihatnya.
Pintasan
Keamanan OneLake terintegrasi dengan pintasan untuk mengamankan data di dalam dan di luar OneLake. Pintasan menggunakan salah satu dari dua mode autentikasi:
- Passthrough: Pintasan menggunakan identitas pengguna yang mengajukan query untuk mengakses target. Passthrough merupakan bawaan untuk pintasan OneLake-ke-OneLake.
- Didelegasikan: Pintasan menggunakan identitas koneksi atau kredensial yang dikonfigurasi untuk mengakses target. Pintasan OneLake-ke-OneLake dapat menggunakan autentikasi terdelegasi, dan pintasan ke sistem eksternal selalu menggunakan autentikasi terdelegasi.
Membuat pintasan memerlukan izin pada jalur tempat pintasan dibuat dan jalur target. Untuk persyaratan pembuatan dan akses setiap jenis pintasan, lihat OneLake shortcut security.
Keamanan OneLake pada pintasan lewat langsung
Ketika pengguna mengakses data melalui pintasan OneLake-ke-OneLake lintas-terusan, OneLake menggunakan identitas pengguna yang melakukan permintaan untuk mengautorisasi akses ke jalur target. Akses efektif pengguna dibatasi oleh izin mereka pada jalur pintasan dan jalur target.
Catatan
Identitas mesin kueri dan autentikasi pintasan adalah pengaturan terpisah. Pintasan passthrough biasanya menggunakan identitas pengguna pemanggil untuk mengakses target. Namun, model semantik Power BI yang menggunakan Direct Lake di atas SQL dan endpoint analitik SQL dalam mode identitas delegasi menggunakan identitas pemilik item konsumen atau sumber data. Perilaku ini tidak mengubah mode otentikasi yang dikonfigurasi pada pintasan. Untuk penerusan identitas pengguna secara menyeluruh, gunakan Direct Lake melalui OneLake atau konfigurasikan titik akhir analitik SQL untuk menggunakan mode akses identitas pengguna.
Anda tidak dapat mendefinisikan izin keamanan OneLake secara langsung pada pintasan OneLake-ke-OneLake. Izin pada folder yang berisi pintasan digabungkan dengan izin pada jalur target. Jika item target mendukung keamanan OneLake, pengguna membutuhkan akses melalui peran keamanan OneLake. Jika item target tidak mendukung keamanan OneLake, pengguna memerlukan izin Fabric ReadAll pada item target. Pengguna tidak memerlukan izin Fabric Read pada item target hanya untuk mengakses datanya melalui pintasan.
Keamanan OneLake pada pintasan yang didelegasikan
Pintasan yang didelegasikan menggunakan identitas koneksi atau kredensial yang telah dikonfigurasi untuk mengakses target, bukan identitas pengguna pemanggil. Keamanan OneLake membatasi apa yang dapat diakses pengguna pemanggil melalui koneksi tersebut.
Pintasan OneLake yang didelegasikan
Untuk pintasan OneLake-ke-OneLake yang didelegasikan, pengguna pemanggil melihat persimpangan antara akses mereka pada jalur pintasan dan akses identitas koneksi yang dikonfigurasi pada jalur target. Keamanan tingkat kolom (CLS) didukung di kedua jalur. Keamanan tingkat baris (RLS) didukung pada jalur target, tetapi Anda tidak dapat mendefinisikan RLS pada jalur pintasan.
Pintasan eksternal yang didelegasikan
Pintasan ke sistem eksternal, seperti ADLS, Amazon S3, dan Dataverse, menggunakan kredensial koneksi yang dikonfigurasi untuk mengakses sumber eksternal. Keamanan OneLake diterapkan di atas akses yang diberikan oleh kredensial tersebut.
Misalnya, user1 membuat pintasan lakehouse ke folder di sebuah bucket Amazon S3, dan user2 mengakses pintasan tersebut dari lakehouse. User2 hanya dapat mengakses data S3 jika kredensial koneksi S3 yang dikonfigurasi dapat mengakses sumber dan keamanan OneLake mengizinkan user2 mengakses jalur pintasan.
Anda dapat memberikan akses keamanan OneLake ke seluruh pintasan eksternal atau ke subpath yang dipilih. Izin akses pada folder diwariskan secara rekursif ke semua subfolder, termasuk folder di dalam pintasan. Pengguna yang mencapai pintasan eksternal melalui pintasan OneLake lain harus tetap diotorisasi oleh keamanan OneLake yang diterapkan pada pintasan eksternal asli.
Mengakses pintasan eksternal melalui Spark atau panggilan API OneLake langsung juga memerlukan izin Fabric Read pada item yang berisi pintasan eksternal. Izin ini diperlukan untuk menyelesaikan koneksi ke sistem eksternal dengan aman.
Mengevaluasi beberapa peran keamanan OneLake
Seorang pengguna dapat memiliki beberapa peran keamanan OneLake. OneLake menggabungkan akses yang diberikan oleh peran-peran tersebut menjadi peran yang efektif, yang menentukan data yang dapat diakses pengguna. OneLake mengevaluasi peran yang efektif secara bertahap.
Tentukan akses untuk setiap peran
OneLake mula-mula menentukan setiap peran secara independen. Dalam sebuah peran, pengguna hanya dapat mengakses data yang diizinkan oleh ketiga komponen keamanan:
- Keamanan tingkat objek (OLS) menentukan tabel atau folder mana yang dapat diakses oleh peran tersebut.
- Keamanan tingkat baris (RLS) membatasi baris mana dari tabel tertentu yang dapat diakses oleh peran tersebut.
- Keamanan tingkat kolom (CLS) membatasi kolom mana dari tabel tertentu yang dapat diakses oleh peran tersebut.
Karena ketiga komponen tersebut berlaku, OneLake mengambil irisan ketiganya. Misalnya, jika Role1 memberikan akses ke Table1 dan membatasi baris serta kolomnya, akses efektif untuk Role1 adalah:
Role1 = R1_OLS ∩ R1_RLS ∩ R1_CLS
Simbol irisan (∩) berarti pengguna hanya menerima akses yang diizinkan oleh OLS, RLS, dan CLS dalam peran tersebut.
Gabungkan akses antar peran
Setelah menyelesaikan setiap peran, OneLake menggabungkan peran-peran tersebut dengan menggunakan model union, atau model yang paling tidak membatasi. Simbol gabungan (∪) berarti hak akses yang diberikan oleh peran mana pun akan menjadi bagian dari peran efektif. Jika Role1 memberikan akses ke TableA dan Role2 memberikan akses ke TableB, pengguna yang berasal dari kedua peran dapat mengakses kedua tabel tersebut.
Untuk dua peran, peran efektif adalah:
Effective role = Role1 ∪ Role2
Ketika beberapa peran memberikan akses ke tabel yang sama, aturan keamanan tingkat baris digabungkan dengan OR operator. Misalnya, predikat yang memungkinkan city = 'Redmond' dan city = 'New York' menggabungkan sebagai city = 'Redmond' OR city = 'New York'.
Aturan keamanan tingkat kolom juga digabungkan sebagai union, kecuali di endpoint SQL analytics. Di endpoint analitik SQL, CLS menggunakan semantik penolakan yang lebih ketat. Jika ada peran yang menyembunyikan kolom, endpoint akan memblokir akses ke kolom tersebut. Akibatnya, endpoint tersebut berpotongan dengan daftar izin CLS di semua peran pengguna, bukan menggabungkannya sebagai satu union.
Penting
Pertahankan aturan RLS dan CLS yang harus diterapkan bersama dalam peran yang sama. OneLake tidak mendukung kombinasi peran di mana dua peran memungkinkan set kolom yang berbeda untuk sebuah tabel dan salah satu peran juga menerapkan RLS ke tabel tersebut. Misalnya, pengguna tidak dapat menjadi bagian dari Role1, yang memungkinkan kolom c1 dan c2 serta sebagian baris, dan Role2, yang memungkinkan kolom c2 dan c3.
Gabungkan pintasan dan akses ke target
Untuk pintasan, OneLake mengevaluasi peran di lokasi pintasan dan di target pintasan secara terpisah. Peran target menjadi peran inferensi di lokasi pintasan. OneLake kemudian mengambil irisan antara akses gabungan dari peran shortcut dan akses gabungan dari peran target yang disimpulkan. Langkah ini mencegah akses yang diwarisi dari lokasi pintasan mengesampingkan pembatasan pada target.
Untuk dua peran pintasan dan dua peran target yang disimpulkan, akses efektifnya adalah:
Effective shortcut access = (ShortcutRole1 ∪ ShortcutRole2) ∩ (InferredRole1 ∪ InferredRole2)
Dalam ekspresi ini, ShortcutRole1 dan ShortcutRole2 adalah peran pada lokasi pintasan.
InferredRole1 dan InferredRole2 merupakan peran turunan yang sesuai dari target pintasan. Setiap peran ditentukan berdasarkan komponen OLS, RLS, dan CLS sebelum OneLake menggabungkan peran-peran tersebut.
Batasan keamanan OneLake
Jika Anda menetapkan peran keamanan OneLake ke pengguna tamu B2B, Anda harus mengonfigurasi pengaturan kolaborasi eksternal untuk B2B di Microsoft Entra External ID. Atur pengaturan akses pengguna tamu ke Pengguna tamu memiliki akses yang sama seperti anggota (sebagian besar).
Jika Anda menambahkan daftar distribusi ke sebuah peran dalam keamanan OneLake, endpoint analitik SQL tidak dapat mengidentifikasi anggota daftar tersebut untuk menegakkan kontrol akses. Akibatnya, pengguna tampak seolah-olah bukan anggota peran tersebut saat mereka mengakses endpoint analitik SQL. Direct Lake pada model semantik SQL juga tunduk pada keterbatasan ini.
Notebook Spark mengharuskan lingkungan berukuran 3.5 atau lebih tinggi dan menggunakan runtime Fabric 1.3.
Lakehouse tanpa skema tidak mendukung pratinjau data untuk tabel yang diamankan dengan RLS dan CLS. Gunakan lakehouse dengan dukungan skema dan keamanan OneLake.
OneLake Security tidak bekerja dengan Azure Data Share atau Purview Data Share. Untuk informasi selengkapnya, lihat Azure Data Share.
Tabel berikut mencantumkan keterbatasan peran keamanan OneLake.
Skenario Batas Jumlah maksimum peran keamanan OneLake untuk tiap Item di Fabric 250 peran untuk setiap item (lihat catatan) Jumlah maksimum anggota untuk setiap peran keamanan OneLake 500 pengguna atau grup pengguna per peran Jumlah maksimum izin per peran keamanan OneLake 500 izin untuk setiap peran Catatan
Anda dapat meminta peningkatan peran per item hingga 1.000. Untuk meminta peningkatan, hubungi Dukungan Azure.
Latency
Perubahan pada definisi peran membutuhkan waktu sekitar 5 menit untuk diterapkan.
Perubahan pada grup pengguna dalam peran keamanan OneLake membutuhkan waktu sekitar satu jam bagi OneLake untuk menerapkan izin peran pada grup pengguna yang diperbarui. Beberapa mesin Fabric memiliki lapisan cache sendiri, dapat memerlukan waktu satu jam tambahan untuk memperbarui akses pada semua sistem.