Anda dapat memanggil endpoint pribadi, Compute Engine, Google Kubernetes Engine (GKE), atau endpoint Google Cloud lainnya dari Alur Kerja dengan mengaktifkan Identity-Aware Proxy (IAP) untuk endpoint. 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 mengetahui informasi selengkapnya, lihat Ringkasan IAP dan informasi 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 Direktori Layanan 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 sesuai dengan Kontrol Layanan VPC.
Membuat permintaan HTTP
Memanggil atau memanggil endpoint pribadi dari Workflows 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 menyetel 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 dikaitkan 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 beri akses—Anda menjadikan identitas permintaan akun utama, 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 izinkan
yang relevan untuk memeriksa apakah akun utama diizinkan untuk mengakses resource
yang diminta. Jika akun utama memiliki peran IAP-secured Web App User
(roles/iap.httpsResourceAccessor
) di project Konsol Google Cloud
tempat resource tersebut berada, akun utama tersebut akan diizinkan untuk mengakses aplikasi.
Anda dapat mengonfigurasi akses ke resource yang diamankan oleh IAP melalui halaman IAP dengan menambahkan akun layanan alur kerja sebagai akun utama. Untuk mengetahui informasi selengkapnya, lihat Mengelola akses ke resource yang diamankan oleh IAP.
Menambahkan informasi autentikasi ke alur kerja Anda
Secara default, permintaan HTTP tidak berisi token identitas atau akses untuk alasan keamanan. Anda harus secara eksplisit menambahkan informasi autentikasi ke definisi alur kerja. Saat membuat permintaan ke endpoint pribadi, gunakan OIDC untuk melakukan autentikasi melalui IAP.
Untuk membuat permintaan HTTP menggunakan OIDC, tambahkan bagian auth
ke bagian args
pada 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 mendukung IAP, Anda harus menentukan client ID OAuth 2.0 yang telah dikonfigurasi untuk aplikasi Anda. Ini dapat
diperoleh dari halaman Credentials.
Langkah selanjutnya
- Memberikan izin alur kerja untuk mengakses resource Google Cloud
- Mengakses data respons HTTP yang disimpan dalam variabel