Memanggil endpoint yang diamankan IAP

Anda dapat menggunakan Workflows untuk memanggil endpoint yang Identity-Aware Proxy (IAP) telah diaktifkan. Endpoint dapat berupa endpoint lokal, Compute Engine, Google Kubernetes Engine (GKE), atau Google Cloud endpoint lainnya.

IAP memverifikasi identitas dan menerapkan otorisasi di tingkat aplikasi, sehingga Anda dapat menggunakan model kontrol akses tingkat aplikasi, bukan mengandalkan firewall tingkat jaringan. Jika aplikasi atau resource dilindungi oleh IAP, aplikasi atau resource tersebut hanya dapat diakses melalui proxy oleh akun utama yang memiliki peran Identity and Access Management (IAM) yang benar.

Untuk mengetahui informasi selengkapnya, lihat ringkasan IAP dan panduan berikut:

Membuat permintaan HTTP

Panggilan atau pemanggilan endpoint 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 lain, 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 berikan aksesnya—Anda menjadikan identitas yang meminta sebagai principal, 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 tepat.

Misalnya, setelah autentikasi, IAP menerapkan kebijakan izin yang relevan untuk memeriksa apakah akun utama diizinkan mengakses resource yang diminta. Jika akun utama memiliki peran Pengguna Aplikasi Web yang diamankan oleh IAP (roles/iap.httpsResourceAccessor) di project konsol Google Cloud tempat resource berada, akun tersebut diizinkan untuk mengakses aplikasi.

Anda dapat mengonfigurasi akses ke resource yang diamankan IAP melalui halaman IAP dengan menambahkan akun layanan Workflows sebagai akun utama. Untuk mengetahui 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, gunakan OIDC untuk mengautentikasi melalui IAP.

Untuk membuat permintaan HTTP menggunakan OIDC, tambahkan bagian auth ke bagian args dari definisi alur kerja Anda, 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. Kredensial ini dapat diperoleh dari halaman Kredensial.

Langkah berikutnya