Penjualan kredensial untuk katalog runtime Lakehouse memungkinkan Anda mendelegasikan akses penyimpanan dan menerapkan izin mendetail ke file data Anda. Sebagai bagian dari Lakehouse untuk Apache Iceberg, kemampuan ini memungkinkan Anda mengelola kebijakan Identity and Access Management (IAM) di tingkat tabel untuk tabel yang disimpan di Cloud Storage.
Anda dapat menggunakan gcloud CLI untuk mendapatkan dan menetapkan kebijakan ini guna mengontrol akses ke resource Anda.
Cara kerja penjualan kredensial
Saat Anda menggunakan penjualan kredensial, urutan pemrosesan kueri akan sedikit berubah untuk menerapkan kebijakan sebelum data dibaca:
- Permintaan: Pengguna mengirimkan kueri SQL ke mesin yang didukung (misalnya, Apache Spark atau BigQuery).
- Pencarian metadata: Mesin mengirimkan permintaan ke katalog runtime Lakehouse untuk menyelesaikan tabel.
- Autentikasi dan kebijakan: Katalog mengautentikasi pengguna dan memeriksa izin IAM mereka di resource Lakehouse Google Cloud.
- Respons: Karena penjualan kredensial diaktifkan, katalog akan menampilkan metadata dan token penyimpanan berjangka pendek (kredensial penyimpanan yang dibatasi cakupannya) ke mesin.
- Baca: Mesin menggunakan token ini untuk membaca file tertentu yang diizinkan langsung dari Cloud Storage.
- Komputasi: Mesin memproses data dan menampilkan hasilnya.
Mesin yang didukung
Untuk menggunakan penjualan kredensial dengan mesin kueri, katalog REST Iceberg Lakehouse Anda harus dikonfigurasi untuk mendukung penjualan kredensial.
- Mesin open source: Mesin yang didukung seperti Apache Spark dan Trino menggunakan token penyimpanan berjangka pendek yang dijual oleh katalog. Aplikasi klien Anda harus menentukan dukungan untuk penjualan kredensial di header
X-Iceberg-Access-Delegation. - BigQuery: BigQuery menggunakan kredensial yang dijual untuk akses Cloud Storage, bukan kredensial pengguna akhir.
Izin akun layanan yang diperlukan
Saat penjualan kredensial diaktifkan, pastikan akun layanan berikut memiliki peran yang diperlukan:
- Akun layanan katalog runtime Lakehouse yang disediakan otomatis: Anda harus
memberikan peran Pengguna Objek Penyimpanan (
roles/storage.objectUser) ke akun ini di semua bucket Cloud Storage terkait. akun ini tidak memiliki akses. Tanpa akses ini, kredensial yang dijual tidak dapat membaca atau menulis ke penyimpanan. Jika Anda menggunakan Google Cloud konsol, klik Set bucket permissions untuk 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 Editor BigLake (
roles/biglake.editor) untuk mendapatkan kredensial yang dijual dengan cakupan tulis.
Langkah berikutnya
- Pelajari cara membuat katalog dalam mode penjualan kredensial.
- Pelajari cara mengaktifkan penjualan kredensial untuk katalog yang ada menggunakan Google Cloud konsol.