Halaman ini menjelaskan cara mengelola akses individu atau grup ke resource yang diamankan Identity-Aware Proxy (IAP) di tingkat resource.
Ringkasan
Dengan IAP, Anda dapat mengonfigurasi kebijakan IAP untuk resource Cloud Run dan individual di project Google Cloud. Beberapa aplikasi dalam sebuah project masing-masing dapat memiliki kebijakan akses yang berbeda. Ini mencakup project yang memiliki aplikasi Compute Engine, Google Kubernetes Engine, dan App Engine. Untuk aplikasi App Engine, setiap versi dan layanan dapat menerapkan kebijakan akses yang berbeda.
Untuk mengelola level project dan akses yang lebih tinggi, gunakan halaman admin IAM. Daftar pengguna yang memiliki akses ("utama") di level project berlaku untuk semua resource yang diamankan oleh IAP dalam project.
Sebelum memulai
Sebelum memulai, Anda akan memerlukan hal berikut:
- Resource IAP yang diamankan yang ingin Anda tambahkan akses individu atau grup.
- Nama pengguna atau grup yang ingin Anda tambahkan aksesnya.
Mengaktifkan dan menonaktifkan IAP
Untuk mengaktifkan dan menonaktifkan IAP, diperlukan izin tertentu. Tabel berikut menunjukkan izin yang diperlukan untuk setiap jenis aplikasi.
Jenis aplikasi | Perlu izin |
---|---|
App Engine | appengine.applications.update |
Compute Engine, Google Kubernetes Engine, atau Cloud Run | compute.backendServices.update |
Izin ini diberikan berdasarkan peran seperti Editor Project, Admin App Engine, dan Admin Jaringan Compute. Meskipun peran ini memungkinkan pengaktifan dan penonaktifan IAP, peran tersebut tidak memiliki izin yang diperlukan untuk mengubah kebijakan akses.
Selain itu, mengaktifkan IAP dengan Konsol Google Cloud mungkin juga memerlukan izin clientauthconfig.clients.create
dan clientauthconfig.clients.getWithSecret
. Izin ini
diberikan oleh peran Project Editor.
Untuk mempelajari lebih lanjut cara memberikan peran, lihat Memberikan, mengubah, dan mencabut akses.
Mengelola akses di konsol Google Cloud
Untuk mengontrol akses ke resource yang diamankan IAP dengan Konsol Google Cloud, ikuti proses penambahan atau penghapusan akses.
Tambahkan akses
Buka halaman Identity-Aware Proxy.
Buka halaman Identity-Aware ProxyPilih resource yang ingin diamankan dengan IAP. Pilihan resource berikut mengamankan grup resource tertentu:
Semua Layanan Web: Semua resource dalam project akan diamankan. Perhatikan bahwa hal ini tidak sama dengan memberikan akses level project dengan halaman admin IAM. Pengguna yang diberi peran IAP Policy Admin pada tingkat resource Semua Layanan Web hanya akan memiliki izin ke kebijakan IAP.
Backend Services: Semua layanan backend akan diamankan.
Di sebelah kanan Panel info, tambahkan alamat email grup atau individu yang ingin Anda beri peran Identity and Access Management (IAM) untuk resource.
Terapkan peran kebijakan akses ke akun utama dengan memilih peran berikut di dropdown Pilih peran:
Pemilik: Memberikan akses yang sama dengan IAP Policy Admin. Sebagai gantinya, gunakan peran IAP Policy Admin. Peran ini hanya mengizinkan perubahan kebijakan, dan tidak memberikan akses ke aplikasi.
IAP Policy Admin: Memberikan hak administrator atas kebijakan IAP.
IAP-Secured Web App User: Memberikan akses ke aplikasi dan resource HTTPS lainnya yang menggunakan IAP.
Peninjau Keamanan: Memberikan izin untuk melihat dan mengaudit kebijakan IAP.
Setelah selesai menambahkan alamat email dan menetapkan peran, klik Tambahkan
Hapus akses
- Buka halaman Identity-Aware Proxy.
Buka halaman Identity-Aware Proxy - Pilih resource yang diamankan dengan IAP.
- Di sebelah kanan Panel info, pilih bagian yang sesuai dengan peran yang ingin Anda hapus dari akun utama.
- Di bagian yang diperluas, di samping setiap nama pengguna atau grup yang perannya ingin Anda hapus, klik Hapus.
- Di dialog Remove principal yang muncul, klik Remove.
Mengelola akses dengan API
IAM menyediakan sekumpulan metode standar untuk membuat dan mengelola kebijakan kontrol akses di resource Google Cloud.
Resource dan izin
Dengan IAP API, Anda dapat menerapkan izin IAM ke setiap resource dalam project yang diamankan oleh IAP. Izin IAM yang diberikan pada tingkat tertentu berlaku untuk semua tingkat di bawahnya. Misalnya, izin yang diberikan pada level project berlaku untuk semua resource Google Cloud dalam project. Akses untuk level project dan yang lebih tinggi dikelola di halaman admin IAM, tetapi akan ditampilkan di halaman admin IAP.
Pengguna memerlukan izin tertentu untuk mengakses aplikasi yang dilindungi oleh IAP.
Untuk memberikan izin ini, administrator dapat menggunakan API untuk memperbarui kebijakan IAM. Izin iap.webServiceVersions.accessViaIAP
memberikan akses ke aplikasi kepada pengguna. Jika Anda menggunakan IAP untuk mengontrol akses ke layanan administratif seperti SSH dan RDP, pengguna memerlukan izin iap.tunnelInstances.accessViaIAP
.
Setiap resource IAP memiliki izin getIamPolicy
dan setIamPolicy
tersendiri yang memberikan kemampuan untuk mengelola kebijakan akses bagi resource tersebut
dan turunannya.
Untuk memanggil IAM API, buat panggilan dengan jalur URL ke resource. Berikut adalah contoh panggilan yang mendapatkan kebijakan IAM untuk versi layanan aplikasi App Engine.
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/
appengine-APP_ID/services/SERVICE_ID/versions/VERSION_ID:getIamPolicy
Tabel berikut mencantumkan jenis resource yang didukung, serta izin yang diperlukan untuk memanggil IAM API.
Jenis aset | Izin |
---|---|
Setiap aplikasi web yang diamankan oleh IAP dalam project Ini sama dengan kotak centang Semua Layanan Web di halaman admin IAP. Jalur https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web |
iap.web.getIamPolicy iap.web.setIamPolicy |
Layanan backend Ini sama dengan kotak centang Backend Service di halaman admin IAP. Jalur Cakupan global: https://iap.googleapis.com/v1/projects/ Cakupan regional: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicy iap.webTypes.setIamPolicy |
Aplikasi App Engine Ini sama dengan kotak centang aplikasi App Engine di halaman admin IAP. Jalur https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicy iap.webTypes.setIamPolicy |
Layanan backend Compute Engine Jalur layanan backend dapat menentukan ID layanan backend atau nama layanan backend. Jalur Cakupan global: https://iap.googleapis.com/v1/projects/ Cakupan regional: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicy iap.webServices.setIamPolicy |
Layanan aplikasi App Engine Jalur https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicy iap.webServices.setIamPolicy |
Versi layanan App Engine Compute Engine tidak mendukung pembuatan versi. Jalur https://iap.googleapis.com/v1/projects/ |
iap.webServiceVersions.getIamPolicy iap.webServiceVersions.setIamPolicy |
Setiap instance VM yang diamankan oleh IAP dalam project Ini sama dengan kotak centang All Tunnel Resources di halaman admin IAP. Jalur https://iap.googleapis.com/v1/projects/ |
iap.tunnel.getIamPolicy iap.tunnel.setIamPolicy |
Zona yang memiliki setidaknya satu instance VM Ini sama dengan kotak centang nama zona di halaman admin IAP, misalnya, us-central1-c . Jalur https://iap.googleapis.com/v1/projects/ |
iap.tunnelZones.getIamPolicy iap.tunnelZones.setIamPolicy |
Instance VM individual Jalur https://iap.googleapis.com/v1/projects/ |
iap.tunnelInstances.getIamPolicy iap.tunnelInstances.setIamPolicy |
Wilayah yang memiliki setidaknya satu grup tujuan, misalnya, us-central1 Jalur https://iap.googleapis.com/v1/projects/ |
iap.tunnelLocations.getIamPolicy iap.tunnelLocations.setIamPolicy |
Grup tujuan individual Jalur https://iap.googleapis.com/v1/projects/ |
iap.tunnelDestGroups.getIamPolicy iap.tunnelDestGroups.setIamPolicy |
Peran
Tabel berikut mencantumkan peran IAM IAP dengan daftar yang sesuai dari semua izin khusus IAP yang disertakan setiap peran. Untuk mengetahui informasi selengkapnya tentang peran IAM, lihat Mengelola Peran dan Izin.
Peran | Mencakup izin | Deskripsi |
---|---|---|
Pengguna Aplikasi Web yang Diamankan IAP (roles/iap.httpsResourceAccessor ) |
iap.webServiceVersions.accessViaIAP |
Memberikan akses ke resource App Engine dan Compute Engine. |
Pengguna Terowongan yang Aman IAP (roles/iap.tunnelResourceAccessor ) |
iap.tunnelInstances.accessViaIAP iap.tunnelDestGroups.accessViaIAP |
Memberikan akses ke instance VM yang diamankan oleh IAP. |
Admin Kebijakan IAP (roles/iap.admin ) |
iap.web.getIamPolicy iap.web.setIamPolicy iap.webTypes.getIamPolicy iap.webTypes.setIamPolicy iap.webServices.getIamPolicy iap.webServices.setIamPolicy iap.webServiceVersions.getIamPolicy iap.webServiceVersions.setIamPolicy iap.tunnel.getIamPolicy iap.tunnel.setIamPolicy iap.tunnelZones.getIamPolicy iap.tunnelZones.setIamPolicy iap.tunnelInstances.getIamPolicy iap.tunnelInstances.setIamPolicy |
Memberikan hak administratif IAP untuk mengelola kebijakan akses IAP resource. |
Akses publik
Untuk memberi semua orang akses ke resource, berikan peran kepada salah satu akun utama berikut:
allAuthenticatedUsers
: Siapa saja yang diautentikasi dengan Akun Google atau akun layanan.allUsers
: Siapa saja yang ada di internet, termasuk pengguna yang diautentikasi dan tidak diautentikasi. Header bertanda tangan untuk permintaan tidak akan memiliki klaimsub
atauemail
.
Jika akses publik diberikan, IAP tidak akan membuat Log Audit Cloud untuk permintaan tersebut.
Saat ini, binding yang memberikan akses publik tidak dapat memiliki kondisi
yang terkait dengannya.
Misalnya, kebijakan yang mengizinkan siapa saja
mengakses resource jika jalur permintaan dimulai dengan /public/
tidak valid.