Memanggil endpoint lokal pribadi, Compute Engine, GKE, atau endpoint lainnya dengan mengaktifkan IAP

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:

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