Bagikan melalui


Membuat kredensial penyimpanan untuk menyambungkan ke Azure Data Lake Storage Gen2

Artikel ini menjelaskan cara membuat kredensial penyimpanan di Unity Catalog untuk menyambungkan ke Azure Data Lake Storage Gen2.

Untuk mengelola akses ke penyimpanan cloud dasar yang menyimpan tabel dan volume, Unity Catalog menggunakan jenis objek berikut:

  • Kredensial penyimpanan merangkum kredensial cloud jangka panjang yang menyediakan akses pada penyimpanan cloud.
  • Lokasi eksternal berisi referensi pada kredensial penyimpanan dan jalur penyimpanan cloud.

Untuk informasi selengkapnya, lihat Koneksi ke penyimpanan objek cloud menggunakan Katalog Unity.

Unity Catalog mendukung dua opsi penyimpanan cloud untuk Azure Databricks: kontainer Azure Data Lake Storage Gen2 dan wadah Cloudflare R2. Cloudflare R2 ditujukan terutama untuk kasus penggunaan Berbagi Delta di mana Anda ingin menghindari biaya keluar data. Azure Data Lake Storage Gen2 sesuai untuk sebagian besar kasus penggunaan lainnya. Artikel ini berfokus pada pembuatan kredensial penyimpanan untuk kontainer Azure Data Lake Storage Gen2. Untuk Cloudflare R2, lihat Membuat kredensial penyimpanan untuk menyambungkan ke Cloudflare R2.

Untuk membuat kredensial penyimpanan untuk akses ke kontainer Azure Data Lake Storage Gen2, Anda membuat konektor akses Azure Databricks yang mereferensikan identitas terkelola Azure, menetapkannya izin pada kontainer penyimpanan. Anda kemudian mereferensikan konektor akses tersebut dalam definisi kredensial penyimpanan.

Persyaratan

Di Azure Databricks:

  • Ruang kerja Azure Databricks diaktifkan untuk Unity Catalog.

  • CREATE STORAGE CREDENTIAL hak istimewa pada metastore Unity Catalog yang dilampirkan ke ruang kerja. Admin akun dan admin metastore memiliki hak istimewa ini secara default.

    Catatan

    Perwakilan layanan harus memiliki peran admin akun untuk membuat kredensial penyimpanan yang menggunakan identitas terkelola. Anda tidak dapat mendelegasikan CREATE STORAGE CREDENTIAL ke perwakilan layanan. Ini berlaku untuk perwakilan layanan Azure Databricks dan perwakilan layanan MICROSOFT Entra ID (sebelumnya Azure Active Directory).

Di penyewa Azure Anda:

  • Kontainer penyimpanan Azure Data Lake Storage Gen2 di wilayah yang sama dengan ruang kerja tempat Anda ingin mengakses data.

    Akun penyimpanan Azure Data Lake Storage Gen2 harus memiliki namespace hierarkis.

  • Kontributor atau Pemilik grup sumber daya Azure.

  • Pemilik atau pengguna dengan peran Administrator Akses Pengguna Azure RBAC di akun penyimpanan.

Membuat kredensial penyimpanan menggunakan identitas terkelola

