Identity-Aware Proxy (IAP) OAuth Admin API kini tidak digunakan lagi. Panduan ini menunjukkan cara memigrasikan 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 menghentikan penggunaan IAP OAuth Admin API, yang mencakup API dan grup perintah gcloud CLI berikut untuk pengelolaan klien OAuth dan brand secara manual:
- API Klien OAuth
- Brands API
gcloud iap oauth-brands(create,describe, danlist), termasuk jalur rilisalphadanbetagcloud iap oauth-clients(create,delete,describe,list, danreset-secret), termasuk jalur rilisalphadanbeta
Anda tidak dapat lagi membuat atau mengelola klien OAuth kustom menggunakan IAP OAuth Admin API. Alih-alih 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 Anda mengonfigurasi klien OAuth kustom.
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 konsol Google Cloud . Hal ini juga
tidak memengaruhi API IAP atau grup perintah gcloud CLI lainnya (termasuk jalur rilis alpha dan beta) yang mengelola
kebijakan akses, setelan, atau penerusan TCP IAP—seperti
gcloud iap web (misalnya, get-iam-policy
dan remove-iam-policy-binding),
gcloud iap settings, dan
gcloud iap tcp—karena perintah tersebut menggunakan
API IdentityAwareProxyAdminService, bukan API
IdentityAwareProxyOAuthService yang tidak digunakan lagi.
Anda dapat terus membuat konfigurasi merek dan klien OAuth baru serta mengelolanya menggunakan konsol Google Cloud . Anda tidak perlu memigrasikan klien OAuth yang ada; Anda dapat terus menggunakan dan mengelolanya melalui konsolGoogle Cloud , 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 konsol Google Cloud , 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 digunakan untuk membuat klien OAuth 2.0 IAP, 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 penggunaan 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 telah Anda buat sebelumnya dan mengelola klien tersebut menggunakan konsol Google Cloud .
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 diperlukan perubahan 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 mengupdate skrip tersebut agar tidak menggunakan IAP OAuth 2.0 Admin API.
Apakah Anda akan terus menggunakan klien yang dikelola pengguna yang sudah 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 kustom dan yang dikelola Google. Jika aplikasi Anda memerlukan Client ID kustom untuk branding atau akses eksternal, gunakan konsol Google Cloud 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 terpenuhi oleh klien OAuth 2.0 yang dikelola Google, Anda dapat membagikan satu klien OAuth ke beberapa aplikasi IAP, sehingga tidak perlu membuat klien secara manual untuk setiap aplikasi baru.
Tindakan yang diperlukan
Memperbarui skrip otomatisasi
Jika Anda menggunakan Terraform, gcloud CLI (
gcloud iap oauth-brandsataugcloud iap oauth-clients, termasukalphadanbeta), atau alat lainnya untuk mengotomatiskan konfigurasi IAP, dan Anda menggunakan IAP OAuth 2.0 Admin API, Anda harus mengupdate 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 berencana memigrasikannya menggunakan klien OAuth 2.0 yang Dikelola Google, Anda dapat mengonfigurasi akses terprogram untuk aplikasi ini dengan mengizinkan klien OAuth 2.0.
Memigrasikan resource yang mendukung IAP
Untuk memigrasikan resource 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 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 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 terus Anda 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 mengizinkan klien OAuth 2.0 untuk akses terprogram, lakukan operasi baca-update-tulis pada API setelan IAP.
gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yamlPerbarui file
settings.yamldan tambahkan client ID OAuth 2.0 yang diambil sebelumnya di bagianprogrammaticClientsseperti yang ditunjukkan dalam contoh berikut.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDMenerapkan setelan baru di 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 disimpan sebelumnya sebagai klien terprogram.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Jalankan perintah berikut untuk mengupdate 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 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 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 terus Anda 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 memberi klien OAuth 2.0 akses terprogram, lakukan operasi baca-perbarui-tulis pada API setelan IAP.
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 diambil sebelumnya 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 diapit tanda kutip (
" ") 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 bahwa 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 petunjuk untuk menghapus nilaioauth2ClientIddanoauth2ClientSecret.Cakupan global
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalCakupan regional
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAMESetelah Anda menjalankan perintah
describe, periksa bagianiapdari output. Migrasi yang 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 CLIENT_ID yang disimpan sebelumnya sebagai klien terprogram.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Jalankan perintah berikut untuk mengupdate 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 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
Jika Anda memigrasikan resource yang mendukung IAP yang ada untuk menggunakan
klien OAuth yang dikelola Google, Anda harus secara eksplisit membatalkan penetapan kolom oauth2_client_id
dan oauth2_client_secret. Untuk membatalkan penetapan kolom yang memperbarui nilai menjadi 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 baru yang mendukung IAP, Anda dapat mengabaikannya.
Untuk mengetahui informasi selengkapnya tentang penggunaan Terraform dengan Google Cloud, lihat dokumentasi Terraform.
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 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 terus Anda 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 mengizinkan klien OAuth 2.0 untuk akses terprogram, lakukan operasi baca-update-tulis pada API setelan IAP.
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 diambil sebelumnya di bagianprogrammaticClientsseperti contoh yang ditampilkan.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDTerapkan setelan baru di 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, 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 bahwa 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 CLIENT_ID yang disimpan sebelumnya sebagai klien terprogram.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Jalankan perintah berikut untuk mengupdate 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 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 Kustom (CRD) BackendConfig. 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 konsol Google Cloud , rahasia klien hanya 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 secret untuk mendapatkan petunjuk tentang cara mendapatkan rahasia klien.
Memverifikasi apakah Anda menggunakan IAP OAuth Admin API
Untuk memeriksa apakah project Anda menggunakan OAuth Admin API IAP, 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 console: Anda dapat memperoleh kredensial OAuth secara manual melalui halaman Credentials.
Secret Manager: Anda dapat menyimpan dan mengambil secret menggunakan Secret Manager. Untuk mempelajari cara menggunakan Secret Manager dengan Terraform, lihat google_secret_manager_secret.
JWT akun layanan: Menggunakan Token Web JSON (JWT) akun layanan untuk autentikasi. Dengan JWT akun layanan, Anda tidak perlu menggunakan klien OAuth.