Ringkasan Identity-Aware Proxy

Halaman ini menjelaskan konsep dasar Identity-Aware Proxy (IAP), sebuah Google Cloud layanan global.

Dengan IAP, Anda dapat membuat lapisan otorisasi pusat untuk aplikasi yang diakses oleh HTTPS. Dengan begitu, Anda dapat menggunakan model kontrol akses tingkat aplikasi, bukan mengandalkan firewall tingkat jaringan.

Kebijakan IAP diskalakan di seluruh organisasi Anda. Anda dapat menentukan kebijakan akses secara terpusat dan menerapkannya ke semua aplikasi dan resource Anda. Dengan menugaskan tim khusus untuk membuat dan menerapkan kebijakan, Anda melindungi project dari definisi atau penerapan kebijakan yang salah dalam aplikasi apa pun.

Kapan harus menggunakan IAP

Gunakan IAP jika Anda ingin menerapkan kebijakan kontrol akses untuk aplikasi dan resource. IAP berfungsi dengan header bertanda tangan atau Users API lingkungan standar App Engine untuk mengamankan aplikasi Anda. Dengan IAP, Anda dapat menyiapkan akses aplikasi berbasis grup: resource dapat diakses oleh karyawan dan tidak dapat diakses oleh kontraktor, atau hanya dapat diakses oleh departemen tertentu.

Cara kerja IAP

Jika aplikasi atau resource dilindungi oleh IAP, aplikasi atau resource tersebut hanya dapat diakses melalui proxy oleh akun utama, yang juga dikenal sebagai pengguna, yang memiliki peran Identity and Access Management (IAM) yang benar. Saat Anda memberi pengguna akses ke aplikasi atau resource oleh IAP, pengguna tersebut akan berada di bawah kontrol akses terperinci yang diterapkan oleh produk yang digunakan tanpa memerlukan VPN. Saat pengguna mencoba mengakses resource yang diamankan IAP, IAP akan melakukan pemeriksaan autentikasi dan otorisasi.

App Engine
diagram jalur permintaan ke App Engine saat menggunakan Cloud IAP
Cloud Run
diagram jalur permintaan ke Cloud Run saat menggunakan Cloud IAP
Compute Engine
diagram jalur permintaan ke Compute Engine dan Kubernetes Engine saat menggunakan Cloud IAP
GKE
diagram jalur permintaan ke Compute Engine dan Kubernetes Engine saat menggunakan Cloud IAP
On-premise
diagram jalur permintaan ke aplikasi lokal saat menggunakan Cloud IAP

Autentikasi

Permintaan ke resource Google Cloud Anda berasal dari Cloud Run, App Engine, dan Cloud Load Balancing (Load Balancing HTTP(S) Eksternal dan Internal). Kode infrastruktur penayangan untuk produk ini memeriksa apakah IAP diaktifkan untuk aplikasi atau layanan backend. Jika IAP diaktifkan, informasi tentang resource yang dilindungi akan dikirim ke server autentikasi IAP. Hal ini mencakup informasi seperti Google Cloud nomor project, URL permintaan, dan kredensial IAP apa pun di header atau cookie permintaan.

Selanjutnya, IAP akan memeriksa kredensial browser pengguna. Jika tidak ada, pengguna akan dialihkan ke alur login Akun Google OAuth 2.0 yang menyimpan token di cookie browser untuk login berikutnya. Jika perlu membuat Akun Google untuk pengguna yang sudah ada, Anda dapat menggunakan Google Cloud Directory Sync untuk menyinkronkan dengan server Active Directory atau LDAP.

Jika kredensial permintaan valid, server autentikasi akan menggunakan kredensial tersebut untuk mendapatkan identitas pengguna (alamat email dan ID pengguna). Server autentikasi kemudian menggunakan identitas untuk memeriksa peran IAM pengguna dan memeriksa apakah pengguna diberi otorisasi untuk mengakses resource.

Jika Anda menggunakan Compute Engine atau Google Kubernetes Engine, pengguna yang dapat mengakses port penayangan aplikasi Virtual Machine (VM) dapat mengabaikan autentikasi IAP. Aturan firewall Compute Engine dan GKE tidak dapat melindungi dari akses dari kode yang berjalan di VM yang sama dengan aplikasi yang diamankan IAP. Aturan firewall dapat melindungi VM dari akses VM lain, tetapi hanya jika dikonfigurasi dengan benar. Pelajari tanggung jawab Anda untuk memastikan keamanan.

