Mengaktifkan penyediaan kredensial

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

  1. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  2. Mengaktifkan BigLake API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengaktifkan penyediaan kredensial, minta administrator untuk memberi Anda peran IAM berikut:

  • Semua:
  • 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

  1. Di konsol Google Cloud , buka halaman Lakehouse.

Buka Lakehouse

  1. Di baris katalog yang Anda perbarui, pilih Tindakan katalog lainnya > Edit autentikasi.

    1. 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.

    2. Pilih Save. ` Katalog Anda diperbarui dan halaman Detail katalog akan terbuka.

  2. Di bagian Authentication method, pilih Set bucket permissions.

    1. 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 adalah gs://bucket-id, nama katalognya mungkin bucket-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, US atau us-central1) atau region Uni Eropa (misalnya, EU atau europe-west4), tentukan US atau EU untuk 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.