Bagikan melalui


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 SCHEMAhak istimewa , CREATE TABLE, CREATE MODELCREATE 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.

Hierarki objek Katalog Unity

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, seperti CATALOG atau TABLE. Lihat Objek yang dapat diamankan
  • <securable-name>: Nama yang dapat diamankan. Jika jenis yang dapat diamankan adalah METASTORE, 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Pilih objek, seperti katalog, skema, tabel, atau tampilan.
  3. 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Pilih objek, seperti katalog, skema, tabel, atau tampilan.
  3. 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Pilih objek, seperti katalog, skema, tabel, atau tampilan.
  3. Buka tab Izin .
  4. Klik Berikan.
  5. Masukkan alamat email untuk pengguna atau nama grup.
  6. Pilih izin yang akan diberikan.
  7. 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Pilih objek, seperti katalog, skema, tabel, atau tampilan.
  3. Buka tab Izin .
  4. Pilih hak istimewa yang telah diberikan kepada pengguna, perwakilan layanan, atau grup.
  5. Klik Cabut.
  6. 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Di samping label halaman Catalog Explorer , klik ikon di samping nama metastore.
  3. 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Di samping label halaman Catalog Explorer , klik ikon di samping nama metastore.
  3. Pada tab Izin , klik Berikan.
  4. Masukkan alamat email untuk pengguna atau nama grup.
  5. Pilih izin yang akan diberikan.
  6. Klik OK.

SQL

  1. 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

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalog Katalog.
  2. Di samping label halaman Catalog Explorer , klik ikon di samping nama metastore.
  3. Pada tab Izin , pilih pengguna atau grup dan klik Cabut.
  4. Untuk mengonfirmasi, klik Cabut.

SQL

  1. 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.