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 menetapkan tim khusus untuk membuat dan menegakkan kebijakan, Anda melindungi project dari definisi atau implementasi 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 lingkungan standar App Engine Users API 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 disebut sebagai pengguna, yang memiliki peran Identity and Access Management (IAM) yang benar. Saat Anda memberi pengguna akses ke aplikasi atau resource melalui IAP, pengguna tersebut akan tunduk pada 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
Lokal
diagram jalur permintaan ke aplikasi lokal saat menggunakan Cloud IAP

Authentication

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. Hal ini mencakup informasi seperti nomor project Google Cloud, URL permintaan, dan kredensial IAP apa pun di header atau cookie permintaan.

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 bagi pengguna yang sudah ada, Anda dapat menggunakan Google Cloud Directory Sync untuk menyinkronkan dengan Active Directory atau server LDAP.

Jika kredensial permintaan valid, server autentikasi akan menggunakan kredensial tersebut untuk mendapatkan identitas pengguna (alamat email dan ID pengguna). Selanjutnya, server autentikasi menggunakan identitas tersebut 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 layanan aplikasi Virtual Machine (VM) dapat melewati autentikasi IAP. Aturan firewall Compute Engine dan GKE tidak dapat melindungi akses dari kode yang dijalankan 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 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 memiliki peran IAP-secured Web App User pada project Konsol Google Cloud tempat resource berada, pengguna akan diberi otorisasi untuk mengakses aplikasi. Untuk mengelola daftar peran IAP-secured Web App User, gunakan panel IAP di Google Cloud Console.

Saat Anda mengaktifkan IAP untuk suatu resource, IAP akan otomatis membuat client 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 API & layanan Google Cloud Console.

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 di dalam project tersebut.

Untuk memastikan keamanan, Anda harus melakukan tindakan pencegahan berikut:

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

Langkah selanjutnya