Anda dapat memanggil endpoint lokal pribadi, Compute Engine, Google Kubernetes Engine (GKE), atau endpoint Google Cloud lainnya dari Alur Kerja dengan mengaktifkan Identity-Aware Proxy (IAP) untuk endpoint tersebut. IAP digunakan untuk menerapkan kebijakan kontrol akses, dan memungkinkan Anda membuat lapisan otorisasi pusat untuk aplikasi yang diakses oleh HTTPS, sehingga Anda dapat menggunakan model kontrol akses tingkat aplikasi, bukan mengandalkan firewall tingkat jaringan. Untuk informasi selengkapnya, lihat ringkasan IAP dan hal berikut:
- Mengaktifkan IAP untuk App Engine
- Mengaktifkan IAP untuk Cloud Run
- Mengaktifkan IAP untuk Compute Engine
- Mengaktifkan IAP untuk GKE
- Mengaktifkan IAP untuk aplikasi lokal
Atau, Anda dapat menargetkan endpoint pribadi untuk panggilan HTTP dari eksekusi alur kerja menggunakan registry layanan Service Directory dengan Alur Kerja. Dengan membuat endpoint pribadi dalam jaringan Virtual Private Cloud (VPC), endpoint tersebut dapat mematuhi Kontrol Layanan VPC. Untuk mengetahui informasi selengkapnya, lihat Memanggil endpoint pribadi yang mematuhi Kontrol Layanan VPC.
Membuat permintaan HTTP
Memanggil atau memanggil endpoint pribadi dari Alur Kerja dilakukan
melalui permintaan HTTP. Metode permintaan HTTP yang paling umum memiliki pintasan panggilan (seperti http.get dan http.post), tetapi Anda dapat membuat jenis permintaan HTTP apa pun dengan menetapkan kolom call
ke http.request
dan menentukan jenis permintaan menggunakan kolom method
. Untuk
mengetahui informasi selengkapnya, lihat Membuat permintaan HTTP.
Menggunakan akun layanan dengan izin yang diperlukan
Saat membuat permintaan ke layanan Google Cloud lainnya, alur kerja Anda harus dikaitkan dengan akun layanan yang telah diberi satu atau beberapa peran Identity and Access Management (IAM) yang berisi izin yang diperlukan untuk mengakses resource yang diminta. Untuk mempelajari akun layanan yang terkait dengan alur kerja yang ada, lihat Memverifikasi akun layanan terkait alur kerja.
Saat menyiapkan akun layanan, Anda mengaitkan identitas yang meminta dengan resource yang ingin Anda berikan aksesnya—Anda menjadikan identitas yang meminta sebagai prinsipal, atau pengguna, resource—lalu menetapkan peran yang sesuai. Peran menentukan izin yang dimiliki identitas dalam konteks resource. Jika aplikasi atau resource dilindungi oleh IAP, aplikasi atau resource tersebut hanya dapat diakses melalui proxy oleh akun utama yang memiliki peran yang benar.
Misalnya, setelah autentikasi, IAP menerapkan kebijakan izin
yang relevan untuk memeriksa apakah akun utama diberi otorisasi untuk mengakses resource
yang diminta. Jika akun utama memiliki peran Pengguna Aplikasi Web yang Dilindungi IAP
(roles/iap.httpsResourceAccessor
) di project konsol Google Cloud
tempat resource berada, akun utama tersebut diberi otorisasi untuk mengakses aplikasi.
Anda dapat mengonfigurasi akses ke resource yang diamankan IAP melalui halaman IAP dengan menambahkan akun layanan Workflows sebagai akun utama. Untuk informasi selengkapnya, lihat Mengelola akses ke resource yang diamankan IAP.
Menambahkan informasi autentikasi ke alur kerja Anda
Secara default, permintaan HTTP tidak berisi token identitas atau akses karena alasan keamanan. Anda harus menambahkan informasi autentikasi secara eksplisit ke definisi alur kerja. Saat membuat permintaan ke endpoint pribadi, gunakan OIDC untuk mengautentikasi melalui IAP.
Untuk membuat permintaan HTTP menggunakan OIDC, tambahkan bagian auth
ke bagian args
definisi alur kerja, setelah Anda menentukan URL.
YAML
- step_A: call: http.get args: url: https://www.example.com/endpoint body: someValue: "Hello World" anotherValue: 123 auth: type: OIDC audience: OIDC_AUDIENCE
JSON
[ { "step_A": { "call": "http.get", "args": { "url": "https://www.example.com/endpoint", "body": { "someValue": "Hello World", "anotherValue": 123 }, "auth": { "type": "OIDC", "audience": "OIDC_AUDIENCE" } } } } ]
Anda dapat menggunakan parameter audience
untuk menentukan audiens OIDC untuk token.
Saat memanggil endpoint yang mengaktifkan IAP, Anda harus menentukan client ID OAuth 2.0 yang telah dikonfigurasi untuk aplikasi Anda. Kode ini dapat diperoleh dari halaman Kredensial.
Langkah selanjutnya
- Memberikan izin alur kerja untuk mengakses resource Google Cloud
- Mengakses data respons HTTP yang disimpan dalam variabel