Bermigrasi dari IAP OAuth Admin API

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:

  1. Di Google Cloud konsol, buka halaman IAP API Usage.

    Buka Penggunaan IAP API

  2. Pilih project yang ingin Anda periksa penggunaan IAP OAuth Admin API-nya.

  3. Di daftar Select Graphs, pilih Traffic by API method, lalu klik OK.

  4. 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.

  1. Gunakan Google Cloud CLI untuk melakukan autentikasi.

    gcloud auth login
    
  2. Klik URL yang muncul dan login.

  3. Setelah login, salin kode verifikasi yang muncul dan tempelkan di command line.

  4. Jalankan perintah berikut untuk menentukan project yang berisi aplikasi yang ingin Anda terus lindungi dengan IAP.

    gcloud config set project PROJECT_ID
    
  5. Jalankan 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.

  6. 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.yaml
    
  7. Perbarui file settings.yaml dan tambahkan client ID OAuth 2.0 yang sebelumnya diambil di bagian programmaticClients seperti yang ditunjukkan dalam contoh berikut.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Terapkan setelan baru pada aplikasi App Engine

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. Untuk memigrasikan aplikasi Anda, jalankan perintah berikut.

    gcloud iap web enable --resource-type=app-engine
    

API

  1. 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"
    
  2. 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.json
    
  3. Perbarui file settings.json untuk menambahkan CLIENT_ID yang sebelumnya disimpan sebagai klien terprogram.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. 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"
    
  5. Jalankan perintah berikut untuk menyiapkan file settings.json.

      cat << EOF > settings.json
      {
      "iap":
          {
            "enabled":true
          }
      }
      EOF
    
  6. 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/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.

  1. Gunakan Google Cloud CLI untuk melakukan autentikasi.

    gcloud auth login
    
  2. Klik URL yang muncul dan login.

  3. Setelah login, salin kode verifikasi yang muncul dan tempelkan di command line.

  4. Jalankan perintah berikut untuk menentukan project yang berisi aplikasi yang ingin Anda terus lindungi dengan IAP.

    gcloud config set project PROJECT_ID
    
  5. Jalankan 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.

  6. 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.yaml
    

    Cakupan regional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Perbarui file settings.yaml dan tambahkan client ID OAuth 2.0 yang sebelumnya diambil di bagian programmaticClients seperti yang ditunjukkan dalam contoh berikut:

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Terapkan 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
  9. 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=" "
    
  10. 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 update menggunakan satu spasi (" "), yang ditafsirkan oleh Compute Engine API sebagai perintah untuk menghapus oauth2ClientId dan oauth2ClientSecret nilai.

    Cakupan global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Cakupan regional

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --region REGION_NAME
    

    Setelah menjalankan perintah describe, periksa bagian iap dari output. Migrasi berhasil ditunjukkan saat kolom oauth2ClientId menampilkan satu spasi (' '), dan kolom oauth2ClientSecret berisi hash SHA256 (36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068) dari satu spasi.

API

  1. 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"
    
  2. 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
    
  3. Perbarui file settings.json untuk menambahkan yang sebelumnya disimpanCLIENT_ID sebagai klien terprogram.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. 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"
    
  5. Jalankan perintah berikut untuk menyiapkan file settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. 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"
    
  7. 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.

  1. Untuk melakukan autentikasi, gunakan Google Cloud CLI dan jalankan perintah berikut.

    gcloud auth login
    
  2. Klik URL yang muncul dan login.

  3. Setelah login, salin kode verifikasi yang muncul dan tempelkan di command line.

  4. Jalankan perintah berikut untuk menentukan project yang berisi aplikasi yang ingin Anda terus lindungi dengan IAP.

    gcloud config set project PROJECT_ID
    
  5. Jalankan 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.

  6. 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.yaml
    

    Cakupan regional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Perbarui file settings.yaml dan tambahkan client ID OAuth 2.0 yang sebelumnya diambil di bagian programmaticClients seperti yang ditunjukkan dalam contoh.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Terapkan 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
    
  9. Untuk 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=" "
    
  10. 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 \
        --global
    

    Cakupan regional

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --region REGION_NAME
    

API

  1. 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"
    
  2. 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
    
  3. Perbarui file settings.json untuk menambahkan yang sebelumnya disimpanCLIENT_ID sebagai klien terprogram.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. 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"
    
  5. Jalankan perintah berikut untuk menyiapkan file settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. 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"
    
  7. 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.