Mengakses endpoint gRPC untuk Dataproc Metastore

Halaman ini menjelaskan cara memberikan akses akun pengguna atau akun layanan ke layanan Dataproc Metastore yang menggunakan protokol endpoint gRPC. Google Cloud

Tentang pemberian peran metadata gRPC

Saat memberikan akses akun ke metadata Anda, pertimbangkan konsep berikut:

  • Tingkat akses yang akan diberikan. Tingkat akses yang Anda berikan mengontrol jumlah metadata yang dapat diakses oleh akun. Misalnya, Anda dapat memilih untuk memberikan akses ke metadata yang disimpan dalam database tertentu, tabel tertentu, atau Anda dapat memberikan akses ke seluruh project Anda.
  • Akun utama yang memerlukan akses. Anda menggunakan pokok IAM (identitas) untuk menjalankan tugas. Misalnya, Anda dapat menjalankan tugas cluster Dataproc dengan akun pengguna atau akun layanan (biasanya akun layanan VM Dataproc).

    Untuk mengetahui informasi selengkapnya tentang akun yang dapat Anda gunakan dengan Dataproc Metastore, lihat Akun layanan Dataproc.

Bergantung pada cakupan kontrol yang diperlukan, berikan salah satu peran IAM bawaan berikut kepada akun utama Anda:

  • Untuk memberikan akses penuh ke resource metadata. Peran Pemilik Metadata (roles/metastore.metadataOwner)
  • Untuk memberikan akses baca-tulis ke metadata: Peran Editor Metadata roles/metastore.metadataEditor)
  • Untuk memberikan akses baca ke metadata: Peran Pelihat Metadata (roles/metastore.metadataViewer)

Sebelum memulai

  • Aktifkan Dataproc Metastore di project Anda.
  • Buat layanan metastore yang menggunakan protokol gRPC.
  • Pahami persyaratan jaringan khusus untuk project Anda.

    • Persyaratan gRPC dan Virtual Private Cloud (VPC). Jika Anda menggunakan gRPC, Anda tidak perlu mengonfigurasi VPC Bersama atau menetapkan konfigurasi jaringan tambahan. Secara default, endpoint gRPC dapat dijangkau dari VPC mana pun.

    Namun, ada satu pengecualian. Jika project Anda menggunakan perimeter layanan VPC-SC, maka endpoint gRPC hanya dapat dijangkau dari VPC milik project dalam perimeter. Untuk mengetahui informasi selengkapnya, lihat Kontrol Layanan VPC dengan Dataproc Metastore.

Peran yang Diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk memberi pokok akses ke metadata Dataproc Metastore, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda, sambil mengikuti prinsip hak istimewa paling rendah:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk memberikan akses utama ke metadata Dataproc Metastore. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memberikan akses akun utama ke metadata Dataproc Metastore:

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran dan izin Dataproc Metastore tertentu, lihat Ringkasan IAM Dataproc Metastore.

Memberi akun utama akses ke metadata

Anda dapat memberikan akses akun utama ke metadata di tingkat project, tingkat layanan, tingkat database, atau tingkat tabel.

Memberikan akses di tingkat project

Untuk memberikan akses ke semua metadata Dataproc Metastore di tingkat project, Anda harus memberikan peran metadata ke akun utama Anda.

gcloud CLI

Untuk memberikan peran metadata ke semua layanan Dataproc Metastore dalam project tertentu, jalankan perintah gcloud projects add-iam-policy-binding berikut:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=PRINCIPAL \
    --role=METASTORE_ROLE

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project yang ingin Anda beri akses metadata.
  • PRINCIPAL: Jenis dan ID email (alamat email) prinsipal.
    • Untuk akun pengguna: user:EMAIL_ID
    • Untuk akun layanan: serviceAccount:EMAIL_ID
    • Untuk Google Grup: group:EMAIL_ID
    • Untuk jenis akun utama lainnya: ID utama
  • METASTORE_ROLE: Salah satu peran berikut, bergantung pada cakupan akses yang ingin Anda berikan kepada akun utama: roles/metastore.metadataViewer, roles/metastore.metadataEditor, atau roles/metastore.metadataOwner.

Memberikan akses di tingkat layanan

Untuk memberikan akses ke semua metadata Dataproc Metastore di tingkat layanan, Anda harus memberikan peran metadata ke akun utama Anda.

gcloud CLI

Untuk memberikan peran metadata pada perincian satu layanan metastore Dataproc Metastore, jalankan perintah gcloud metastore services add-iam-policy-binding berikut:

gcloud metastore services add-iam-policy-binding SERVICE_ID \
  --location=LOCATION \
  --member=PRINCIPAL \
  --role=METASTORE_ROLE

