Halaman ini menjelaskan cara memberikan akses akun pengguna Google Cloud atau akun layanan ke layanan Dataproc Metastore yang menggunakan protokol endpoint gRPC.
Tentang memberikan 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 akun. Misalnya, Anda dapat memilih untuk memberikan akses ke metadata yang disimpan di database tertentu, tabel tertentu, atau memberikan akses ke seluruh project.
Prinsipal yang memerlukan akses. Anda menggunakan akun utama (identitas) IAM untuk menjalankan tugas. Misalnya, Anda dapat menjalankan tugas cluster Dataproc dengan akun pengguna atau akun layanan (biasanya akun layanan VM Dataproc).
Untuk 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 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, endpoint gRPC hanya dapat dijangkau dari VPC yang dimiliki project dalam perimeter. Untuk mengetahui informasi selengkapnya, lihat Kontrol Layanan VPC dengan Dataproc Metastore.
Peran yang Diperlukan
Untuk mendapatkan izin yang Anda perlukan guna memberikan akses akun utama ke metadata Dataproc Metastore, minta administrator untuk memberi Anda peran IAM berikut di project Anda, dengan mengikuti prinsip hak istimewa minimum:
-
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 akun utama ke metadata Metastore Dataproc. 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.Memberikan akses metadata ke akun utama
Anda dapat memberikan akses metadata ke akun utama 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.
gcloud CLI
Untuk memberikan peran metadata ke semua layanan Dataproc Metastore di
project yang ditentukan, 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 project Google Cloud yang ingin Anda beri akses metadata.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: Konsep yang terkait dengan identitas
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.
gcloud CLI
Untuk memberikan peran metadata pada tingkat 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 Metastore Dataproc 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: Konsep yang terkait dengan identitas
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 di database tertentu, Anda harus menambahkan peran metadata ke akun utama.
gcloud CLI
Untuk memberikan peran metadata pada tingkat 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 metadata-nya Anda berikan. Anda mendapatkan ID ini dari skema database.PROJECT
: Project ID Google Cloud yang berisi layanan Metastore Dataproc yang Anda beri akses metadata.LOCATION
: Region layanan Dataproc Metastore yang aksesnya Anda berikan.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: Konsep yang terkait dengan identitas
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.
gcloud CLI
Untuk memberikan peran metadata pada tingkat 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.DATABASE_ID
: ID database yang berisi tabel yang akses metadata-nya Anda berikan. Anda mendapatkan ID ini dari skema database.PROJECT
: Project ID Google Cloud yang berisi layanan Dataproc Metastore yang Anda izinkan akses metadatanya.LOCATION
: Region layanan Dataproc Metastore yang Anda izinkan untuk mengakses metadata.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
Setelah memberikan peran yang diperlukan ke akun layanan, Anda dapat menghubungkan Dataproc Metastore ke cluster Dataproc. Cluster Anda kemudian akan menggunakan layanan Dataproc Metastore sebagai Metastore Hive-nya.
Langkah selanjutnya
- Melampirkan cluster Dataproc
- Memperbarui dan menghapus Dataproc Metastore
- Mengimpor metadata ke Dataproc Metastore