Mengaktifkan mode penyediaan kredensial untuk katalog REST Apache Iceberg yang ada akan mengonfigurasi Lakehouse untuk Apache Iceberg agar menyediakan token penyimpanan yang memiliki cakupan lebih kecil dan masa berlaku singkat untuk mesin atau workload kueri yang sah.
Dalam katalog runtime Lakehouse, metode autentikasi ini menghilangkan kebutuhan Anda atau runtime kueri untuk memiliki izin baca dan tulis langsung pada bucket Cloud Storage yang mendasarinya.
Sebelum memulai
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
-
Mengaktifkan BigLake API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengaktifkan penyediaan kredensial, minta administrator untuk memberi Anda peran IAM berikut:
-
Semua:
- BigLake Admin (
roles/biglake.admin) di project Anda - Storage Admin (
roles/storage.admin) di project Anda
- BigLake Admin (
-
Akun layanan katalog REST Apache Iceberg yang disediakan otomatis:
Pengguna Objek Penyimpanan (
roles/storage.objectUser) di bucket Cloud Storage target. Setelah mengaktifkan penyediaan kredensial, berikan peran Storage Object User (roles/storage.objectUser) secara eksplisit di bucket penyimpanan Anda kepada akun layanan katalog Apache Iceberg REST yang disediakan otomatis.
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Mengaktifkan penyediaan kredensial
Jika metode autentikasi untuk katalog REST Apache Iceberg Anda disetel ke kredensial pengguna akhir, Anda dapat mengalihkannya ke mode penyediaan kredensial.
Konsol
- Di konsol Google Cloud , buka halaman Lakehouse.
Di baris katalog yang Anda perbarui, pilih Tindakan katalog lainnya > Edit autentikasi.
Dalam dialog autentikasi, pilih Credential vending mode. Akun layanan yang disediakan otomatis untuk layanan katalog REST Apache Iceberg memerlukan peran Storage Object User (
roles/storage.objectUser) yang eksplisit di bucket Cloud Storage target. Secara default, aksesnya hanya untuk pelihat. Tanpa peran ini, kredensial yang disediakan tidak memiliki cakupan yang memadai untuk melakukan penulisan penyimpanan.Pilih Save. ` Katalog Anda diperbarui dan halaman Detail katalog akan terbuka.
Di bagian Authentication method, pilih Set bucket permissions.
- Pada dialog, pilih Konfirmasi.
Hal ini memverifikasi bahwa akun layanan katalog Anda memiliki peran Storage Object User (roles/storage.objectUser) di bucket penyimpanan Anda.
gcloud
Gunakan gcloud biglake iceberg catalogs create perintah.
gcloud biglake iceberg catalogs create \ CATALOG_NAME \ --project PROJECT_ID \ --catalog-type gcs-bucket \ --credential-mode vended-credentials \ [--primary-location LOCATION]
Ganti kode berikut:
CATALOG_NAME: nama untuk katalog Anda. Nama ini sering kali cocok dengan ID bucket Cloud Storage yang digunakan dengan katalog REST Iceberg Lakehouse—misalnya, jika bucket Anda adalahgs://bucket-id, nama katalognya mungkinbucket-id. Nama ini juga digunakan sebagai ID katalog saat mengueri tabel ini dari BigQuery.PROJECT_ID: Google Cloud Project ID Anda.LOCATION: (Opsional) Wilayah utama untuk katalog guna memastikan interoperabilitas dengan BigQuery. Untuk bucket Cloud Storage di region AS (misalnya,USatauus-central1) atau region Uni Eropa (misalnya,EUataueurope-west4), tentukanUSatauEUuntuk memastikan katalog dapat diakses dan tersedia untuk dikueri dari multi-region BigQuery yang sesuai. Untuk mengetahui informasi selengkapnya, lihat Region bucket dan katalog.Setelah membuat katalog, berikan peran Storage Object User (
roles/storage.objectAdmin) secara eksplisit di bucket penyimpanan Anda ke akun layanan katalog REST Apache Iceberg yang disediakan otomatis untuk katalog Anda.
REST
Untuk mengaktifkan mode penyediaan kredensial menggunakan REST API, buat permintaan PATCH ke endpoint UpdateIcebergCatalog:
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.credentialMode
Isi permintaan harus berisi payload JSON IcebergCatalog dengan credentialMode yang ditetapkan ke VENDED_CREDENTIALS.
Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID Anda.CATALOG_ID: ID katalog runtime Lakehouse Anda.