Bagikan melalui


Pustaka daftar izin dan skrip init pada komputasi bersama

Di Databricks Runtime 13.3 LTS ke atas, Anda dapat menambahkan pustaka dan skrip init ke allowlist di Unity Catalog. Ini memungkinkan pengguna untuk memanfaatkan artefak ini pada komputasi yang dikonfigurasi dengan mode akses bersama.

Anda dapat mengizinkan daftar direktori atau jalur file sebelum direktori atau file tersebut ada. Lihat Mengunggah file ke volume Katalog Unity.

Catatan

Anda harus menjadi admin metastore atau memiliki MANAGE ALLOWLIST hak istimewa untuk mengubah daftar yang diizinkan. Lihat MENGELOLA DAFTAR IZIN.

Penting

Pustaka yang digunakan sebagai driver JDBC atau sumber data Spark kustom pada komputasi bersama yang didukung Katalog Unity memerlukan ANY FILE izin.

Beberapa pustaka yang diinstal menyimpan data semua pengguna dalam satu direktori sementara umum. Pustaka ini mungkin membahayakan isolasi pengguna.

Cara menambahkan item ke daftar yang diizinkan

Anda dapat menambahkan item ke allowlist dengan Catalog Explorer atau REST API.

Untuk membuka dialog untuk menambahkan item ke daftar yang diizinkan di Catalog Explorer, lakukan hal berikut:

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Klik Ikon gigi untuk membuka detail metastore dan UI izin.
  3. Pilih Skrip JAR/Init yang Diizinkan.
  4. Klik Tambahkan.

Penting

Opsi ini hanya ditampilkan untuk pengguna dengan hak istimewa yang cukup. Jika Anda tidak dapat mengakses UI daftar yang diizinkan, hubungi admin metastore Anda untuk mendapatkan bantuan dalam mengizinkan pustaka dan skrip init.

Menambahkan skrip init ke daftar izin

Selesaikan langkah-langkah berikut dalam dialog daftar yang diizinkan untuk menambahkan skrip init ke daftar yang diizinkan:

  1. Untuk Jenis, pilih Skrip Init.
  2. Untuk Jenis Sumber, pilih Volume atau protokol penyimpanan objek.
  3. Tentukan jalur sumber untuk ditambahkan ke daftar yang diizinkan. Lihat Bagaimana izin pada jalur yang diberlakukan dalam daftar yang diizinkan?.

Menambahkan JAR ke daftar yang diizinkan

Selesaikan langkah-langkah berikut dalam dialog daftar yang diizinkan untuk menambahkan JAR ke daftar yang diizinkan:

  1. Untuk Jenis, pilih JAR.
  2. Untuk Jenis Sumber, pilih Volume atau protokol penyimpanan objek.
  3. Tentukan jalur sumber untuk ditambahkan ke daftar yang diizinkan. Lihat Bagaimana izin pada jalur yang diberlakukan dalam daftar yang diizinkan?.

Menambahkan koordinat Maven ke daftar yang diizinkan

Selesaikan langkah-langkah berikut dalam dialog daftar yang diizinkan untuk menambahkan koordinat Maven ke daftar yang diizinkan:

  1. Untuk Jenis, pilih Maven.
  2. Untuk Jenis Sumber, pilih Koordinat.
  3. Masukkan koordinat dalam format berikut: groudId:artifactId:version.
    • Anda dapat menyertakan semua versi pustaka dengan mengizinkan daftar format berikut: groudId:artifactId.
    • Anda dapat menyertakan semua artefak dalam grup dengan mengizinkan daftar format berikut: groupId.

Bagaimana izin pada jalur diberlakukan dalam daftar yang diizinkan?

Anda dapat menggunakan daftar yang diizinkan untuk memberikan akses ke JAR atau skrip init yang disimpan dalam volume Katalog Unity dan penyimpanan objek. Jika Anda menambahkan jalur untuk direktori daripada file, izin daftar izin yang diizinkan disebarluaskan ke file dan direktori yang terkandung.

Pencocokan awalan digunakan untuk semua artefak yang disimpan dalam volume Katalog Unity atau penyimpanan objek. Untuk mencegah pencocokan awalan pada tingkat direktori tertentu, sertakan garis miring berikutnya (/). Misalnya: /Volumes/prod-libraries/.

Anda dapat menentukan izin pada tingkat berikut:

  1. Jalur dasar untuk volume atau kontainer penyimpanan.
  2. Direktori yang bersarang pada kedalaman apa pun dari jalur dasar.
  3. Satu file.

Menambahkan jalur ke daftar yang diizinkan hanya berarti bahwa jalur dapat digunakan untuk skrip init atau penginstalan JAR. Azure Databricks masih memeriksa izin untuk mengakses data di lokasi yang ditentukan.

Prinsipal yang digunakan harus memiliki READ VOLUME izin pada volume yang ditentukan. Lihat SELECT.

Dalam mode akses pengguna tunggal, identitas prinsipal yang ditetapkan (pengguna atau perwakilan layanan) digunakan.

Dalam mode akses bersama:

  • Pustaka menggunakan identitas alat penginstal pustaka.
  • Skrip init menggunakan identitas pemilik kluster.

Catatan

Mode akses bersama tanpa isolasi tidak mendukung volume, tetapi menggunakan penetapan identitas yang sama dengan mode akses bersama.

Databricks merekomendasikan untuk mengonfigurasi semua hak istimewa penyimpanan objek yang terkait dengan skrip dan pustaka init dengan izin baca-saja. Pengguna dengan izin tulis di lokasi ini berpotensi mengubah kode dalam file pustaka atau skrip init.

Databricks merekomendasikan penggunaan perwakilan layanan ID Microsoft Entra untuk mengelola akses ke JAR atau skrip init yang disimpan di Azure Data Lake Storage Gen2. Gunakan dokumentasi tertaut berikut untuk menyelesaikan penyiapan ini:

  1. Buat perwakilan layanan dengan izin baca dan daftar pada blob yang Anda inginkan. Lihat Mengakses penyimpanan menggunakan perwakilan layanan & ID Microsoft Entra(Azure Active Directory).

  2. Simpan kredensial Anda menggunakan rahasia. Lihat rahasianya.

  3. Atur properti dalam konfigurasi Spark dan variabel lingkungan saat membuat kluster, seperti dalam contoh berikut:

    Konfigurasi Spark:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    Variabel lingkungan:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (Opsional) Refaktor skrip init menggunakan azcopy atau Azure CLI.

    Anda dapat mereferensikan variabel lingkungan yang ditetapkan selama konfigurasi kluster dalam skrip init Anda untuk meneruskan kredensial yang disimpan sebagai rahasia untuk validasi.

Catatan

Izin daftar izin untuk JAR dan skrip init dikelola secara terpisah. Jika Anda menggunakan lokasi yang sama untuk menyimpan kedua jenis objek, Anda harus menambahkan lokasi ke daftar yang diizinkan untuk masing-masing objek.