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.
Tambahkan tabel Unity Catalog sebagai sumber daya Databricks Apps sehingga aplikasi Anda dapat mengkueri dan memodifikasi data yang disimpan di Unity Catalog dengan tata kelola dan kontrol akses. Tabel Unity Catalog menyediakan penyimpanan data terstruktur dengan izin halus, sehingga aplikasi Anda dapat membaca dan menulis data dengan aman tanpa kredensial hardcoding.
Persyaratan hak istimewa
Untuk mengakses tabel Unity Catalog, prinsipal layanan aplikasi harus memiliki hak istimewa USE CATALOG pada katalog induk, hak istimewa USE SCHEMA pada skema induk, dan hak istimewa SELECT atau MODIFY pada tabel. Saat Anda menambahkan sumber daya tabel, Azure Databricks secara otomatis memberikan hak istimewa ini ke perwakilan layanan aplikasi.
Agar pemberian otomatis ini berhasil, salah satu hal berikut harus benar untuk setiap hak istimewa:
-
Untuk
USE CATALOG: Semua pengguna akun memilikiUSE CATALOGhak istimewa pada katalog, atau Anda memilikiMANAGEhak istimewa pada katalog. -
Untuk
USE SCHEMA: Semua pengguna akun memilikiUSE SCHEMAhak istimewa pada skema, atau Anda memilikiMANAGEhak istimewa pada skema. -
Untuk
SELECTatauMODIFY: Semua pengguna akun memiliki hak istimewaSELECTatauMODIFYpada tabel, atau Anda memiliki hak istimewaMANAGEpada tabel.
Lihat Referensi hak istimewa Katalog Unity.
Menambahkan sumber daya tabel Unity Catalog
Sebelum Anda menambahkan tabel sebagai sumber daya, tinjau prasyarat sumber daya aplikasi.
- Di bagian Sumber daya aplikasi saat Anda membuat atau mengedit aplikasi, klik + Tambahkantabel UC>.
- Pilih tabel Unity Catalog dari tabel yang tersedia di ruang kerja Anda. Tabel harus sudah ada di Katalog Unity.
- Pilih tingkat izin yang sesuai untuk aplikasi Anda:
- Pilih: Memberikan izin aplikasi untuk mengkueri dan membaca data dari tabel. Ini sesuai untuk aplikasi yang hanya perlu membaca data.
-
Memodifikasi: Memberikan izin aplikasi untuk menyisipkan, memperbarui, dan menghapus data dalam tabel. Izin ini secara implisit mencakup
SELECT, sehingga aplikasi juga dapat membaca data.
- (Opsional) Tentukan kunci sumber daya kustom, yang merupakan cara Anda mereferensikan tabel dalam konfigurasi aplikasi Anda. Kunci defaultnya adalah
table.
Nota
MODIFY tidak tersedia untuk semua jenis tabel. Misalnya, tampilan tidak mendukung MODIFY akses hak istimewa. Jika tabel tidak mendukung MODIFY, hanya SELECT tersedia.
Variabel lingkungan
Saat Anda menyebarkan aplikasi dengan sumber daya tabel Unity Catalog, Azure Databricks mengekspos nama tiga tingkat lengkap tabel melalui variabel lingkungan yang dapat Anda referensikan menggunakan bidang valueFrom.
Konfigurasi contoh:
env:
- name: UC_TABLE_NAME
valueFrom: table # Use your custom resource key if different
Menggunakan tabel di aplikasi Anda:
import os
from databricks.sdk import WorkspaceClient
# Access the table name
table_name = os.getenv("UC_TABLE_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"), # Requires a SQL warehouse resource
statement=f"SELECT * FROM {table_name} LIMIT 10"
)
Untuk informasi selengkapnya, lihat Menggunakan variabel lingkungan untuk mengakses sumber daya.
Menghapus sumber daya tabel Unity Catalog
Saat Anda menghapus sumber daya tabel Katalog Unity dari aplikasi, perwakilan layanan aplikasi kehilangan SELECT, MODIFY, dan ALL PRIVILEGES hak akses pada tabel. Azure Databricks juga mencoba mencabut izin katalog dan skema hierarkis. Tabel itu sendiri tetap tidak berubah dan terus tersedia untuk pengguna dan aplikasi lain yang memiliki izin yang sesuai.
Praktik terbaik
Pertimbangkan hal berikut saat Anda bekerja dengan sumber daya tabel Unity Catalog:
- Berikan izin minimal. Gunakan
SELECTkecuali aplikasi Anda perlu menulis data ke tabel. - Gabungkan sumber daya tabel dengan sumber daya gudang SQL saat aplikasi Anda perlu menjalankan kueri SQL terhadap tabel.
- Gunakan sumber daya tabel terpisah untuk tabel yang berbeda daripada memberikan akses tingkat skema yang luas, sehingga Anda dapat menerapkan prinsip hak istimewa paling sedikit.
- Pertimbangkan untuk menggunakan volume Unity Catalog untuk data yang tidak terstruktur dan tabel Unity Catalog untuk data terstruktur.