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 memberikan kontrol penuh atas resource Dataproc Metastore (
roles/metastore.editor
) -
Untuk memberikan kontrol penuh atas resource Dataproc Metastore, termasuk memperbarui izin IAM (
roles/metastore.admin
)
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
, atauroles/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
, atauroles/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
, atauroles/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
, atauroles/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
- Melampirkan cluster Dataproc
- Memperbarui dan menghapus Dataproc Metastore
- Mengimpor metadata ke Dataproc Metastore