Mengelola hak istimewa di Unity Catalog
Artikel ini menjelaskan cara mengontrol akses ke data dan objek lain di Unity Catalog. Untuk mempelajari tentang perbedaan model ini dari kontrol akses di metastore Apache Hive, lihat Bekerja dengan Katalog Unity dan metastore Apache Hive warisan.
Siapa yang dapat mengelola hak istimewa?
Awalnya, pengguna tidak memiliki akses ke data di metastore. Admin akun Azure Databricks, admin ruang kerja, dan admin metastore memiliki hak istimewa default untuk mengelola Unity Catalog. Lihat Hak istimewa admin di Katalog Unity.
Semua objek yang dapat diamankan di Katalog Unity memiliki pemilik. Pemilik objek memiliki semua hak istimewa pada objek tersebut, termasuk kemampuan untuk memberikan hak istimewa kepada prinsipal lain. Lihat Mengelola kepemilikan objek Katalog Unity.
Hak istimewa dapat diberikan oleh admin metastore, pemilik objek, atau pemilik katalog atau skema yang berisi objek. Admin akun juga dapat memberikan hak istimewa langsung di metastore.
Hak istimewa katalog ruang kerja
Jika ruang kerja Anda diaktifkan untuk Katalog Unity secara otomatis, ruang kerja dilampirkan ke metastore secara default dan katalog ruang kerja dibuat untuk ruang kerja Anda di metastore. Admin ruang kerja adalah pemilik default katalog ruang kerja. Sebagai pemilik, mereka dapat mengelola hak istimewa pada katalog ruang kerja dan semua objek anak.
Semua pengguna ruang kerja menerima USE CATALOG
hak istimewa pada katalog ruang kerja. Pengguna ruang kerja juga menerima USE SCHEMA
hak istimewa , CREATE TABLE
, CREATE MODEL
CREATE VOLUME
, CREATE FUNCTION
, dan CREATE MATERIALIZED VIEW
pada default
skema dalam katalog.
Untuk informasi selengkapnya, lihat Pengaktifan Otomatis Katalog Unity.
Model pewarisan
Objek yang dapat diamankan dalam Katalog Unity bersifat hierarkis, dan hak istimewa diwariskan ke bawah. Objek tingkat tertinggi tempat hak istimewa diwariskan adalah katalog. Ini berarti bahwa memberikan hak istimewa pada katalog atau skema secara otomatis memberikan hak istimewa untuk semua objek saat ini dan yang akan datang dalam katalog atau skema tersebut. Misalnya, jika Anda memberi pengguna SELECT
hak istimewa pada katalog, maka pengguna tersebut akan dapat memilih (membaca) semua tabel dan tampilan dalam katalog tersebut. Hak istimewa yang diberikan pada metastore Katalog Unity tidak diwariskan.
Pemilik objek secara otomatis diberikan semua hak istimewa pada objek tersebut. Selain itu, pemilik objek dapat memberikan hak istimewa pada objek itu sendiri dan pada semua objek turunannya. Ini berarti bahwa pemilik skema tidak secara otomatis memiliki semua hak istimewa pada tabel dalam skema, tetapi mereka dapat memberikan hak istimewa pada tabel dalam skema.
Catatan
Jika Anda membuat metastore Unity Catalog selama pratinjau publik (sebelum 25 Agustus 2022), Anda mungkin menggunakan model hak istimewa sebelumnya yang tidak mendukung model pewarisan saat ini. Anda dapat meningkatkan ke Privilege Model versi 1.0 untuk mendapatkan warisan hak istimewa. Lihat Meningkatkan ke pewarisan hak istimewa.
Menampilkan, memberikan, dan mencabut hak istimewa
Anda dapat mengelola hak istimewa untuk objek metastore menggunakan perintah SQL, Databricks CLI, penyedia Databricks Terraform, atau Catalog Explorer.
Dalam perintah SQL berikut, ganti nilai tempat penampung ini:
<privilege-type>
adalah jenis hak istimewa Katalog Unity. Lihat Jenis hak istimewa.<securable-type>
Jenis objek yang dapat diamankan, sepertiCATALOG
atauTABLE
. Lihat Objek yang dapat diamankan<securable-name>
: Nama yang dapat diamankan. Jika jenis yang dapat diamankan adalahMETASTORE
, jangan berikan nama yang dapat diamankan. Ini diasumsikan sebagai metastore yang melekat pada ruang kerja.<principal>
adalah pengguna, perwakilan layanan (diwakili oleh nilai applicationId-nya), atau grup. Anda harus menyertakan pengguna, perwakilan layanan, dan nama grup yang menyertakan karakter khusus dalam backtick (` `
). Lihat Kepala Sekolah.
Menampilkan pemberian pada objek dalam metastore Katalog Unity
Izin diperlukan:
- Admin metastore, pemilik objek, atau pemilik katalog atau skema yang berisi objek dapat melihat semua pemberian pada objek.
- Jika Anda tidak memiliki izin di atas, Anda hanya dapat melihat hibah Anda sendiri pada objek.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Pilih objek, seperti katalog, skema, tabel, atau tampilan.
- Buka tab Izin .
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL. Anda dapat menunjukkan pemberian pada prinsipal tertentu, atau Anda dapat menampilkan semua hibah pada objek yang dapat diamankan.
SHOW GRANTS [principal] ON <securable-type> <securable-name>
Misalnya, perintah berikut menunjukkan semua pemberian pada skema bernama default di katalog induk bernama utama:
SHOW GRANTS ON SCHEMA main.default;
Perintah kembali:
principal actionType objectType objectKey
------------- ------------- ---------- ------------
finance-team CREATE TABLE SCHEMA main.default
finance-team USE SCHEMA SCHEMA main.default
Perlihatkan hibah saya pada objek dalam metastore Katalog Unity
Izin diperlukan: Anda selalu dapat melihat hibah Anda sendiri pada objek.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Pilih objek, seperti katalog, skema, tabel, atau tampilan.
- Buka tab Izin . Jika Anda bukan pemilik objek atau admin metastore, Anda hanya dapat melihat hibah Anda sendiri pada objek.
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL untuk memperlihatkan hibah Anda pada objek.
SHOW GRANTS `<user>@<domain-name>` ON <securable-type> <securable-name>
Memberikan izin pada objek dalam metastore Katalog Unity
Izin diperlukan: Admin metastore, pemilik objek, atau pemilik katalog atau skema yang berisi objek.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Pilih objek, seperti katalog, skema, tabel, atau tampilan.
- Buka tab Izin .
- Klik Berikan.
- Masukkan alamat email untuk pengguna atau nama grup.
- Pilih izin yang akan diberikan.
- Klik OK.
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL.
GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>
Misalnya, perintah berikut memberikan grup bernama akses tim keuangan untuk membuat tabel dalam skema bernama default dengan katalog induk bernama utama:
GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;
GRANT USE SCHEMA ON SCHEMA main.default TO `finance-team`;
GRANT USE CATALOG ON CATALOG main TO `finance-team`;
Mencabut izin pada objek dalam metastore Katalog Unity
Izin diperlukan: Admin metastore, pemilik objek, atau pemilik katalog atau skema yang berisi objek.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Pilih objek, seperti katalog, skema, tabel, atau tampilan.
- Buka tab Izin .
- Pilih hak istimewa yang telah diberikan kepada pengguna, perwakilan layanan, atau grup.
- Klik Cabut.
- Untuk mengonfirmasi, klik Cabut.
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL.
REVOKE <privilege-type> ON <securable-type> <securable-name> TO <principal>
Misalnya, perintah berikut mencabut grup bernama akses tim keuangan untuk membuat tabel dalam skema bernama default dengan katalog induk bernama utama:
REVOKE CREATE TABLE ON SCHEMA main.default TO `finance-team`;
Menampilkan hibah pada metastore
Izin diperlukan: Admin metastore atau admin akun. Anda juga dapat melihat hibah Anda sendiri di metastore.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Di samping label halaman Catalog Explorer , klik ikon di samping nama metastore.
- Buka tab Izin .
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL. Anda dapat menunjukkan hibah pada prinsipal tertentu, atau Anda dapat menunjukkan semua hibah di metastore.
SHOW GRANTS [principal] ON METASTORE
Memberikan izin pada metastore
Izin diperlukan: Admin metastore atau admin akun.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Di samping label halaman Catalog Explorer , klik ikon di samping nama metastore.
- Pada tab Izin , klik Berikan.
- Masukkan alamat email untuk pengguna atau nama grup.
- Pilih izin yang akan diberikan.
- Klik OK.
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL.
GRANT <privilege-type> ON METASTORE TO <principal>`;
Saat Anda memberikan hak istimewa pada metastore, Anda tidak menyertakan nama metastore, karena metastore yang dilampirkan ke ruang kerja Anda diasumsikan.
Mencabut izin pada metastore
Izin diperlukan: Admin metastore atau admin akun..
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik Katalog.
- Di samping label halaman Catalog Explorer , klik ikon di samping nama metastore.
- Pada tab Izin , pilih pengguna atau grup dan klik Cabut.
- Untuk mengonfirmasi, klik Cabut.
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL.
REVOKE <privilege-type> ON METASTORE TO <principal>;
Saat Anda mencabut hak istimewa di metastore, Anda tidak menyertakan nama metastore, karena metastore yang dilampirkan ke ruang kerja Anda diasumsikan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk