AI Platform Pipelines bergantung pada peran Identity and Access Management (IAM) untuk memberikan otorisasi kepada pengguna, grup, dan layanan saat pipeline machine learning (ML) mengakses resource Google Cloud.
Dokumen ini menjelaskan peran yang diperlukan untuk:
- Menyiapkan Pipeline AI Platform.
- Menjalankan AI Platform Pipelines dengan akun layanan yang dikelola pengguna.
- Mengakses AI Platform Pipelines sebagai pengguna.
Pelajari lebih lanjut konsep IAM dan cara kerja IAM.
Peran yang diperlukan untuk menyiapkan AI Platform Pipelines
Untuk men-deploy AI Platform Pipelines, Anda harus diberi peran Viewer (roles/viewer
)
dan Kubernetes Engine Admin (roles/container.admin
) di project.
Peran Viewer memberikan akses baca ke semua resource dalam project. Peran Admin Kubernetes Engine memberikan akses penuh ke cluster Kubernetes dan objek Kubernetes API.
Untuk mengikuti prinsip hak istimewa terendah, siapkan cluster AI Platform Pipelines
untuk menggunakan akses terperinci. Untuk menyiapkan cluster dengan akses terperinci, Anda juga harus diberi peran Service Account Admin (roles/iam.serviceAccountAdmin
) di project. Peran Admin Akun Layanan memberikan akses untuk membuat dan mengonfigurasi akun layanan IAM.
Pelajari lebih lanjut cara memberikan akses ke peran IAM.
Peran | Izin |
---|---|
Viewer (roles/viewer ) |
Izin untuk tindakan hanya-baca yang tidak memengaruhi status, seperti melihat (tetapi tidak mengubah) resource atau data yang sudah ada dalam project. |
Kubernetes Engine Admin( Memberi akses untuk pengelolaan penuh cluster dan objek Kubernetes API-nya.
Untuk menetapkan akun layanan di node, Anda juga harus memiliki peran Pengguna Akun Layanan ( Resource level terendah tempat Anda dapat memberikan peran ini:
|
|
Service Account Admin( Membuat dan mengelola akun layanan. Resource level terendah tempat Anda dapat memberikan peran ini:
|
|
Peran yang diperlukan untuk menjalankan AI Platform Pipelines dengan akun layanan yang dikelola pengguna
Pod di cluster Google Kubernetes Engine (GKE) melakukan autentikasi ke Google Cloud menggunakan akun layanan cluster GKE. Agar AI Platform Pipelines lebih mudah disiapkan dan digunakan,
cluster GKE yang dibuat oleh AI Platform Pipelines menggunakan akun layanan Compute Engine default dengan cakupan akses https://www.googleapis.com/auth/cloud-platform
. Cakupan akses ini
memberikan akses penuh ke resource dan API Google Cloud yang telah Anda
aktifkan di project, yang dapat memberikan akses berlebihan ke Google Cloud untuk workload di cluster Anda.
Untuk menetapkan izin terperinci ke workload yang berjalan di cluster AI Platform Pipelines, buat akun layanan untuk cluster Anda dan berikan akses akun layanan ini ke peran berikut pada project:
- Monitoring Viewer: Peran Monitoring Viewer (
roles/monitoring.viewer
) memberikan akses baca ke data dan konfigurasi pemantauan. - Monitoring Metric Writer: Peran Monitoring Metric Writer (
roles/monitoring.metricWriter
) memberikan akses tulis sehingga cluster Anda dapat menulis metrik. - Logs Writer: Peran Logs Writer (
roles/logging.logWriter
) memungkinkan cluster Anda menulis entri log. - Storage Object Viewer: Jika Anda berencana membuat image container kustom untuk pipeline yang disimpan di Container Registry, berikan akses cluster AI Platform Pipelines Anda ke peran Storage Object Viewer (
roles/storage.objectViewer
) di project.
Anda juga harus memberikan akses ke akun layanan Anda ke resource atau API Google Cloud apa pun yang digunakan pipeline ML Anda.
- Konfigurasikan cluster GKE Anda untuk menggunakan akun layanan yang dikelola pengguna.
- Pelajari peran IAM dan cara mengelola akun layanan lebih lanjut.
Peran | Judul | Deskripsi | Izin |
---|---|---|---|
Penampil Pemantauan( Memberikan akses hanya baca untuk mendapatkan dan mencantumkan informasi tentang semua data dan konfigurasi pemantauan. Resource level terendah tempat Anda dapat memberikan peran ini:
|
|
||
Penulis Metrik Pemantauan( Memberikan akses tulis saja ke metrik. Akses ini menyediakan izin yang diperlukan oleh agen Cloud Monitoring dan sistem lainnya yang mengirimkan metrik. Resource level terendah tempat Anda dapat memberikan peran ini:
|
|
||
Penulis Log( Memberikan izin untuk menulis entri log. Resource level terendah tempat Anda dapat memberikan peran ini:
|
|
||
Storage Object Viewer( Memberikan akses untuk melihat objek dan metadatanya, tidak termasuk ACL. Juga dapat mencantumkan objek dalam bucket. Resource level terendah tempat Anda dapat memberikan peran ini:
|
|
Peran yang diperlukan untuk mengakses AI Platform Pipelines sebagai pengguna
Untuk mengakses cluster AI Platform Pipelines, setiap pengguna harus diberi
peran Kubernetes Engine Cluster Viewer (roles/container.clusterViewer
) dan
Peran Pengguna Akun Layanan untuk
akun layanan cluster Google Kubernetes Engine.
Peran | Judul | Deskripsi | Izin |
---|---|---|---|
Kubernetes Engine Cluster Viewer( Memberikan akses untuk mendapatkan dan mencantumkan cluster GKE. |
|
Lanjutkan ke bagian berikutnya untuk mempelajari cara memberikan akses kepada pengguna ke peran Kubernetes Engine Cluster Viewer dan Peran Pengguna Akun Layanan.
Memberikan akses ke AI Platform Pipelines kepada pengguna
Gunakan petunjuk berikut untuk memberi akun pengguna akses ke cluster AI Platform Pipelines Anda.
Buka AI Platform Pipelines di konsol Google Cloud.
Temukan cluster AI Platform Pipelines Anda. Catat Cluster dan Zone untuk digunakan di langkah berikutnya.
Buka sesi Cloud Shell.
Cloud Shell akan terbuka dalam bingkai di bagian bawah konsol Google Cloud. Gunakan Cloud Shell untuk menyelesaikan proses ini.
Jalankan perintah berikut untuk menetapkan project Google Cloud default untuk sesi Cloud Shell ini.
gcloud config set project PROJECT_ID
Ganti PROJECT_ID dengan ID project Google Cloud Anda.
Jalankan perintah berikut untuk menemukan akun layanan yang digunakan cluster GKE Anda.
gcloud container clusters describe CLUSTER_NAME --zone ZONE \ --format="flattened(nodePools[].config.serviceAccount)"
Ganti kode berikut:
- CLUSTER_NAME: Nama cluster GKE Anda.
- ZONE: Zona tempat cluster Anda dibuat.
Respons mungkin menunjukkan bahwa cluster Anda menggunakan akun layanan bernama
default
. Nilai ini mengacu pada akun layanan default untuk Compute Engine. Jalankan perintah berikut untuk menemukan nama lengkap akun layanan ini.gcloud iam service-accounts list \ --filter "compute@developer.gserviceaccount.com"
Pelajari akun layanan default Compute Engine lebih lanjut.
Berikan peran Service Account User ke akun pengguna Anda di akun layanan cluster GKE.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME \ --member=user:USERNAME \ --role=roles/iam.serviceAccountUser
Ganti kode berikut:
- SERVICE_ACCOUNT_NAME: Nama akun layanan cluster GKE Anda, yang Anda temukan di langkah sebelumnya. Nama akun layanan diformat seperti *@*.gserviceaccount.com.
- USERNAME: Nama pengguna Anda di Google Cloud.
Berikan akses akun pengguna Anda ke peran GKE Cluster Viewer pada project.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USERNAME --role roles/container.clusterViewer
Ganti kode berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- USERNAME: Nama pengguna Anda di Google Cloud.