Ringkasan Identity-Aware Proxy

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

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

Kebijakan IAP dapat diskalakan di seluruh organisasi Anda. Anda dapat menentukan kebijakan akses secara terpusat dan menerapkannya ke semua aplikasi dan resource Anda. Saat Anda menugaskan tim khusus untuk membuat dan menerapkan kebijakan, Anda melindungi project dari definisi atau penerapan kebijakan yang salah di aplikasi mana 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 akses ke aplikasi atau resource oleh IAP kepada pengguna, 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 oleh 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
Lokal
diagram jalur permintaan ke aplikasi lokal saat menggunakan Cloud IAP

Autentikasi

Permintaan ke Google Cloud resource 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 nomor project Google Cloud , URL permintaan, dan kredensial IAP apa pun di header permintaan atau cookie.

Selanjutnya, IAP 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 Anda.

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 diizinkan untuk mengakses resource.

Jika Anda menggunakan Compute Engine atau Google Kubernetes Engine, pengguna yang dapat mengakses port penayangan aplikasi Virtual Machine (VM) dapat melewati autentikasi IAP. Aturan firewall Compute Engine dan GKE tidak dapat memberikan perlindungan terhadap akses dari kode yang berjalan di VM yang sama dengan aplikasi yang diamankan IAP. Aturan firewall dapat melindungi dari akses dari 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 ingress ke Cloud Run, termasuk URL yang ditetapkan 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 jika Anda memiliki beberapa layanan Cloud Run di berbagai region 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 diizinkan mengakses resource yang diminta. Jika pengguna memiliki peran Pengguna Aplikasi Web yang Diamankan oleh IAP di project konsolGoogle Cloud tempat resource berada, mereka diizinkan untuk mengakses aplikasi. Untuk mengelola daftar peran IAP-secured Web App User, gunakan panel IAP di konsol Google Cloud .

Saat Anda mengaktifkan IAP untuk resource, IAP akan otomatis membuat ID dan rahasia klien 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 yang aman ke jenis resource berikut:

Konsol dan APIGoogle Cloud
  • Lapisan pertahanan pertama dalam melindungi akses infrastruktur ke Google Cloud.
  • Akses kontekstual Google Cloud lanjutan untuk pengguna.
Mesin Virtual (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 ke administrator yang ditetapkan.
Aplikasi web
  • Menyediakan otorisasi dan autentikasi untuk aplikasi web yang dihosting di Google Cloud dan cloud lainnya.
  • Memberikan otorisasi berkelanjutan untuk mencegah akses 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, verifikasi apakah resource backend dapat diakses secara langsung.
    • Jika resource backend adalah VM, konfigurasikan aturan firewall Anda untuk melindungi dari traffic yang tidak melalui load balancer. IAP tidak melindungi dari aktivitas dalam suatu project, seperti VM lain dalam project tersebut.
    • Jika resource backend adalah layanan Cloud Run, Anda dapat menonaktifkan URL run.app untuk memastikan 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 bertanda tangan atau menggunakan App Engine standard environment Users API.

Langkah berikutnya