Penyediaan kredensial untuk katalog runtime Lakehouse memungkinkan Anda mendelegasikan akses Cloud Storage ke mesin kueri dan menerapkan kebijakan Identity and Access Management (IAM) yang mendetail di tingkat katalog, namespace, dan tabel menggunakan konsol Google Cloud atau Google Cloud CLI. Penyediaan kredensial juga diperlukan untuk mengaktifkan pengelolaan tabel otomatis untuk tugas pemeliharaan latar belakang seperti pemadatan, masa berlaku snapshot, dan pembersihan sampah memori.
Cara kerja penyediaan kredensial
Saat Anda menggunakan penjualan kredensial, urutan operasi akan sedikit berubah untuk menerapkan kebijakan sebelum penyimpanan diakses. Diagram berikut mengilustrasikan cara mesin kueri mendapatkan token penyimpanan dengan cakupan yang dipersempit dari katalog untuk membaca dan menulis data secara aman langsung di Cloud Storage:
Urutan operasi yang ditampilkan dalam diagram sebelumnya adalah sebagai berikut:
- Permintaan: Pengguna mengirimkan pernyataan SQL, seperti kueri, operasi DML, atau DDL, ke mesin yang didukung seperti Apache Spark atau BigQuery.
- Pencarian metadata: Mesin mengirimkan permintaan ke katalog runtime Lakehouse untuk me-resolve tabel.
- Autentikasi dan kebijakan: Katalog mengautentikasi pengguna dan memeriksa izin IAM mereka pada resource Lakehouse.
- Respons: Karena penjualan kredensial diaktifkan, katalog akan menampilkan metadata dan token penyimpanan berumur singkat (kredensial penyimpanan dengan cakupan yang diperkecil) ke mesin. Token dicakupkan ke jalur yang terkait dengan tabel dan dicakupkan ke izin minimum yang diperlukan (misalnya, akses hanya baca untuk kueri yang tidak perlu menulis file).
- Akses: Mesin menggunakan token ini untuk membaca atau menulis file tertentu yang diizinkan langsung dari Cloud Storage.
- Komputasi: Mesin memproses data atau menjalankan operasi, dan menampilkan hasilnya.
Jika pengelolaan tabel otomatis (gcp.biglake.table-management.enabled) diaktifkan, tugas pemeliharaan latar belakang seperti pemadatan, masa berlaku snapshot, dan pembersihan sampah memori akan menggunakan akun layanan yang disediakan otomatis oleh katalog untuk melakukan autentikasi langsung ke Cloud Storage dan mengupdate file data yang mendasarinya.
Mesin yang didukung
Untuk menggunakan pemberian kredensial sementara dengan mesin kueri, Anda harus mengonfigurasi endpoint katalog REST Apache Iceberg di katalog runtime Lakehouse untuk mendukung pemberian kredensial sementara. Penyediaan kredensial tidak didukung untuk endpoint katalog Apache Hive.
- Mesin open source: Mesin yang didukung seperti Spark dan Trino menggunakan token penyimpanan berumur pendek yang disediakan oleh katalog. Aplikasi klien Anda harus menentukan dukungan untuk penyediaan kredensial di header
X-Iceberg-Access-Delegation. - BigQuery: BigQuery menggunakan kredensial yang disediakan untuk akses Cloud Storage, bukan kredensial pengguna akhir.
Izin akun layanan yang diperlukan
Jika penjualan kredensial diaktifkan, pastikan akun layanan berikut memiliki peran yang diperlukan:
- Akun layanan katalog runtime Lakehouse yang disediakan otomatis: Anda harus memberikan peran Storage Object User (
roles/storage.objectUser) ke akun ini di semua bucket Cloud Storage terkait. Tanpa akses ini, kredensial yang diberikan tidak dapat membaca atau menulis ke penyimpanan. Jika Anda menggunakan konsol Google Cloud , mengklik Set bucket permissions akan memverifikasi peran ini. Untuk gcloud CLI, Terraform, atau API, Anda harus memberikan peran ini secara manual. - Akun layanan mesin kueri: Akun layanan yang menjalankan tugas mesin kueri (seperti Managed Service untuk Apache Spark, Managed Service untuk Apache Spark, atau Dataflow) memerlukan peran BigLake Editor (
roles/biglake.editor) untuk mendapatkan kredensial yang diberikan dengan cakupan tulis.
Langkah berikutnya
- Pelajari cara membuat katalog dalam mode penjualan kredensial.
- Pelajari cara mengaktifkan penyediaan kredensial untuk katalog yang ada menggunakan
konsolGoogle Cloud .
- Pelajari cara mengonfigurasi aplikasi klien untuk penjualan kredensial.