Mengaktifkan mode pemberian kredensial untuk katalog REST Apache Iceberg yang ada akan mengonfigurasi Lakehouse untuk Apache Iceberg guna memberikan token penyimpanan jangka pendek dan terbatas cakupannya kepada mesin atau workload kueri yang diotorisasi.
Dalam katalog runtime Lakehouse, metode autentikasi ini menghilangkan kebutuhan Anda atau runtime kueri untuk memiliki izin baca dan tulis langsung di bucket Cloud Storage yang mendasarinya.
Sebelum memulai
- Baca Tentang katalog runtime Lakehouse untuk memahami cara kerja katalog runtime Lakehouse dan batasan untuk layanan ini.
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengaktifkan pemberian kredensial, minta administrator untuk memberi Anda peran IAM berikut:
-
Semua:
- Admin BigLake (
roles/biglake.admin) di project Anda - Admin Penyimpanan (
roles/storage.admin) di project Anda
- Admin BigLake (
-
Akun layanan katalog REST Apache Iceberg yang disediakan otomatis:
Pengguna Objek Penyimpanan (
roles/storage.objectUser) di semua bucket Cloud Storage terkait. Setelah mengaktifkan pemberian kredensial, berikan peran Pengguna Objek Penyimpanan (roles/storage.objectUser) secara eksplisit di semua bucket penyimpanan terkait ke akun layanan katalog REST Apache Iceberg yang disediakan otomatis untuk katalog Anda.
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 pemberian kredensial
Jika metode autentikasi untuk katalog REST Apache Iceberg Anda ditetapkan ke kredensial pengguna akhir, Anda dapat mengalihkannya ke mode pemberian kredensial.
Konsol
- Di Google Cloud konsol, buka halaman Lakehouse.
Di baris katalog yang Anda perbarui, pilih Tindakan katalog lainnya > Edit autentikasi.
Dalam dialog autentikasi, pilih Mode pemberian kredensial. Akun layanan katalog REST Apache Iceberg yang disediakan otomatis memerlukan peran Pengguna Objek Penyimpanan (
roles/storage.objectUser) secara eksplisit di semua bucket Cloud Storage terkait. Secara default, akun ini tidak memiliki akses. Tanpa peran ini, kredensial yang diberikan tidak memiliki cakupan yang memadai untuk melakukan penulisan penyimpanan.Pilih Simpan.
Your catalog is updated and the **Catalog details** page opens.Di bagian Metode autentikasi, pilih Tetapkan izin bucket.
Dalam dialog, pilih Konfirmasi.
Tindakan ini akan memverifikasi bahwa akun layanan katalog Anda memiliki peran Pengguna Objek Penyimpanan (roles/storage.objectUser) di semua bucket penyimpanan terkait.
gcloud
Gunakan perintah gcloud biglake iceberg catalogs update.
gcloud biglake iceberg catalogs update \ CATALOG_NAME \ --project PROJECT_ID \ --credential-mode vended-credentials
Ganti kode berikut:
CATALOG_NAME: nama untuk katalog Anda. Untuk katalog Lakehouse, ini adalah nama katalog kustom Anda. Untuk katalog bucket Cloud Storage, nama ini cocok dengan ID bucket Cloud Storage yang digunakan dengan katalog REST. Nama ini juga digunakan sebagai ID katalog saat mengkueri tabel ini dari BigQuery.PROJECT_ID: ID project Anda. Google CloudSetelah mengaktifkan pemberian kredensial, berikan peran Pengguna Objek Penyimpanan (
roles/storage.objectUser) secara eksplisit di semua bucket penyimpanan terkait ke akun layanan katalog REST Apache Iceberg yang disediakan otomatis untuk katalog Anda.
REST
Untuk mengaktifkan mode pemberian kredensial menggunakan REST API, buat permintaan PATCH request
ke endpoint UpdateIcebergCatalog:
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.credential_mode
Isi permintaan harus berisi payload JSON IcebergCatalog dengan credential_mode yang ditetapkan ke VENDED_CREDENTIALS.
Ganti kode berikut:
PROJECT_ID: ID project Anda Google Cloud .CATALOG_ID: ID katalog runtime Lakehouse Anda.