Halaman ini memberikan langkah-langkah untuk bermigrasi dari penggunaan klien OAuth 2.0 yang dibuat menggunakan Identity-Aware Proxy (IAP) OAuth 2.0 Admin API ke penggunaan klien OAuth 2.0 yang dikelola Google yang di-deploy oleh IAP.
Mulai 22 Januari 2025, IAP OAuth 2.0 Admin API, yang digunakan untuk membuat klien IAP OAuth 2.0, tidak digunakan lagi, karena Anda tidak perlu lagi membuat dan mengelola klien OAuth. IAP kini otomatis men-deploy klien OAuth 2.0 yang dikelola Google saat klien OAuth tidak dikonfigurasi. Klien OAuth 2.0 yang dikelola Google membatasi akses ke aplikasi yang mengaktifkan IAP kepada pengguna dalam organisasi yang sama saat mereka mengakses aplikasi tersebut melalui browser.
Dengan penghentian Identity-Aware Proxy (IAP) OAuth 2.0 Admin API, Anda tidak dapat lagi membuat atau mengelola klien OAuth baru. Klien OAuth yang dibuat sebelum penghentian ini tidak akan dibatalkan validasinya. Anda dapat terus menggunakan klien OAuth yang sebelumnya Anda buat, dan mengelola klien tersebut menggunakan konsol Google Cloud.
Jika Anda tidak memerlukan integrasi yang konsisten dengan semua resource yang mengaktifkan IAP menggunakan klien OAuth yang dikelola Google, Anda tidak perlu memigrasikan resource yang diaktifkan dengan IAP sebelum penghentian.
Jika menggunakan akses terprogram untuk melindungi aplikasi dan resource dengan IAP, Anda tidak dapat menggunakan klien OAuth 2.0 yang dikelola Google. Anda harus membuat klien OAuth menggunakan konsol atau menggunakan akun layanan.
Tindakan yang diperlukan
Memigrasikan resource yang sudah ada dan mengaktifkan IAP
Jika Anda menggunakan IAP OAuth 2.0 Admin API untuk membuat dan mengelola klien OAuth 2.0 guna mengaktifkan IAP di aplikasi atau Google Cloud resource, Anda harus memigrasikan aplikasi dan Google Cloud resource tersebut untuk menggunakan klien OAuth 2.0 yang dikelola Google.
Mengaktifkan IAP di resource baru
Jika Anda mengaktifkan IAP di resource untuk pertama kalinya dan tidak memiliki klien OAuth yang dikonfigurasi, selesaikan prosedur berikut untuk mengaktifkan IAP dengan klien OAuth yang dikelola Google dan di-deploy secara otomatis:
- Mengaktifkan IAP untuk App Engine
- Mengaktifkan IAP untuk Cloud Run
- Mengaktifkan IAP untuk Compute Engine
- Mengaktifkan IAP untuk Google Kubernetes Engine: Mengaktifkan IAP dengan klien OAuth yang dikelola Google
Memigrasikan resource yang mengaktifkan IAP
Untuk memigrasikan resource agar dapat menggunakan klien OAuth 2.0 yang dikelola Google, ikuti langkah-langkah untuk jenis resource, seperti resource Compute Engine, yang ingin Anda migrasikan.
Memigrasikan resource App Engine yang mengaktifkan IAP
Selesaikan langkah-langkah di bagian ini untuk memigrasikan resource App Engine tempat IAP diaktifkan dan klien OAuth 2.0 dikonfigurasi.
gcloud
Sebelum melanjutkan ke langkah-langkahnya, pastikan Anda memiliki gcloud CLI versi terbaru. Untuk mengetahui petunjuk cara menginstal gcloud CLI, lihat Menginstal gcloud CLI.
Gunakan Google Cloud CLI untuk melakukan autentikasi.
gcloud auth login
Klik URL yang muncul, lalu login.
Setelah Anda login, salin kode verifikasi yang muncul dan tempelkan di command line.
Jalankan perintah berikut untuk menentukan project yang berisi aplikasi yang ingin Anda terus lindungi dengan IAP.
gcloud config set project PROJECT_ID
Untuk memigrasikan aplikasi, jalankan perintah berikut.
gcloud iap web enable --resource-type=app-engine
API
Jalankan perintah berikut untuk menyiapkan file
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Jalankan perintah berikut untuk memigrasikan aplikasi Anda.
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/<var>PROJECT_ID</var>?updateMask=iap"
Memigrasikan resource Compute Engine yang mengaktifkan IAP
Selesaikan langkah-langkah di bagian ini untuk memigrasikan resource Compute Engine tempat IAP diaktifkan dan klien OAuth 2.0 dikonfigurasi.
gcloud
Sebelum melanjutkan ke langkah-langkahnya, pastikan Anda memiliki gcloud CLI versi terbaru. Untuk mengetahui petunjuk cara menginstal gcloud CLI, lihat Menginstal gcloud CLI.
Gunakan Google Cloud CLI untuk melakukan autentikasi.
gcloud auth login
Klik URL yang muncul, lalu login.
Setelah Anda login, salin kode verifikasi yang muncul dan tempelkan di command line.
Jalankan perintah berikut untuk menentukan project yang berisi aplikasi yang ingin Anda terus lindungi dengan IAP.
gcloud config set project PROJECT_ID
Untuk memigrasikan aplikasi, jalankan perintah cakupan global atau regional.
Cakupan global
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
Cakupan regional
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
Untuk mengonfirmasi bahwa client ID OAuth tidak ditetapkan, jalankan perintah cakupan global atau regional berikut. Setelah menjalankan perintah, periksa output untuk memastikan bahwa kolom client ID OAuth kosong.
Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --global
Cakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME
API
Jalankan perintah berikut untuk menyiapkan file
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOF
Jalankan perintah berikut untuk memigrasikan resource IAP Anda.
Cakupan global
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/global/backendServices/BACKEND_SERVICE_NAME"
Cakupan regional
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/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"Untuk mengonfirmasi bahwa client ID OAuth tidak ditetapkan, jalankan perintah cakupan global atau regional berikut. Setelah menjalankan perintah, periksa output untuk memastikan bahwa kolom client ID OAuth kosong.
Cakupan global
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
Cakupan regional
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
Terraform
Hapus nilai yang ada untuk client ID dan secret OAuth. Contoh:
resource "google_compute_backend_service" "default" {
name = "tf-test-backend-service-external"
protocol = "HTTP"
load_balancing_scheme = "EXTERNAL"
iap {
oauth2_client_id = " "
oauth2_client_secret = " "
}
}
Memigrasikan resource Cloud Run yang mengaktifkan IAP
Selesaikan langkah-langkah di bagian ini untuk memigrasikan resource Cloud Run tempat IAP diaktifkan dan klien OAuth 2.0 dikonfigurasi.
gcloud
Sebelum melanjutkan ke langkah-langkahnya, pastikan Anda memiliki 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
Klik URL yang muncul, lalu login.
Setelah Anda login, salin kode verifikasi yang muncul dan tempelkan di command line.
Jalankan perintah berikut untuk menentukan project yang berisi aplikasi yang ingin Anda terus lindungi dengan IAP.
gcloud config set project PROJECT_ID
Untuk memigrasikan resource, jalankan perintah cakupan global atau regional.
Cakupan global
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
Cakupan regional
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
Untuk mengonfirmasi bahwa client ID OAuth tidak ditetapkan, jalankan perintah cakupan global atau regional berikut. Setelah menjalankan perintah, periksa output untuk memastikan bahwa kolom client ID OAuth kosong.
Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --global
Cakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME
API
Jalankan perintah berikut untuk menyiapkan file
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOF
Jalankan perintah berikut untuk memigrasikan resource Anda.
Cakupan global
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/global/backendServices/BACKEND_SERVICE_NAME"
Cakupan regional
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/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"Untuk mengonfirmasi bahwa client ID OAuth tidak ditetapkan, jalankan perintah cakupan global atau regional berikut. Setelah menjalankan perintah, periksa output untuk memastikan bahwa kolom client ID OAuth kosong.
Cakupan global
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
Cakupan regional
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
Memigrasikan resource Google Kubernetes Engine yang mengaktifkan IAP
Tambahkan blok IAP berikut ke Definisi Resource (CRD) kustom BackendConfig. Tindakan ini memungkinkan IAP dengan klien OAuth 2.0 yang dikelola Google.
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: config-default
namespace: my-namespace
spec:
iap:
enabled: true