Anda dapat menggunakan identitas terkelola Azure atau perwakilan layanan sebagai identitas yang mengotorisasi akses ke kontainer penyimpanan Anda. Identitas terkelola sangat disarankan. Mereka memiliki manfaat mengizinkan Unity Catalog untuk mengakses akun penyimpanan yang dilindungi oleh aturan jaringan, yang tidak dimungkinkan menggunakan perwakilan layanan, dan mereka menghapus kebutuhan untuk mengelola dan memutar rahasia. Jika Anda ingin menggunakan perwakilan layanan, lihat Membuat penyimpanan terkelola Katalog Unity menggunakan perwakilan layanan (warisan).

  1. Di portal Azure, buat konektor akses Azure Databricks dan tetapkan izinnya pada kontainer penyimpanan yang ingin Anda akses, menggunakan instruksi di Mengonfigurasi identitas terkelola untuk Katalog Unity.

    Konektor akses Azure Databricks adalah sumber daya Azure pihak pertama yang memungkinkan Anda menyambungkan identitas terkelola ke akun Azure Databricks. Anda harus memiliki peran Kontributor atau lebih tinggi pada sumber daya konektor akses di Azure untuk menambahkan kredensial penyimpanan.

    Catat ID sumber daya konektor akses.

  2. Masuk ke ruang kerja Azure Databricks dengan dukungan Unity Catalog Anda sebagai pengguna yang memiliki CREATE STORAGE CREDENTIAL hak istimewa.

    Peran admin metastore dan admin akun keduanya menyertakan hak istimewa ini. Jika Anda masuk sebagai perwakilan layanan (baik ID Microsoft Entra atau perwakilan layanan Azure Databricks asli), Anda harus memiliki peran admin akun untuk membuat kredensial penyimpanan yang menggunakan identitas terkelola.

  3. Klik Ikon katalogKatalog.

  4. Klik tombol +Tambahkan dan pilih Tambahkan kredensial penyimpanan dari menu.

    Opsi ini tidak muncul jika Anda tidak memiliki CREATE STORAGE CREDENTIAL hak istimewa.

  5. Pilih JenisKredensial Identitas Terkelola Azure.

  6. Masukkan nama untuk mandat, dan masukkan ID sumber daya konektor akses dalam format:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (Opsional) Jika Anda membuat konektor akses menggunakan identitas terkelola yang ditetapkan pengguna, masukkan ID sumber daya identitas terkelola di bidang ID identitas terkelola yang ditetapkan pengguna, dalam format:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  8. (Opsional) Jika Anda ingin pengguna memiliki akses baca-saja ke lokasi eksternal yang menggunakan kredensial penyimpanan ini, pilih Baca saja. Untuk informasi selengkapnya, lihat Menandai kredensial penyimpanan sebagai baca-saja.

  9. Klik Simpan.

  10. (Opsional) Ikat kredensial penyimpanan ke ruang kerja tertentu.

    Secara default, setiap pengguna istimewa dapat menggunakan kredensial penyimpanan di ruang kerja apa pun yang dilampirkan ke metastore. Jika Anda ingin mengizinkan akses hanya dari ruang kerja tertentu, buka tab Ruang Kerja dan tetapkan ruang kerja. Lihat (Opsional) Menetapkan kredensial penyimpanan ke ruang kerja tertentu.

  11. Buat lokasi eksternal yang mereferensikan mandat penyimpanan ini.

(Opsional) Menetapkan kredensial penyimpanan ke ruang kerja tertentu

Penting

Fitur ini ada di Pratinjau Publik.

Secara default, kredensial penyimpanan dapat diakses dari semua ruang kerja di metastore. Ini berarti bahwa jika pengguna telah diberikan hak istimewa (seperti CREATE EXTERNAL LOCATION) pada kredensial penyimpanan tersebut, mereka dapat menjalankan hak istimewa tersebut dari ruang kerja apa pun yang dilampirkan ke metastore. Jika Anda menggunakan ruang kerja untuk mengisolasi akses data pengguna, Anda mungkin ingin mengizinkan akses ke kredensial penyimpanan hanya dari ruang kerja tertentu. Fitur ini dikenal sebagai pengikatan ruang kerja atau isolasi kredensial penyimpanan.

Kasus penggunaan umum untuk mengikat kredensial penyimpanan ke ruang kerja tertentu adalah skenario di mana admin cloud mengonfigurasi kredensial penyimpanan menggunakan kredensial akun cloud produksi, dan Anda ingin memastikan bahwa pengguna Azure Databricks menggunakan kredensial ini untuk membuat lokasi eksternal hanya di ruang kerja produksi.

Untuk informasi selengkapnya tentang pengikatan ruang kerja, lihat (Opsional) Menetapkan lokasi eksternal ke ruang kerja tertentu dan contoh pengikatan katalog ruang kerja.

Catatan

Pengikatan ruang kerja direferensikan ketika hak istimewa terhadap kredensial penyimpanan dilakukan. Misalnya, jika pengguna membuat lokasi eksternal menggunakan kredensial penyimpanan, pengikatan ruang kerja pada kredensial penyimpanan hanya dicentang saat lokasi eksternal dibuat. Setelah lokasi eksternal dibuat, lokasi tersebut akan berfungsi secara independen dari pengikatan ruang kerja yang dikonfigurasi pada kredensial penyimpanan.

Mengikat kredensial penyimpanan ke satu atau beberapa ruang kerja

Untuk menetapkan kredensial penyimpanan ke ruang kerja tertentu, Anda dapat menggunakan Catalog Explorer atau REST API Unity Catalog.

Izin diperlukan: Admin metastore atau pemilik kredensial penyimpanan.

