Pemberian kredensial untuk katalog runtime Lakehouse memungkinkan Anda mendelegasikan akses penyimpanan dan menerapkan izin presisi 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 penyediaan 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 pada resource Lakehouse Google Cloud.
- Respons: Karena penjualan kredensial diaktifkan, katalog menampilkan metadata dan token penyimpanan berumur pendek (kredensial penyimpanan yang diperkecil cakupannya) ke mesin.
- Baca: Mesin menggunakan token ini untuk membaca file resmi tertentu langsung dari Cloud Storage.
- Compute: Mesin memproses data dan menampilkan hasilnya.
Mesin yang didukung
Untuk menggunakan penyediaan kredensial dengan mesin kueri, katalog REST Iceberg Lakehouse Anda harus dikonfigurasi untuk mendukung penyediaan kredensial.
- Mesin open source: Mesin yang didukung seperti Apache 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 credential vending diaktifkan, pastikan akun layanan berikut memiliki peran yang diperlukan:
- Akun layanan katalog runtime Lakehouse yang disediakan otomatis: Harus diberi peran Storage Object User (
roles/storage.objectUser) secara eksplisit di bucket Cloud Storage target. Secara default, akun layanan ini dibuat dengan akses hanya lihat. Tanpa akses admin objek, kredensial yang disediakan tidak dapat melakukan penulisan penyimpanan. (Catatan: Jika mengonfigurasi melalui UI konsol, mengklik Setel izin bucket akan memverifikasi peran ini. Untuk penyiapangcloud, Terraform, atau API, peran ini harus diberikan 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) di tingkat project untuk mendapatkan kredensial yang disediakan dengan cakupan tulis.
Langkah berikutnya
- Pelajari cara membuat katalog dalam mode penjualan kredensial.
- Pelajari cara mengaktifkan penyediaan kredensial untuk katalog yang ada menggunakan
Google Cloud konsol.
- Pelajari cara mengonfigurasi aplikasi klien untuk penyediaan kredensial.