Akses grup komputasi khusus

Artikel ini menjelaskan cara membuat sumber daya komputasi yang ditetapkan ke grup menggunakan mode akses Dedicated.

Mode akses grup khusus memungkinkan pengguna untuk mendapatkan efisiensi operasional kluster mode akses standar sekaligus mendukung bahasa dan beban kerja dengan aman yang tidak didukung oleh mode akses standar, seperti Databricks Runtime untuk ML, API RDD, dan R.

Persyaratan

Untuk menggunakan mode akses grup khusus:

  • Ruang kerja harus diaktifkan agar dapat digunakan dengan Katalog Unity.
  • Anda harus menggunakan Databricks Runtime 15.4 atau lebih tinggi.
  • Grup yang ditetapkan harus memiliki izin CAN MANAGE pada folder ruang kerja tempat mereka dapat menyimpan notebook, eksperimen ML, dan artefak ruang kerja lainnya yang digunakan oleh kluster grup.

Apa itu mode akses khusus?

Mode akses khusus adalah versi terbaru mode akses pengguna tunggal. Dengan akses khusus, sumber daya komputasi dapat ditetapkan ke satu pengguna atau grup, hanya mengizinkan akses pengguna yang ditetapkan untuk menggunakan sumber daya komputasi.

Saat pengguna terhubung ke sumber daya komputasi yang didedikasikan untuk grup (kluster grup), izin pengguna secara otomatis menurunkan cakupan ke izin grup, memungkinkan pengguna untuk berbagi sumber daya dengan aman dengan anggota grup lainnya.

Membuat sumber daya komputasi yang didedikasikan untuk grup

  1. Di ruang kerja Azure Databricks Anda, buka Compute dan klik Buat komputasi.
  2. Perluas bagian Tingkat Lanjut.
  3. Di bawah mode akses , klik Manual lalu pilih Khusus (sebelumnya: Pengguna tunggal) dari menu dropdown.
  4. Di bidang pengguna atau grup tunggal, pilih grup yang ingin Anda tetapkan ke sumber daya ini.
  5. Konfigurasikan pengaturan komputasi lain yang diinginkan, lalu klik Buat.

Praktik terbaik untuk mengelola kluster grup

Karena izin pengguna dibatasi pada grup saat menggunakan kluster grup, Databricks merekomendasikan pembuatan folder /Workspace/Groups/<groupName> untuk setiap grup yang akan digunakan dengan kluster grup. Kemudian, berikan izin CAN MANAGE pada folder kepada grup. Ini memungkinkan grup untuk menghindari kesalahan izin. Semua buku catatan grup dan aset ruang kerja harus dikelola di folder grup.

Anda juga harus mengubah beban kerja berikut untuk berjalan pada kluster grup:

  • MLflow: Pastikan Anda menjalankan notebook dari folder grup atau menjalankan mlflow.set_tracking_uri("/Workspace/Groups/<groupName>").
  • AutoML: Atur parameter experiment_dir opsional ke “/Workspace/Groups/<groupName>” untuk eksekusi AutoML Anda.
  • dbutils.notebook.run: Pastikan grup memiliki izin READ terhadap notebook yang sedang berjalan.

Perilaku pemberian izin pada kluster kelompok

Semua perintah, kueri, dan tindakan lain yang dilakukan pada kluster grup menggunakan izin yang ditetapkan ke grup, bukan pengguna individual.

Izin pengguna individual tidak dapat diberlakukan karena semua anggota grup memiliki akses penuh ke API Spark dan lingkungan komputasi bersama. Jika izin berbasis pengguna diterapkan, satu anggota dapat mengkueri data terbatas, dan anggota lain tanpa akses masih dapat mengambil hasilnya melalui lingkungan bersama. Oleh karena itu, grup itu sendiri, bukan pengguna yang merupakan anggota grup, harus memiliki izin yang diperlukan untuk berhasil melakukan tindakan.

Misalnya, grup memerlukan izin eksplisit untuk mengkueri tabel, mengakses cakupan rahasia atau rahasia, menggunakan kredensial koneksi Katalog Unity, mengakses folder Git, atau membuat objek ruang kerja.

Contoh izin grup

