Halaman ini menjelaskan kapan dan cara menyesuaikan konfigurasi OAuth untuk Identity-Aware Proxy (IAP).
IAP menggunakan klien OAuth yang dikelola Google untuk mengautentikasi pengguna.
Klien OAuth yang dikelola Google membatasi akses untuk pengguna dalam organisasi yang sama saat mengakses aplikasi yang mengaktifkan IAP melalui browser.
Kapan harus menggunakan konfigurasi OAuth kustom
Anda harus menggunakan konfigurasi OAuth kustom untuk melakukan hal berikut:
- Untuk mengizinkan akses ke aplikasi yang mengaktifkan IAP bagi pengguna di luar organisasi.
- Untuk menampilkan informasi merek Anda sendiri selama autentikasi.
- Untuk mengaktifkan akses terprogram ke aplikasi Anda.
Saat menyesuaikan konfigurasi OAuth, Anda harus mengonfigurasi layar izin OAuth. Hal ini mengharuskan informasi branding untuk aplikasi Anda melalui proses verifikasi Google. Untuk mengetahui informasi selengkapnya tentang proses verifikasi, lihat Menyiapkan layar izin OAuth.
Anda bertanggung jawab untuk membuat dan mengelola kredensial untuk klien OAuth kustom. Hal ini mencakup menyimpan secret klien dengan aman dan membagikannya kepada pengguna yang diberi otorisasi jika diperlukan.
Perbandingan klien OAuth yang dikelola Google dan klien OAuth kustom
Tabel berikut memberikan perbandingan antara klien OAuth yang dikelola Google dan klien OAuth kustom.
Klien OAuth yang dikelola Google | Klien OAuth kustom | |
---|---|---|
Pengguna | Khusus internal | Internal dan Eksternal |
Merek | Merek Google Cloud | Merek milik pelanggan |
Konfigurasi OAuth | Dikonfigurasi Google | Dikonfigurasi pelanggan |
Kredensial OAuth | Dikelola Google | Dikelola pelanggan |
Akses aplikasi | Khusus alur browser | Alur browser dan Akses terprogram |
Mengaktifkan IAP menggunakan konfigurasi klien OAuth kustom
App Engine
Konsol
Jika belum mengonfigurasi layar izin OAuth project, Anda akan diminta untuk melakukannya. Untuk mengonfigurasi layar izin OAuth, lihat Menyiapkan layar izin OAuth.
Menyiapkan akses IAP
-
Buka
halaman Identity-Aware Proxy.
Buka halaman Identity-Aware Proxy - Pilih project yang ingin Anda amankan dengan IAP.
- Pilih kotak centang di samping resource yang ingin Anda beri akses.
- Di panel samping kanan, klik Tambahkan akun utama.
-
Di dialog Add principals yang muncul, masukkan alamat email grup atau individu yang harus memiliki peran IAP-secured Web App User untuk project tersebut.
Jenis akun utama berikut dapat memiliki peran ini:
- Akun Google: user@gmail.com
- Google Grup: admin@googlegroups.com
- Akun layanan: server@example.gserviceaccount.com
- Domain Google Workspace: example.com
Pastikan untuk menambahkan Akun Google yang aksesnya Anda miliki.
- Pilih Cloud IAP > IAP-Secured Web App User dari daftar drop-down Roles.
- Klik Simpan.
Mengaktifkan IAP
-
Di halaman Identity-Aware Proxy, pada bagian APPLICATIONS,
cari aplikasi yang aksesnya ingin Anda batasi. Untuk mengaktifkan IAP untuk resource,
- Di jendela Aktifkan IAP yang muncul, klik Aktifkan untuk mengonfirmasi bahwa Anda ingin IAP mengamankan resource Anda. Setelah Anda mengaktifkan IAP, kredensial login diperlukan untuk semua koneksi ke load balancer Anda. Hanya akun dengan peran IAP-Secured Web App User di project yang akan diberikan akses.
gcloud
Sebelum menyiapkan project dan IAP, Anda memerlukan versi gcloud CLI terbaru. Untuk mengetahui petunjuk cara menginstal gcloud CLI, lihat Menginstal gcloud CLI.
-
Untuk mengautentikasi, gunakan Google Cloud CLI dan jalankan perintah berikut.
gcloud auth login
- Untuk login, ikuti URL yang muncul.
- Setelah Anda login, salin kode verifikasi yang muncul dan tempelkan di command line.
-
Jalankan perintah berikut untuk menentukan project yang berisi resource yang ingin Anda lindungi dengan IAP.
gcloud config set project PROJECT_ID
- Ikuti petunjuk di Membuat klien OAuth untuk IAP untuk mengonfigurasi layar izin OAuth dan membuat klien OAuth.
- Simpan client ID dan secret OAuth.
-
Untuk mengaktifkan IAP, jalankan perintah berikut.
gcloud iap web enable \ --oauth2-client-id=CLIENT_ID \ --oauth2-client-secret=CLIENT_SECRET \ --resource-type=app-engine
Setelah mengaktifkan IAP, Anda dapat menggunakan gcloud CLI untuk mengubah
kebijakan akses IAP menggunakan peran IAM
roles/iap.httpsResourceAccessor
. Pelajari lebih lanjut cara mengelola peran dan izin.
API
Ikuti petunjuk di Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
Simpan client ID dan secret OAuth.
Jalankan perintah berikut untuk menyiapkan file
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId" : CLIENT_ID, "oauth2ClientSecret" : CLIENT_SECRET, } } EOF
Jalankan perintah berikut untuk mengaktifkan IAP.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
Setelah mengaktifkan IAP, Anda dapat menggunakan Google Cloud CLI untuk mengubah kebijakan akses IAP menggunakan peran IAM roles/iap.httpsResourceAccessor
. Pelajari lebih lanjut cara mengelola peran dan izin.
Compute Engine
Konsol
Jika belum mengonfigurasi layar izin OAuth project, Anda akan diminta untuk melakukannya. Untuk mengonfigurasi layar izin OAuth, lihat Menyiapkan layar izin OAuth.
Menyiapkan akses IAP
-
Buka
halaman Identity-Aware Proxy.
Buka halaman Identity-Aware Proxy - Pilih project yang ingin Anda amankan dengan IAP.
-
Pilih kotak centang di samping resource yang ingin Anda beri akses.
Jika Anda tidak melihat resource, pastikan resource dibuat dan pengontrol ingress Compute Engine BackendConfig disinkronkan.
Untuk memverifikasi bahwa layanan backend tersedia, jalankan perintah gcloud berikut:
gcloud compute backend-services list
- Di panel samping kanan, klik Tambahkan akun utama.
-
Di dialog Add principals yang muncul, masukkan alamat email grup atau individu yang harus memiliki peran IAP-secured Web App User untuk project tersebut.
Jenis akun utama berikut dapat memiliki peran ini:
- Akun Google: user@gmail.com
- Google Grup: admin@googlegroups.com
- Akun layanan: server@example.gserviceaccount.com
- Domain Google Workspace: example.com
Pastikan untuk menambahkan Akun Google yang aksesnya Anda miliki.
- Pilih Cloud IAP > IAP-Secured Web App User dari daftar drop-down Roles.
- Klik Simpan.
gcloud
Sebelum menyiapkan project dan IAP, Anda memerlukan versi terbaru gcloud CLI. Untuk mengetahui petunjuk cara menginstal gcloud CLI, lihat Menginstal gcloud CLI.
-
Untuk mengautentikasi, gunakan Google Cloud CLI dan jalankan perintah berikut.
gcloud auth login
- Untuk login, ikuti URL yang muncul.
- Setelah Anda login, salin kode verifikasi yang muncul dan tempelkan di command line.
-
Jalankan perintah berikut untuk menentukan project yang berisi resource yang ingin Anda lindungi dengan IAP.
gcloud config set project PROJECT_ID
- Ikuti petunjuk di Membuat klien OAuth untuk IAP. untuk mengonfigurasi layar izin OAuth dan membuat klien OAuth.
- Simpan client ID dan secret OAuth.
-
Untuk mengaktifkan IAP, jalankan perintah yang dicakup secara global atau regional.
Cakupan global Cakupan regionalgcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
Setelah mengaktifkan IAP, Anda dapat menggunakan gcloud CLI untuk mengubah
kebijakan akses IAP menggunakan peran IAM
roles/iap.httpsResourceAccessor
. Pelajari lebih lanjut cara mengelola peran dan izin.
API
Ikuti petunjuk di Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
Simpan client ID dan secret OAuth.
Jalankan perintah berikut untuk menyiapkan file
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Jalankan perintah berikut untuk mengaktifkan IAP.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/REGION/backendServices/BACKEND_SERVICE_NAME"
Setelah mengaktifkan IAP, Anda dapat menggunakan gcloud CLI untuk mengubah
kebijakan akses IAP menggunakan peran IAM
roles/iap.httpsResourceAccessor
. Pelajari lebih lanjut cara mengelola peran dan izin.
Cloud Run
Konsol
Jika belum mengonfigurasi layar izin OAuth project, Anda akan diminta untuk melakukannya. Untuk mengonfigurasi layar izin OAuth, lihat Menyiapkan layar izin OAuth
Menyiapkan akses IAP
- Buka halaman Identity-Aware Proxy.
Buka Identity-Aware Proxy - Pilih project yang ingin Anda amankan dengan IAP.
- Di bagian Aplikasi, centang kotak di samping layanan backend load balancer yang ingin Anda tambahkan anggota.
- Di panel samping kanan, klik Tambahkan anggota.
Pada dialog Tambahkan anggota, masukkan akun grup atau individu yang harus memiliki peran IAP-secured Web App User untuk project tersebut. Jenis akun berikut dapat menjadi anggota:
- Akun Google: user@gmail.com - Ini juga dapat berupa akun Google Workspace, seperti user@google.com atau beberapa domain Google Workspace lainnya.
- Google Grup: admin@googlegroups.com
- Akun layanan: server@example.gserviceaccount.com
- Domain Google Workspace: example.com
Pilih Cloud IAP > IAP-secured Web App User dari daftar Roles.
Klik Simpan.
Mengaktifkan IAP
- Di halaman IAP, pada bagian Aplikasi, temukan layanan backend load balancer yang aksesnya ingin Anda batasi. Klik tombol IAP untuk mengaktifkan IAP di resource.
- Di jendela Aktifkan IAP yang muncul, klik Aktifkan untuk mengonfirmasi bahwa Anda ingin IAP mengamankan resource Anda. Setelah Anda mengaktifkan IAP, kredensial login diperlukan untuk semua koneksi ke load balancer Anda. Hanya akun dengan peran IAP-Secured Web App User di project yang akan diberi akses.
Untuk memberikan otorisasi kepada IAP agar dapat mengirim traffic ke layanan Cloud Run backend, ikuti petunjuk di bagian Menambahkan akun utama ke layanan untuk menambahkan akun utama dan peran berikut.
- Prinsipal:
service-[PROJECT-NUMBER]@gcp-sa-iap.iam.gserviceaccount.com
- Peran: Cloud Run Invoker
- Prinsipal:
gcloud
- Ikuti petunjuk di Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
- Simpan client ID dan secret OAuth.
- Jika Anda belum melakukannya sebelumnya, buat akun layanan dengan menjalankan perintah berikut. Jika sebelumnya Anda telah membuat akun layanan, menjalankan perintah ini tidak akan membuat akun layanan duplikat.
gcloud beta services identity create \ --service=iap.googleapis.com --project=PROJECT_ID
- Berikan izin invoker ke akun layanan, yang dibuat di langkah sebelumnya, dengan menjalankan perintah berikut.
gcloud run services add-iam-policy-binding SERVICE-NAME \ --member='serviceAccount:service-PROJECT-NUMBER@gcp-sa-iap.iam.gserviceaccount.com' \ --role='roles/run.invoker'
Aktifkan IAP dengan menjalankan perintah cakupan global atau regional, bergantung pada apakah layanan backend load balancer Anda bersifat global atau regional. Gunakan client ID dan secret OAuth dari langkah sebelumnya.
Cakupan global
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
Cakupan regional
Ganti kode berikut:gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
- BACKEND_SERVICE_NAME: nama layanan backend.
- CLIENT_ID: client ID OAuth, dari langkah sebelumnya.
- CLIENT_SECRET: rahasia klien OAuth, dari langkah sebelumnya.
- REGION_NAME: region tempat Anda ingin mengaktifkan IAP.
Setelah mengaktifkan IAP, Anda dapat menggunakan Google Cloud CLI untuk mengubah kebijakan akses IAP menggunakan peran Identity and Access Management roles/iap.httpsResourceAccessor
. Lihat Mengelola peran dan izin untuk mengetahui informasi selengkapnya.