Ringkasan Identity-Aware Proxy

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

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 dilindungi oleh IAP, aplikasi atau resource 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 App Engine, 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. Informasi ini mencakup informasi seperti nomor project Google Cloud, URL permintaan, dan kredensial IAP apa pun dalam 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 Anda menggunakan Cloud Run, pengguna yang dapat mengakses URL yang ditetapkan secara otomatis dapat mengabaikan autentikasi IAP. Kontrol traffic masuk dapat membatasi akses untuk menggunakan load balancing, tetapi hanya jika dikonfigurasi dengan benar. Pelajari lebih lanjut tanggung jawab Anda untuk memastikan keamanan.

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 konsol Google Cloud tempat resource berada, pengguna tersebut diberi otorisasi untuk mengakses aplikasi. Untuk mengelola daftar peran Pengguna Aplikasi Web yang Dilindungi IAP, gunakan panel IAP di konsol Google Cloud.

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 dihasilkan secara otomatis, IAP tidak akan berfungsi dengan benar. Anda dapat melihat dan mengelola kredensial OAuth 2.0 di API & layanan konsol Google Cloud.

Tanggung jawab Anda

IAP mengamankan autentikasi dan otorisasi semua permintaan ke App Engine, Cloud Load Balancing (HTTPS), atau load balancing HTTP internal. IAP tidak melindungi dari aktivitas dalam suatu project, seperti VM lain dalam project.

Untuk memastikan keamanan, Anda harus melakukan tindakan pencegahan berikut:

  • Konfigurasikan firewall dan load balancer untuk melindungi dari traffic yang tidak berasal dari infrastruktur penayangan.
    • Sebagai alternatif, jika menggunakan Cloud Run, Anda dapat membatasi akses menggunakan kontrol masuk.
  • Gunakan header yang ditandatangani atau Users API lingkungan standar App Engine.

Langkah selanjutnya