Saat Anda membuat objek data menggunakan kluster grup, grup ditetapkan sebagai pemilik objek.

Misalnya, jika Anda memiliki buku catatan yang dilampirkan ke kluster grup dan jalankan perintah berikut:

use catalog main;
create schema group_cluster_group_schema;

Kemudian jalankan kueri ini untuk memeriksa pemilik skema:

describe schema group_cluster_group_schema;

Contoh deskripsi skema grup

Mengaudit aktivitas komputasi khusus grup

Ada dua identitas utama yang terlibat saat kluster grup menjalankan beban kerja:

  1. Pengguna yang menjalankan beban kerja pada kluster grup
  2. Grup yang izinnya digunakan untuk melakukan tindakan beban kerja aktual

Tabel sistem log audit merekam identitas ini di bawah parameter berikut:

  • identity_metadata.run_by: Pengguna yang mengautentikasi yang melakukan tindakan
  • identity_metadata.run_as: Grup otorisasi yang izinnya digunakan untuk tindakan.

Contoh kueri berikut menarik metadata identitas untuk tindakan yang diambil dengan kluster grup:

select action_name, event_time, user_identity.email, identity_metadata
from system.access.audit
where user_identity.email = "uc-group-cluster-group" AND service_name = "unityCatalog"
order by event_time desc limit 100;

Lihat referensi tabel sistem log audit untuk contoh kueri lainnya. Lihat referensi tabel sistem log audit .

Batasan yang diketahui

Akses grup khusus memiliki batasan berikut:

  • Pekerjaan yang dibuat menggunakan API dan SDK tidak dapat ditetapkan akses grup. Ini karena parameter pekerjaan run_as hanya mendukung satu pengguna atau prinsipal layanan.
  • Pekerjaan yang menggunakan Git akan gagal karena direktori sementara yang digunakan pekerjaan untuk memeriksa repositori Git tidak dapat ditulis. Gunakan folder Git sebagai gantinya.
  • Tabel sistem silsilah tidak merekam identity_metadata.run_as (grup otorisasi) atau identity_metadata.run_by (pengguna yang mengautentikasi) untuk beban kerja yang berjalan pada kluster grup.
  • Log audit yang dikirimkan ke penyimpanan pelanggan tidak merekam identity_metadata.run_as (grup otorisasi) atau identity_metadata.run_by (pengguna yang mengautentikasi) untuk beban kerja yang berjalan pada kluster grup. Anda harus menggunakan tabel system.access.audit untuk melihat metadata identitas.
  • Saat dilampirkan ke kluster grup, Catalog Explorer tidak memfilter menurut aset hanya dapat diakses oleh grup.
  • Manajer grup yang bukan anggota grup tidak dapat membuat, mengedit, atau menghapus kluster grup. Hanya admin ruang kerja dan anggota grup yang dapat melakukannya.
  • Jika grup diganti namanya, Anda harus memperbarui kebijakan komputasi apa pun secara manual yang mereferensikan nama grup.
  • Kluster grup tidak didukung untuk ruang kerja dengan ACL dinonaktifkan (isWorkspaceAclsEnabled == false) karena kurangnya kontrol keamanan dan akses data yang melekat saat ACL ruang kerja dinonaktifkan.
  • %run Perintah dan tindakan lain yang dijalankan dalam konteks buku catatan selalu menggunakan izin pengguna daripada izin grup. Ini karena tindakan ini ditangani oleh lingkungan notebook, bukan lingkungan kluster. Perintah alternatif seperti dbutils.notebook.run() dijalankan pada kluster dan oleh karena itu gunakan izin grup.
  • Fungsi is_member(<group>) mengembalikan false ketika dipanggil pada kluster grup karena grup bukan anggotanya sendiri. Untuk memeriksa keanggotaan dengan benar di seluruh kluster grup dan mode akses lainnya, gunakan is_member(<group>) OR current_user() == <group>.
  • Membuat dan mengakses model yang melayani titik akhir tidak didukung.
  • Membuat dan mengakses titik akhir pencarian vektor atau indeks tidak didukung.
  • Penghapusan file dan folder tidak didukung dalam kluster grup.
  • Antarmuka pengguna unggahan file tidak mendukung kluster grup.