Catatan

Admin metastore dapat melihat semua kredensial penyimpanan di metastore menggunakan Catalog Explorer—dan pemilik kredensial penyimpanan dapat melihat semua kredensial penyimpanan yang mereka miliki di metastore—terlepas dari apakah kredensial penyimpanan ditetapkan ke ruang kerja saat ini. Kredensial penyimpanan yang tidak ditetapkan ke ruang kerja tampak berwarna abu-abu.

Penjelajah katalog

  1. Masuk ke ruang kerja yang ditautkan ke metastore.

  2. Di bar samping, klik Ikon katalogKatalog.

  3. Di bagian bawah layar, klik Kredensial Penyimpanan Data > Eksternal.

  4. Pilih kredensial penyimpanan dan buka tab Ruang Kerja.

  5. Pada tab Ruang Kerja, kosongkan kotak centang Semua ruang kerja memiliki akses .

    Jika kredensial penyimpanan Anda sudah terikat ke satu atau beberapa ruang kerja, kotak centang ini sudah dihapus.

  6. Klik Tetapkan ke ruang kerja dan masukkan atau temukan ruang kerja yang ingin Anda tetapkan.

Untuk mencabut akses, buka tab Ruang Kerja, pilih ruang kerja, dan klik Cabut. Untuk mengizinkan akses dari semua ruang kerja, pilih kotak centang Semua ruang kerja memiliki akses .

Api

Ada dua API dan dua langkah yang diperlukan untuk menetapkan kredensial penyimpanan ke ruang kerja. Dalam contoh berikut, ganti <workspace-url> dengan nama instans ruang kerja Anda. Untuk mempelajari cara mendapatkan nama instans ruang kerja dan ID ruang kerja, lihat Mendapatkan pengidentifikasi untuk objek ruang kerja. Untuk mempelajari tentang mendapatkan token akses, lihat Autentikasi untuk otomatisasi Azure Databricks - gambaran umum.

  1. catalogs Gunakan API untuk mengatur kredensial isolation mode penyimpanan ke ISOLATED:

    curl -L -X PATCH 'https://<workspace-url>/api/2.1/unity-catalog/storage-credentials/<my-storage-credential> \
    -H 'Authorization: Bearer <my-token> \
    -H 'Content-Type: application/json' \
    --data-raw '{
     "isolation_mode": "ISOLATED"
     }'
    

    isolation mode Defaultnya adalah OPEN untuk semua ruang kerja yang dilampirkan ke metastore.

  2. Gunakan API pembaruan bindings untuk menetapkan ruang kerja ke katalog:

    curl -L -X PATCH 'https://<workspace-url>/api/2.1/unity-catalog/bindings/storage-credentials/<my-storage-credential> \
    -H 'Authorization: Bearer <my-token> \
    -H 'Content-Type: application/json' \
    --data-raw '{
      "add": [{"workspace_id": <workspace-id>,...],
      "remove": [{"workspace_id": <workspace-id>,...]
    }'
    

    "add" Gunakan properti dan "remove" untuk menambahkan atau menghapus pengikatan ruang kerja.

    .. catatan:: Pengikatan baca-saja (BINDING_TYPE_READ_ONLY) tidak tersedia untuk kredensial penyimpanan. Oleh karena itu, tidak ada alasan untuk mengatur jenis pengikatan untuk pengikatan kredensial penyimpanan.

Untuk mencantumkan semua penetapan ruang kerja untuk kredensial penyimpanan, gunakan API daftar bindings :

   curl -L -X GET 'https://<workspace-url>/api/2.1/unity-catalog/bindings/storage-credentials/<my-storage-credential> \
   -H 'Authorization: Bearer <my-token> \

Membatalkan ikatan kredensial penyimpanan dari ruang kerja

Instruksi untuk mencabut akses ruang kerja ke kredensial penyimpanan menggunakan Catalog Explorer atau bindings API disertakan dalam Mengikat kredensial penyimpanan ke satu atau beberapa ruang kerja.

Langkah berikutnya

Anda dapat melihat, memperbarui, menghapus, dan memberikan izin kepada pengguna lain untuk menggunakan kredensial penyimpanan. Lihat Mengelola kredensial penyimpanan.

Anda dapat menentukan lokasi eksternal menggunakan kredensial penyimpanan. Lihat Membuat lokasi eksternal untuk menyambungkan penyimpanan cloud ke Azure Databricks.