Jika menggunakan Cloud Run, Anda dapat mengaktifkan IAP dengan cara berikut:

  • Langsung di layanan Cloud Run Anda. Hal ini memungkinkan IAP melindungi semua jalur traffic masuk ke Cloud Run, termasuk URL yang ditetapkan secara otomatis dan URL load balancer yang dikonfigurasi. Konfigurasi ini berguna jika Anda memiliki satu layanan Cloud Run untuk mengaktifkan IAP.
  • Melalui load balancer dengan backend Cloud Run. Konfigurasi ini berguna saat Anda memiliki beberapa layanan Cloud Run di region yang berbeda di belakang satu load balancer global. Dalam konfigurasi ini, URL yang ditetapkan secara otomatis tidak dilindungi oleh IAP dan mungkin dapat diakses secara langsung. Pelajari lebih lanjut tanggung jawab Anda untuk memastikan keamanan.

Jika layanan Cloud Run berada di belakang load balancer, jangan aktifkan IAP di load balancer dan layanan Cloud Run.

Otorisasi

Setelah autentikasi, IAP menerapkan kebijakan IAM yang relevan untuk memeriksa apakah pengguna diberi otorisasi untuk mengakses resource yang diminta. Jika pengguna memiliki peran Pengguna Aplikasi Web yang Dilindungi IAP di project konsolGoogle Cloud tempat resource berada, mereka diberi otorisasi untuk mengakses aplikasi. Untuk mengelola daftar peran Pengguna Aplikasi Web yang Dilindungi IAP, gunakan panel IAP di Google Cloud konsol.

Saat Anda mengaktifkan IAP untuk resource, IAP akan otomatis membuat client ID dan secret OAuth 2.0. Jika Anda menghapus kredensial OAuth 2.0 yang dibuat secara otomatis, IAP tidak akan berfungsi dengan benar. Anda dapat melihat dan mengelola kredensial OAuth 2.0 di Google Cloud API & layanan konsol.

Akses kontekstual

Sebagai bagian dari langkah otorisasi, Anda dapat menggunakan akses kontekstual untuk memberikan akses aman ke jenis resource berikut:

Konsol dan APIGoogle Cloud
  • Lapisan pertahanan pertama dalam melindungi akses infrastruktur ke Google Cloud.
  • Akses Google Cloud kontekstual lanjutan kepada pengguna.
Virtual Machine (VM)
  • Mengaktifkan akses SSH/RDP administratif ke VM di Google Cloud dan di cloud lainnya.
  • Memungkinkan Anda menerapkan kontrol kontekstual yang andal untuk membatasi akses hanya kepada administrator yang ditunjuk.
Aplikasi web
  • Menyediakan otorisasi dan autentikasi untuk aplikasi web yang dihosting di Google Cloud dan cloud lainnya.
  • Memberikan otorisasi berkelanjutan untuk mencegah akses yang tidak sah dan kehilangan data.

Tanggung jawab Anda

IAP mengamankan autentikasi dan otorisasi semua permintaan ke Cloud Run, App Engine, Cloud Load Balancing (HTTPS), dan load balancing HTTP internal.

Untuk memastikan keamanan, Anda harus melakukan tindakan pencegahan berikut:

  • Jika Anda mengaktifkan IAP di load balancer, pastikan apakah resource backend dapat diakses secara langsung.
    • Jika resource backend adalah VM, konfigurasikan aturan firewall untuk melindungi dari traffic yang tidak berasal dari load balancer. IAP tidak melindungi dari aktivitas dalam suatu project, seperti VM lain dalam project.
    • Jika resource backend adalah layanan Cloud Run, Anda dapat menonaktifkan URL run.app untuk memastikan bahwa semua traffic masuk melalui load balancer. Jika memilih untuk mengaktifkan URL run.app, Anda harus menggunakan kontrol masuk untuk memblokir traffic dari luar jaringan Anda.
  • Perbarui aplikasi Anda untuk menggunakan header yang ditandatangani atau gunakan Users API lingkungan standar App Engine.

Langkah berikutnya