Identity-Aware Proxy (IAP) OAuth Admin API kini tidak digunakan lagi. Panduan ini menunjukkan cara melakukan migrasi klien OAuth yang ada ke klien OAuth yang dikelola Google. Jika Anda tidak menggunakan IAP OAuth Admin API, perubahan ini tidak akan memengaruhi Anda.
Untuk memeriksa apakah project Anda menggunakan OAuth Admin API, lihat Memeriksa penggunaan OAuth Admin API. Jika project Anda menggunakan OAuth Admin API, Anda harus mengikuti petunjuk migrasi dalam dokumen ini, atau Anda dapat menggunakan alternatif untuk OAuth Admin API.
Apa saja yang berubah
Kami tidak menggunakan lagi IAP OAuth Admin API, yang mencakup API berikut untuk pengelolaan merek dan klien OAuth manual:
Anda tidak dapat lagi membuat atau mengelola klien OAuth kustom menggunakan IAP OAuth Admin API. Daripada mengelola klien OAuth 2.0 secara manual, IAP menggunakan klien OAuth yang dikelola Google. Hal ini menyederhanakan pengelolaan klien OAuth, mengurangi error manual, dan menyederhanakan proses deployment Anda.
Untuk terus menyediakan branding kustom, sebaiknya konfigurasikan klien OAuth kustom.
Apa yang tidak berubah
Jika Anda tidak menggunakan IAP OAuth Admin API, perubahan ini tidak akan memengaruhi Anda.
Penghentian ini tidak memengaruhi klien OAuth yang Anda konfigurasi secara manual menggunakan Compute Engine API, App Engine API, atau Google Cloud konsol.
Anda dapat terus membuat konfigurasi merek dan klien OAuth baru serta mengelola nya menggunakan Google Cloud konsol. Anda tidak diwajibkan untuk memigrasikan klien OAuth yang ada; Anda dapat terus menggunakan dan mengelolanya melalui Google Cloud konsol, bukan IAP OAuth Admin API.
Memeriksa penggunaan IAP OAuth Admin API
Untuk memeriksa apakah project Anda menggunakan IAP OAuth Admin API, lakukan hal berikut:
Di Google Cloud konsol, buka halaman IAP API Usage.
Pilih project yang ingin Anda periksa penggunaan IAP OAuth Admin API-nya.
Di daftar Select Graphs, pilih Traffic by API method, lalu klik OK.
Di bagian Methods, cari metode apa pun dengan awalan
google.cloud.iap.v1.IdentityAwareProxyOAuthService, yang menunjukkan bahwa project menggunakan IAP OAuth Admin API.
Deskripsi mendetail
Mulai 22 Januari 2025, IAP OAuth 2.0 Admin API, yang di gunakan untuk membuat klien IAP OAuth 2.0, tidak digunakan lagi. IAP kini menggunakan klien OAuth yang dikelola Google untuk akses browser secara default atau saat tidak ada klien OAuth 2.0 yang dikonfigurasi secara eksplisit. Klien OAuth 2.0 yang dikelola Google membatasi akses ke aplikasi yang mendukung IAP bagi 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 menggunakan API ini untuk membuat atau mengelola klien OAuth. Klien OAuth yang dibuat sebelum penghentian ini tidak akan dibatalkan. Anda dapat terus menggunakan klien OAuth yang sebelumnya Anda buat dan mengelola klien tersebut menggunakan Google Cloud konsol.
Jika Anda memiliki aplikasi yang dikonfigurasi dengan klien OAuth yang dibuat menggunakan IAP 2.0 Admin API atau lainnya, aplikasi tersebut akan terus berfungsi. Tidak ada perubahan yang diperlukan pada aplikasi. Namun, jika skrip otomatisasi atau alat Infrastructure as Code (IaC) Anda menggunakan IAP OAuth 2.0 Admin API untuk mengonfigurasi klien baru atau mengambil rahasia klien untuk klien yang ada, Anda harus memperbarui skrip agar tidak menggunakan IAP OAuth 2.0 Admin API.
Apakah Anda akan terus menggunakan klien yang dikelola pengguna yang ada atau mempertimbangkan untuk beralih ke opsi yang dikelola Google bergantung pada persyaratan Anda untuk branding dan akses eksternal. Untuk mengetahui perincian mendetail tentang semua perbedaan fungsional, lihat Tabel perbandingan klien OAuth yang dikelola Google dan kustom. Jika aplikasi Anda memerlukan Client ID kustom untuk branding atau akses eksternal, gunakan Google Cloud konsol untuk membuat Client ID. Untuk mengetahui informasi selengkapnya tentang klien OAuth kustom, lihat Menyesuaikan konfigurasi OAuth untuk mengaktifkan IAP.
Untuk mempelajari cara mengonfigurasi klien OAuth 2.0 yang dikelola Google untuk aplikasi Anda, lihat Akses terprogram.
Jika Anda memiliki persyaratan yang tidak dipenuhi oleh klien OAuth 2.0 yang dikelola Google, Anda dapat membagikan satu klien OAuth dengan beberapa aplikasi IAP, sehingga tidak perlu membuat klien secara manual untuk setiap aplikasi baru.
Tindakan yang diperlukan
Memperbarui skrip otomatisasi
Jika Anda menggunakan Terraform atau alat lainnya untuk mengotomatiskan konfigurasi IAP, dan Anda menggunakan IAP OAuth 2.0 Admin API, Anda harus memperbarui skrip otomatisasi untuk menggunakan klien yang telah dibuat sebelumnya atau menggunakan klien OAuth yang dikelola Google dengan IAP.
Mengonfigurasi akses terprogram untuk aplikasi menggunakan klien OAuth 2.0 yang Dikelola Google
Jika Anda sudah memiliki beberapa aplikasi yang dilindungi oleh IAP dan Anda berencana memigrasikannya menggunakan klien OAuth 2.0 yang Dikelola Google, Anda dapat mengonfigurasi akses terprogram untuk aplikasi ini dengan membuat daftar yang diizinkan untuk klien OAuth 2.0.
Memigrasikan resource yang mendukung IAP
Untuk memigrasikan resource Anda agar 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 mendukung 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 loginKlik URL yang muncul dan login.
Setelah 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_IDJalankan perintah berikut untuk mengambil client ID OAuth 2.0 yang dikonfigurasi.
gcloud app describe --format="value(iap.oauth2ClientId)"Simpan client ID dari perintah sebelumnya jika Anda ingin mengizinkan akses terprogram.
Untuk membuat daftar yang diizinkan untuk klien OAuth 2.0 untuk akses terprogram, lakukan operasi baca-update-tulis pada IAP settings API.
gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yamlPerbarui file
settings.yamldan tambahkan client ID OAuth 2.0 yang sebelumnya diambil di bagianprogrammaticClientsseperti yang ditunjukkan dalam contoh berikut.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDTerapkan setelan baru pada aplikasi App Engine
gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_IDUntuk memigrasikan aplikasi Anda, jalankan perintah berikut.
gcloud iap web enable --resource-type=app-engine
API
Jalankan perintah berikut untuk mengambil Client ID OAuth 2.0 yang dikonfigurasi.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://appengine.googleapis.com/v1/apps/PROJECT_ID?fields=iap"Jalankan perintah berikut untuk mengambil setelan IAP yang ada ke dalam file
settings.json.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings" > settings.jsonPerbarui file
settings.jsonuntuk menambahkan CLIENT_ID yang sebelumnya disimpan sebagai klien terprogram.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Jalankan perintah berikut untuk memperbarui setelan 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://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings"Jalankan perintah berikut untuk menyiapkan file
settings.json.cat << EOF > settings.json { "iap": { "enabled":true } } EOFJalankan 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/PROJECT_ID?updateMask=iap"
Memigrasikan resource Compute Engine yang mendukung 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 loginKlik URL yang muncul dan login.
Setelah 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_IDJalankan perintah berikut untuk mengambil client ID OAuth 2.0 yang dikonfigurasi.
Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --global \ --format="value(iap.oauth2ClientId)"Cakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME \ --format="value(iap.oauth2ClientId)"Simpan client ID dari perintah sebelumnya jika Anda ingin mengizinkan akses terprogram.
Untuk memberikan akses terprogram klien OAuth 2.0, lakukan operasi baca-update-tulis pada IAP settings API.
Cakupan global
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME > settings.yamlCakupan regional
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME > settings.yamlPerbarui file
settings.yamldan tambahkan client ID OAuth 2.0 yang sebelumnya diambil di bagianprogrammaticClientsseperti yang ditunjukkan dalam contoh berikut:accessSettings: oauthSettings: programmaticClients: - CLIENT_IDTerapkan setelan baru pada aplikasi Compute Engine:
Cakupan global
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME
Cakupan regional
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME
Untuk memigrasikan aplikasi Anda, jalankan perintah berikut. Untuk menghapus client ID OAuth dan rahasia OAuth, teruskan satu spasi yang dikutip (
" ") dalam perintah. Layanan backend menggunakan klien OAuth yang dikelola Google.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 Anda telah menghapus client ID OAuth dan rahasia klien OAuth serta layanan backend menggunakan klien OAuth yang dikelola Google, jalankan gcloud compute backend-services describe. Untuk menghapus kolom ini selama migrasi, perintah
gcloud compute backend-services updatemenggunakan satu spasi (" "), yang ditafsirkan oleh Compute Engine API sebagai perintah untuk menghapusoauth2ClientIddanoauth2ClientSecretnilai.Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalCakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAMESetelah menjalankan perintah
describe, periksa bagianiapdari output. Migrasi berhasil ditunjukkan saat kolomoauth2ClientIdmenampilkan satu spasi (' '), dan kolomoauth2ClientSecretberisi hash SHA256 (36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068) dari satu spasi.
API
Jalankan perintah berikut untuk mengambil Client ID OAuth 2.0 yang dikonfigurasi.
Cakupan global
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Cakupan regional
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Jalankan perintah berikut untuk mengambil setelan IAP yang ada ke dalam file
settings.json.Cakupan global
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Cakupan regional
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Perbarui file
settings.jsonuntuk menambahkan yang sebelumnya disimpanCLIENT_ID sebagai klien terprogram.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Jalankan perintah berikut untuk memperbarui setelan IAP.
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://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
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://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
Jalankan perintah berikut untuk menyiapkan file
settings.json.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOFJalankan 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 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
Jika Anda memigrasikan resource yang mendukung IAP yang ada untuk menggunakan klien OAuth yang dikelola Google, Anda harus secara eksplisit menghapus setelan kolom oauth2_client_id dan oauth2_client_secret. Untuk menghapus setelan kolom, perbarui nilai ke satu karakter spasi kosong, seperti yang ditunjukkan dalam contoh berikut:
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 = " "
}
}
Kolom oauth2_client_id dan oauth2_client_secret bersifat opsional, dan jika Anda menggunakan resource yang mendukung IAP baru, Anda dapat mengabaikannya.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Terraform dengan Google Cloud, lihat dokumentasi Terraform.
Memigrasikan resource Cloud Run yang mendukung 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 gcloud CLI versi 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 loginKlik URL yang muncul dan login.
Setelah 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_IDJalankan perintah berikut untuk mengambil client ID OAuth 2.0 yang dikonfigurasi.
Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --global \ --format="value(iap.oauth2ClientId)"Cakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME \ --format="value(iap.oauth2ClientId)"Simpan client ID dari perintah sebelumnya jika Anda ingin mengizinkan akses terprogram.
Untuk membuat daftar yang diizinkan untuk klien OAuth 2.0 untuk akses terprogram, lakukan operasi baca-update-tulis pada IAP settings API.
Cakupan global
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME > settings.yamlCakupan regional
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME > settings.yamlPerbarui file
settings.yamldan tambahkan client ID OAuth 2.0 yang sebelumnya diambil di bagianprogrammaticClientsseperti yang ditunjukkan dalam contoh.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDTerapkan setelan baru pada aplikasi Compute Engine.
Cakupan global
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAMECakupan regional
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAMEUntuk memigrasikan resource Anda, jalankan perintah dengan 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 kolom client ID OAuth kosong.
Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalCakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME
API
Jalankan perintah berikut untuk mengambil Client ID OAuth 2.0 yang dikonfigurasi.
Cakupan global
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Cakupan regional
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Jalankan perintah berikut untuk mengambil setelan IAP yang ada ke dalam file
settings.json.Cakupan global
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Cakupan regional
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Perbarui file
settings.jsonuntuk menambahkan yang sebelumnya disimpanCLIENT_ID sebagai klien terprogram.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Jalankan perintah berikut untuk memperbarui setelan IAP.
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://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
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://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
Jalankan perintah berikut untuk menyiapkan file
settings.json.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOFJalankan 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 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 mendukung IAP
Tambahkan blok IAP berikut ke BackendConfig Custom Resource Definition (CRD). Tindakan ini akan mengaktifkan 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
Menggunakan JWT akun layanan untuk melakukan autentikasi ke IAP
Anda dapat melakukan autentikasi ke IAP tanpa harus menggunakan OAuth Admin API yang tidak digunakan lagi dengan menggunakan JWT akun layanan.
Mendapatkan rahasia klien OAuth
Saat Anda membuat klien OAuth kustom di Google Cloud konsol, rahasia klien hanya akan ditampilkan pada saat itu. Anda bertanggung jawab untuk menyimpan rahasia ini dengan aman. Secret Manager adalah layanan yang direkomendasikan untuk menyimpan rahasia klien OAuth dengan aman.
Jika Anda menggunakan Secret Manager untuk menyimpan rahasia klien OAuth, lihat Mengakses versi rahasia untuk mengetahui petunjuk cara mendapatkan rahasia klien.
Memverifikasi apakah Anda menggunakan IAP OAuth Admin API
Untuk memeriksa apakah project Anda menggunakan IAP OAuth Admin API, lihat Memeriksa penggunaan OAuth Admin API.
Alternatif untuk menggunakan OAuth Admin API
Jika Anda perlu mendapatkan kredensial klien OAuth tanpa menggunakan OAuth API, Anda dapat menggunakan metode berikut:
Google Cloud konsol: Anda dapat memperoleh kredensial OAuth secara manual melalui halaman Credentials.
Secret Manager: Anda dapat menyimpan dan mengambil rahasia menggunakan Secret Manager. Untuk mempelajari cara menggunakan Secret Manager dengan Terraform, lihat google_secret_manager_secret.
JWT akun layanan: Gunakan Token Web JSON (JWT) akun layanan untuk autentikasi. Dengan JWT akun layanan, Anda tidak perlu menggunakan klien OAuth.