Membuat klien OAuth kustom untuk IAP

Halaman ini menjelaskan cara membuat klien OAuth saat menggunakan konfigurasi OAuth yang disesuaikan untuk mengaktifkan IAP dengan identitas Google.

Jika Anda ingin menggunakan klien OAuth yang dikelola Google untuk mengaktifkan IAP, lihat Mengaktifkan IAP menggunakan klien OAuth yang dikelola Google.

Buat klien OAuth

Anda dapat membuat maksimum 36 klien OAuth untuk setiap project dengan Google Cloud konsol. Anda dapat membuat maksimum 500 klien OAuth untuk setiap project dengan Google Cloud CLI.

Konsol

Selesaikan langkah-langkah berikut untuk membuat klien OAuth menggunakan konsolGoogle Cloud .

  1. Konfigurasi layar izin OAuth dengan mengikuti petunjuk di Menyiapkan layar izin OAuth.

  2. Buat klien OAuth dengan mengikuti petunjuk di Menyiapkan OAuth 2.0.

gcloud

Batasan umum

Berikut adalah batasan untuk klien OAuth yang dibuat secara terprogram menggunakan API:

  • Klien OAuth yang dibuat oleh API hanya dapat diubah menggunakan API. Anda tidak dapat mengubah klien OAuth menggunakan konsol Google Cloud jika klien tersebut dibuat menggunakan API.
  • Klien OAuth yang dibuat oleh API hanya dikunci untuk penggunaan IAP, dan oleh karena itu, API tidak mengizinkan pembaruan apa pun pada URI pengalihan atau atribut lainnya.
  • API tidak beroperasi pada klien OAuth yang dibuat menggunakan konsol Google Cloud .
  • Hanya 500 klien OAuth yang diizinkan per project saat menggunakan API.
  • Merek layar izin OAuth yang dibuat API memiliki batasan tertentu. Lihat bagian untuk mengetahui informasi selengkapnya.

Memahami merek dan status branding

Layar izin OAuth, yang berisi informasi branding untuk pengguna, dikenal sebagai brand. Merek dapat dibatasi untuk pengguna internal atau pengguna publik. Merek internal membuat alur OAuth dapat diakses oleh seseorang yang tergabung dalam organisasi Google Workspace yang sama dengan project. Merek publik membuat alur OAuth tersedia bagi siapa saja di internet.

Merek dapat dibuat secara manual atau terprogram menggunakan API. Merek yang dibuat menggunakan API dikonfigurasi secara otomatis dengan setelan berikut:

  • Internal. Anda harus menyetelnya ke publik secara manual.

  • Belum ditinjau. Anda harus memicu peninjauan merek.

Untuk menyetel merek internal menjadi publik:

  1. Buka layar izin OAuth.
  2. Pilih project dari menu drop-down.
  3. Di halaman Layar izin OAuth, perhatikan bahwa Jenis Pengguna otomatis disetel ke Internal. Untuk menyetelnya ke Publik, klik Edit Aplikasi. Opsi konfigurasi lainnya akan tersedia.
  4. Di bagian Jenis aplikasi, klik Publik.

Untuk memicu peninjauan merek bagi merek yang dibuat API dan belum ditinjau:

  1. Buka layar izin OAuth.
  2. Pilih project dari menu drop-down.
  3. Di halaman Layar izin OAuth, masukkan informasi yang diperlukan, lalu klik Kirim untuk verifikasi.

Proses verifikasi mungkin membutuhkan waktu hingga beberapa minggu, dan Anda akan menerima informasi progresnya melalui email. Pelajari lebih lanjut verifikasi. Selama proses verifikasi berlangsung, Anda tetap dapat menggunakan aplikasi dalam organisasi Google Workspace Anda. Pelajari lebih lanjut perilaku aplikasi Anda sebelum diverifikasi.

Izin yang diperlukan

Sebelum membuat klien, pastikan pemanggil telah diberi izin berikut:

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets
  • clientauthconfig.clients.getWithSecret
  • clientauthconfig.clients.delete
  • clientauthconfig.clients.update

Izin ini disertakan dalam peran dasar Editor (roles/editor) dan Pemilik (roles/owner), tetapi sebaiknya buat peran khusus yang berisi izin ini dan berikan kepada pemanggil.

Menyiapkan OAuth untuk IAP

Langkah-langkah berikut menjelaskan cara mengonfigurasi layar izin serta membuat dan klien oauth untuk IAP.

  1. Check if you already have an existing brand by using the list command. You may only have one brand per project.

    gcloud iap oauth-brands list

    The following is an example gcloud response, if the brand exists:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. If no brand exists, use the create command:

    gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL

    The above fields are required when calling this API:

    • supportEmail: The support email displayed on the OAuth consent screen. This email address can either be a user's address or a Google Groups alias. While service accounts also have an email address, they are not actual valid email addresses, and cannot be used when creating a brand. However, a service account can be the owner of a Google Group. Either create a new Google Group or configure an existing group and set the desired service account as an owner of the group.

    • applicationTitle: The application name displayed on OAuth consent screen.

    The response contains the following fields:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    

Creating an IAP OAuth Client

  1. Use the create command to create a client. Use the brand name from previous step.

    gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME

    The response contains the following fields:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID]
    secret: [CLIENT_SECRET]
    displayName: [NAME]