Ganti kode berikut:

  • SERVICE_ID: ID atau ID yang sepenuhnya memenuhi syarat untuk layanan Dataproc Metastore Anda.
  • LOCATION: Region Dataproc Metastore yang aksesnya Anda berikan.
  • PRINCIPAL: Jenis dan ID email (alamat email) akun utama:
    • Untuk akun pengguna: user:EMAIL_ID
    • Untuk akun layanan: serviceAccount:EMAIL_ID
    • Untuk Google Grup: group:EMAIL_ID
    • Untuk jenis akun utama lainnya: ID utama
  • METASTORE_ROLE: Salah satu peran berikut, bergantung pada cakupan akses yang ingin Anda berikan kepada akun utama: roles/metastore.metadataViewer,roles/metastore.metadataEditor, atau roles/metastore.metadataOwner.

Memberikan akses di tingkat database

Untuk memberikan akses ke semua metadata Dataproc Metastore dalam database tertentu, Anda harus menambahkan peran metadata ke akun utama Anda.

gcloud CLI

Untuk memberikan peran metadata pada perincian database tertentu, jalankan perintah gcloud metastore services databases add-iam-policy-binding berikut:

gcloud metastore services databases add-iam-policy-binding DATABASE_ID \
  --project=PROJECT \
  --location=LOCATION \
  --service=SERVICE_ID \
  --member=PRINCIPAL \
  --role=METASTORE_ROLE

Ganti kode berikut:

  • DATABASE_ID: ID database yang akses metadatanya Anda berikan. Anda mendapatkan ID ini dari skema database Anda.
  • PROJECT: ID Google Cloud project yang berisi layanan Dataproc Metastore yang akses metadatanya Anda berikan.
  • LOCATION: Region layanan Dataproc Metastore yang Anda berikan aksesnya.
  • SERVICE_ID: ID atau ID yang sepenuhnya memenuhi syarat untuk layanan Dataproc Metastore Anda.
  • PRINCIPAL: Jenis dan ID email (alamat email) akun utama:
    • Untuk akun pengguna: user:EMAIL_ID
    • Untuk akun layanan: serviceAccount:EMAIL_ID
    • Untuk Google Grup: group:EMAIL_ID
    • Untuk jenis akun utama lainnya: ID utama
  • METASTORE_ROLE: Salah satu peran berikut, bergantung pada cakupan akses yang ingin Anda berikan kepada akun utama: roles/metastore.metadataViewer, roles/metastore.metadataEditor, atau roles/metastore.metadataOwner.

Memberikan akses di tingkat tabel

Untuk memberikan akses ke semua metadata Dataproc Metastore dalam tabel tertentu, Anda harus memberikan peran metadata ke akun utama Anda.

gcloud CLI

Untuk memberikan peran metadata pada perincian tabel, jalankan perintah gcloud metastore services databases tables add-iam-policy-binding berikut:

gcloud metastore services databases tables add-iam-policy-binding TABLE_ID \
  --database=DATABASE_ID \
  --project=PROJECT \
  --location=LOCATION \
  --service=SERVICE_ID \
  --member=PRINCIPAL \
  --role=METASTORE_ROLE

Ganti kode berikut:

  • TABLE_ID: ID tabel yang aksesnya Anda berikan. Anda mendapatkan ID ini dari skema database Anda.
  • DATABASE_ID: ID database yang berisi tabel yang akses metadatanya Anda berikan. Anda mendapatkan ID ini dari skema database Anda.
  • PROJECT: ID Google Cloud project yang berisi layanan Dataproc Metastore yang akses metadatanya Anda berikan.
  • LOCATION: Region layanan Dataproc Metastore yang Anda berikan akses metadata-nya.
  • SERVICE_ID: ID atau ID yang sepenuhnya memenuhi syarat untuk layanan Dataproc Metastore Anda.
  • PRINCIPAL: Jenis dan ID email (alamat email) akun utama:
    • Untuk akun pengguna: user:EMAIL_ID
    • Untuk akun layanan: serviceAccount:EMAIL_ID
    • Untuk Google Grup: group:EMAIL_ID
  • METASTORE_ROLE: Salah satu peran berikut, bergantung pada cakupan akses yang ingin Anda berikan kepada akun utama: roles/metastore.metadataViewer, roles/metastore.metadataEditor, atau roles/metastore.metadataOwner.

Setelah Anda memberikan akses ke metadata Anda

Setelah memberikan peran yang diperlukan ke akun layanan, Anda dapat menghubungkan Dataproc Metastore ke cluster Dataproc. Kemudian, cluster Anda akan menggunakan layanan Dataproc Metastore sebagai Hive Metastore-nya.

Langkah berikutnya