Menggunakan IAM untuk mengontrol akses

Workflows menggunakan Identity and Access Management (IAM) untuk mengontrol pengguna terautentikasi dan akun layanan mana yang dapat melakukan tindakan tertentu.

Sebelum mulai mengautentikasi dan memberikan otorisasi ke resource Workflows, pastikan Anda memahami konsep dasar IAM.

Halaman ini menjelaskan izin yang diperlukan untuk mengakses resource Workflow, termasuk kemampuan untuk memanggil eksekusi alur kerja.

Untuk mengetahui informasi tentang cara memberikan izin ke alur kerja untuk mengakses layanan lain, lihat Memberikan izin alur kerja untuk mengakses resource Google Cloud.

Kontrol akses

Terlepas dari cara Anda menerapkan autentikasi, penting untuk memahami kontrol akses dan peran Workflows yang tersedia. Peran adalah kumpulan izin yang memberikan akses ke resource di Google Cloud. Saat mem-build aplikasi produksi, hanya berikan peran yang diperlukan akun layanan untuk berinteraksi dengan API, fitur, atau resource Google Cloud yang berlaku.

Untuk informasi selengkapnya tentang peran Workflows yang tersedia, lihat Peran dan izin alur kerja.

Memanggil Alur Kerja

Akun layanan merupakan identitas dan resource yang menerima kebijakan IAM. Hasilnya, Anda dapat memberikan peran ke akun layanan, lalu membiarkan akun utama lain meniru akun layanan dengan memberinya peran di akun layanan atau di salah satu resource induk akun layanan.

Misalnya, Anda dapat memberikan peran workflows.invoker ke akun layanan sehingga akun tersebut memiliki izin untuk memicu eksekusi alur kerja Anda. Kemudian, Anda dapat mengizinkan akun utama untuk meniru identitas atau bertindak sebagai akun layanan Anda. Perhatikan bahwa akun layanan alur kerja tidak memerlukan peran workflows.invoker, kecuali jika alur kerja memanggil dirinya sendiri atau alur kerja lainnya.

Untuk mengetahui informasi selengkapnya tentang peniruan akun layanan, lihat Peniruan identitas akun layanan.

Untuk memberikan peran Workflows Invoker kepada akun layanan dari layanan yang memanggil Workflows peran Alur Kerja Invoker (roles/workflows.invoker) sehingga layanan tersebut memiliki izin untuk menjalankan alur kerja dan mengelola eksekusi, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Service Accounts:
    Buka Service Accounts

  2. Pilih project, lalu klik Create service account.

  3. Di kolom Service account name, masukkan nama, seperti sa-name.

  4. Klik Buat dan lanjutkan.

  5. Pada daftar Select a role, pilih Workflows > Workflows Invoker.

  6. Klik Done.

gcloud

  1. Buka terminal.

  2. Masukkan perintah berikut:

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
       --role roles/workflows.invoker

    Ganti kode berikut:

    • PROJECT_ID: ID project Google Cloud Anda.
    • SERVICE_ACCOUNT_NAME: nama akun layanan.