Halaman ini menjelaskan waktu 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 ke pengguna dalam organisasi yang sama saat mengakses aplikasi yang diaktifkan IAP melalui browser.
Kapan harus menggunakan konfigurasi OAuth kustom
Anda harus menggunakan konfigurasi OAuth kustom untuk melakukan hal berikut:
- Untuk mengizinkan akses ke aplikasi berkemampuan 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 aplikasi Anda melalui proses verifikasi Google. Untuk informasi selengkapnya tentang proses verifikasi, lihat Menyiapkan layar izin OAuth.
Anda bertanggung jawab untuk membuat dan mengelola kredensial untuk klien OAuth kustom. Hal ini termasuk menyimpan rahasia klien secara 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 | Pelanggan dikonfigurasi |
Kredensial OAuth | Dikelola Google | Dikelola pelanggan |
Akses aplikasi | Hanya 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.
-
Pada dialog Add principals yang muncul, masukkan alamat email grup atau individu yang seharusnya memiliki peran IAP-secured Web App User untuk project tersebut.
Jenis akun utama berikut dapat memiliki peran ini:
- Akun Google: pengguna@gmail.com
- Google Grup: admin@googlegroups.com
- Akun layanan: server@example.gserviceaccount.com
- Domain Google Workspace: example.com
Pastikan untuk menambahkan Akun Google yang dapat Anda akses.
- Pilih Cloud IAP > IAP-secured Web App User dari menu drop-down Roles.
- Klik Simpan.
Mengaktifkan IAP
-
Di halaman Identity-Aware Proxy, di bagian APPLICATIONS, temukan aplikasi yang ingin Anda batasi aksesnya. Untuk mengaktifkan IAP untuk suatu resource,
- Di jendela Turn on IAP yang muncul, klik Turn On untuk mengonfirmasi bahwa Anda ingin IAP mengamankan resource. Setelah diaktifkan, IAP akan memerlukan kredensial login untuk semua koneksi ke load balancer Anda. Akses hanya akan diberikan pada akun dengan peran IAP-Secured Web App User pada project.
gcloud
Sebelum menyiapkan project dan IAP, Anda memerlukan gcloud CLI versi terbaru. Untuk mengetahui petunjuk cara menginstal gcloud CLI, baca Menginstal gcloud CLI.
-
Untuk melakukan autentikasi, 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 dilindungi dengan IAP.
gcloud config set project PROJECT_ID
- Ikuti petunjuk dalam Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
- Simpan client ID dan rahasia 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 \ --versions=VERSION
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 dalam Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
Simpan client ID dan rahasia 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 sudah dibuat dan pengontrol ingress Compute Engine BackendConfig sudah disinkronkan.
Untuk memverifikasi bahwa layanan backend tersedia, jalankan perintah gcloud berikut:
gcloud compute backend-services list
- Di panel samping kanan, klik Tambahkan akun utama.
-
Pada dialog Add principals yang muncul, masukkan alamat email grup atau individu yang seharusnya memiliki peran IAP-secured Web App User untuk project tersebut.
Jenis akun utama berikut dapat memiliki peran ini:
- Akun Google: pengguna@gmail.com
- Google Grup: admin@googlegroups.com
- Akun layanan: server@example.gserviceaccount.com
- Domain Google Workspace: example.com
Pastikan untuk menambahkan Akun Google yang dapat Anda akses.
- Pilih Cloud IAP > IAP-secured Web App User dari menu drop-down Roles.
- Klik Simpan.
gcloud
Sebelum menyiapkan project dan IAP, Anda memerlukan versi gcloud CLI terbaru. Untuk mengetahui petunjuk cara menginstal gcloud CLI, lihat Menginstal gcloud CLI.
-
Untuk melakukan autentikasi, 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 dilindungi dengan IAP.
gcloud config set project PROJECT_ID
- Ikuti petunjuk dalam Membuat klien OAuth untuk IAP. guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
- Simpan client ID dan rahasia OAuth.
-
Untuk mengaktifkan IAP, jalankan perintah cakupan secara global atau regional.
Cakupan globalgcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
Cakupan regionalgcloud 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 dalam Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
Simpan client ID dan rahasia 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 Applications, centang kotak di samping layanan backend load balancer tempat Anda ingin menambahkan anggota.
- Di panel samping kanan, klik Tambahkan anggota.
Pada dialog Tambahkan anggota, masukkan akun grup atau individu yang seharusnya memiliki peran IAP-secured Web App User untuk project. Jenis akun berikut dapat menjadi anggota:
- Akun Google: user@gmail.com - Akun ini juga dapat berupa akun Google Workspace, seperti pengguna@google.com atau 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, di bagian Applications, temukan layanan backend load balancer yang ingin Anda batasi aksesnya. Klik tombol IAP untuk mengaktifkan IAP pada resource.
- Di jendela Aktifkan IAP yang muncul, klik Aktifkan untuk mengonfirmasi bahwa Anda ingin IAP mengamankan resource. Setelah diaktifkan, IAP akan memerlukan kredensial login untuk semua koneksi ke load balancer Anda. Hanya akun dengan peran IAP-Secured Web App User dalam project yang akan diberi akses.
Untuk mengizinkan IAP mengirim traffic ke layanan Cloud Run backend, ikuti petunjuk di Menambahkan akun utama ke layanan untuk menambahkan prinsip dan peran berikut.
- Kepala Sekolah:
service-[PROJECT-NUMBER]@gcp-sa-iap.iam.gserviceaccount.com
- Peran: Cloud Run Invoker
- Kepala Sekolah:
gcloud
- Ikuti petunjuk dalam Membuat klien OAuth untuk IAP guna mengonfigurasi layar izin OAuth dan membuat klien OAuth.
- Simpan client ID dan rahasia OAuth.
- Jika Anda belum pernah melakukannya, buat akun layanan dengan menjalankan perintah berikut. Jika sebelumnya Anda telah membuat akun layanan, menjalankan perintah tersebut 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 yang tercakup secara global atau regional, bergantung pada apakah layanan backend load balancer Anda bersifat global atau regional. Gunakan client ID dan rahasia 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
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
Ganti kode berikut:- BACKEND_SERVICE_NAME: nama layanan backend.
- CLIENT_ID: client ID OAuth, dari langkah sebelumnya.
- CLIENT_SECRET: rahasia klien OAuth, dari langkah sebelumnya.
- REGION_NAME: wilayah 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 informasi selengkapnya.