Bagikan melalui


Mengaktifkan akses data eksternal ke Unity Catalog

Penting

Fitur ini ada di Pratinjau Umum.

Azure Databricks menyediakan akses ke tabel Unity Catalog menggunakan katalog Unity REST API dan Apache Iceberg REST.

Admin metastore harus mengaktifkan akses data eksternal untuk setiap metastore yang perlu Anda akses secara eksternal. Pengguna atau perwakilan layanan yang mengonfigurasi koneksi harus memiliki EXTERNAL USE SCHEMA hak istimewa untuk setiap skema di mana mereka perlu melakukan operasi yang didukung: membaca dari tabel terkelola atau membuat, membaca, dan menulis ke tabel eksternal.

Unity REST API mendukung pembacaan langsung untuk tabel Delta. Katalog Iceberg REST mendukung pembacaan untuk tabel Delta serta pembacaan dan penulisan untuk tabel Iceberg. Lihat Mengakses data Databricks menggunakan sistem eksternal.

Mengaktifkan akses data eksternal di metastore

Untuk mengizinkan mesin eksternal mengakses data di metastore, admin metastore harus mengaktifkan akses data eksternal untuk metastore. Opsi ini dinonaktifkan secara default untuk mencegah akses eksternal yang tidak sah.

Untuk mengaktifkan akses data eksternal, lakukan hal berikut:

  1. Di ruang kerja Azure Databricks yang dilampirkan ke metastore, klik Ikon data.Katalog.
  2. Klik ikon Roda gigi. ikon roda gigi di bagian atas panel Katalog dan pilih Metastore.
  3. Pada tab Detail, aktifkan Akses data eksternal.

Nota

Opsi ini hanya ditampilkan untuk pengguna dengan hak istimewa yang cukup. Jika Anda tidak melihat opsi ini, Anda tidak memiliki izin untuk mengaktifkan akses data eksternal untuk metastore.

Memberikan hak istimewa Unity Catalog utama

Klien eksternal yang terhubung ke Azure Databricks memerlukan otorisasi dari prinsipal yang cukup istimewa.

Azure Databricks mendukung OAuth dan token akses pribadi (PAT) untuk autentikasi. Lihat Mengotorisasi akses ke sumber daya Azure Databricks.

Prinsipal yang meminta kredensial sementara harus memiliki:

  • Hak akses EXTERNAL USE SCHEMA pada skema yang mengandung atau katalog induknya.

    Hak istimewa ini harus selalu diberikan secara eksplisit. Hanya pemilik katalog induk yang dapat memberikannya. Untuk menghindari eksfiltrasi yang tidak disengaja, ALL PRIVILEGES tidak menyertakan hak istimewa EXTERNAL USE SCHEMA, dan pemilik skema tidak memiliki hak istimewa ini secara default.

  • SELECT hak akses pada tabel, USE CATALOG hak akses pada katalog induknya, dan USE SCHEMA hak akses pada skema induknya.

  • Jika membuat tabel eksternal, prinsipal juga harus memiliki CREATE TABLE hak istimewa pada skema dan CREATE EXTERNAL TABLE hak istimewa dan EXTERNAL USE LOCATION pada lokasi eksternal target.

    EXTERNAL USE LOCATION harus selalu diberikan secara eksplisit. Hanya pengguna dengan MANAGE hak istimewa di lokasi eksternal yang dapat memberikannya. Untuk menghindari eksfiltrasi yang tidak disengaja, ALL PRIVILEGES tidak termasuk EXTERNAL USE LOCATION hak istimewa, dan pemilik lokasi tidak memiliki hak istimewa ini secara default.

Contoh sintaks berikut menunjukkan pemberian EXTERNAL USE SCHEMA kepada pengguna:

GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`

Contoh sintaks berikut menunjukkan pemberian EXTERNAL USE LOCATION kepada pengguna:

GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_name TO `user@company.com`

Dengan asumsi pengguna memiliki izin untuk membaca semua tabel yang diinginkan dalam skema, tidak ada izin tambahan yang diperlukan. Jika Anda perlu memberikan izin untuk tambahan membaca tabel, lihat hak istimewa Katalog Unity dan objek yang bisa diatur keamanannya.