Tugas dalam Integrasi Apigee Anda mungkin memerlukan koneksi ke aplikasi eksternal, layanan, atau sumber data. Profil otentikasi memungkinkan Anda mengkonfigurasi dan menyimpan detail autentikasi untuk koneksi di Integrasi Apigee. Anda bisa mengonfigurasi tugas untuk menggunakan dalam profil autentikasi Google. Pembuatan profil otentikasi adalah aktivitas satu kali saja, dan Anda dapat menggunakan kembali profil yang sama dalam beberapa integrasi.
Membuat client ID OAuth 2.0
Client ID digunakan untuk mengidentifikasi satu aplikasi ke server OAuth Google. Jika aplikasi Anda berjalan di beberapa platform, setiap platform akan memerlukan client ID sendiri. Untuk menggunakan OAuth 2.0 di aplikasi, Anda memerlukan ID klien OAuth 2.0, yang digunakan aplikasi Anda saat meminta token akses OAuth 2.0.
Untuk membuat client ID OAuth 2.0, lakukan langkah-langkah berikut:
- Di konsol Google Cloud, buka APIs & Layanan > Kredensial.
- Klik + Create Credentials, lalu pilih OAuth client ID dari daftar opsi yang tersedia.
Halaman Buat client ID OAuth akan muncul.
- Appication type: Pilih Web Application dari menu drop-down.
- Nama: Masukkan nama untuk klien OAuth 2.0 Anda guna mengidentifikasi klien di Konsol Cloud.
- Di bagian Authorized redirect URI, klik +Add URI, lalu masukkan informasi berikut:
https://apigee.google.com/organizations/GOOGLE_CLOUD_PROJECT_NAME/integrations/callback/locations/AUTH_PROFILE_REGION
- Klik Create.
Client ID OAuth 2.0 berhasil dibuat.
Buat profil autentikasi baru
Untuk membuat profil autentikasi baru, pilih salah satu opsi berikut:
Konsol
- Di UI Apigee, pilih Organisasi Apigee Anda.
- Klik Develop > Integrasi.
- Pilih integrasi yang ada yang ingin Anda buatkan profil autentikasinya.
Tindakan ini akan membuka integrasi di editor integrasi.
- Di toolbar editor integrasi, klik
Halaman Authentication Profiles akan muncul.
(Manage Authentication Profiles).
- Klik Create dan masukkan detail berikut:
- Di kolom Profile name, masukkan nama profil autentikasi yang akan ditampilkan di editor integrasi.
- Dari daftar Region, pilih region untuk profil autentikasi.
- Di kolom Description, masukkan deskripsi untuk profil autentikasi.
- Klik Lanjutkan.
- Dari daftar Authentication type, pilih jenis autentikasi, lalu masukkan detail yang diperlukan. Berdasarkan pilihan Anda, dialog akan menampilkan kolom tambahan yang diperlukan untuk kredensial otentikasi. Anda dapat memilih salah satu jenis autentikasi berikut:
- Anda juga dapat menambahkan sertifikat klien SSL/TLS yang digunakan oleh server untuk memvalidasi identitas klien. Anda dapat memasukkan kolom berikut:
- Sertifikat SSL
- Kunci pribadi
- Frasa sandi kunci pribadi
- Klik Create.
Terraform
Menggunakan google_integrations_client
resource Anda
Anda dapat menggunakan terraform untuk membuat profil autentikasi berikut:
- Token Auth
- Khusus sertifikasi klien SSL/TLS
- Token Web JSON (JWT)
- Kode otorisasi OAuth 2.0
- Kredensial klien OAuth 2.0
- Token ID OIDC
- Service account
Token Auth
Contoh berikut membuat jenis autentikasi token Auth di region us-central1
:
Sertifikasi klien SSL/TLS
Contoh berikut membuat jenis autentikasi sertifikasi klien SSL/TLS di region us-central1
:
Token Web JSON (JWT)
Contoh berikut membuat jenis autentikasi JSON Web Token (JWT) di region us-central1
:
Kode otorisasi OAuth 2.0
Contoh berikut membuat jenis autentikasi sertifikasi klien SSL/TLS di region us-central1
:
Kredensial klien OAuth 2.0
Contoh berikut membuat jenis autentikasi kredensial klien OAuth 2.0 di region us-central1
:
Token ID OIDC Google
Contoh berikut membuat jenis autentikasi token ID OIDC Google di region us-central1
:
resource "random_id" "default" { byte_length = 8 } resource "google_service_account" "service_account" { account_id = "sa-${random_id.default.hex}" display_name = "Service Account" } resource "google_integrations_auth_config" "auth_config_oidc_token" { location = "us-central1" display_name = "tf-oidc-token" description = "Test auth config created via terraform" decrypted_credential { credential_type = "OIDC_TOKEN" oidc_token { service_account_email = google_service_account.service_account.email audience = "https://us-central1-project.cloudfunctions.net/functionA 1234987819200.apps.googleusercontent.com" } } depends_on = [google_service_account.service_account, google_integrations_client.client] }
Service account
Contoh berikut membuat jenis autentikasi akun layanan di region us-central1
:
resource "random_id" "default" { byte_length = 8 } resource "google_service_account" "service_account" { account_id = "sa-${random_id.default.hex}" display_name = "Service Account" } resource "google_integrations_auth_config" "auth_config_service_account" { location = "us-central1" display_name = "tf-service-account" description = "Test auth config created via terraform" decrypted_credential { credential_type = "SERVICE_ACCOUNT" service_account_credentials { service_account = google_service_account.service_account.email scope = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/adexchange.buyer https://www.googleapis.com/auth/admob.readonly" } } depends_on = [google_service_account.service_account, google_integrations_client.client] }
Setelah Anda simpan, profil autentikasi baru akan tersedia sebagai di drop-down Authorization profile to use untuk tugas apa pun yang memerlukan autentikasi.
Opsional. Jika Anda belum membuat profil autentikasi sebelum mengonfigurasi tugas integrasi, Anda dapat mengakses dialog pembuatan profil dengan memilih + Add new authentication profile dari Drop-down Authorization profile to use di panel konfigurasi tugas. Ikuti langkah sebelumnya untuk membuat profil otentikasi baru.
Edit profil autentikasi
Untuk mengedit profil autentikasi, ikuti langkah-langkah berikut:
- Di UI Apigee, pilih Organisasi Apigee Anda.
- Klik Develop > Integrasi.
- Pilih integrasi yang ada yang ingin Anda buatkan profil autentikasinya.
Tindakan ini akan membuka integrasi di editor integrasi.
- Di toolbar editor integrasi, klik
Halaman Authentication Profiles akan muncul.
(Manage Authentication Profiles).
- Pilih Region untuk profil autentikasi menggunakan menu drop-down di halaman Authentication Profiles.
- Klik
Dialog Authentication Profiles akan muncul.
(Menu tindakan), lalu klik Edit.
- Edit detailnya, lalu klik Simpan.
Hapus profil autentikasi
Untuk menghapus profil autentikasi, ikuti langkah-langkah berikut:
- Di UI Apigee, pilih Organisasi Apigee Anda.
- Klik Develop > Integrasi.
- Pilih integrasi yang ada yang ingin Anda buatkan profil autentikasinya.
Tindakan ini akan membuka integrasi di editor integrasi.
- Di toolbar editor integrasi, klik
Halaman Authentication Profiles akan muncul.
(Manage Authentication Profiles).
- Pilih Region untuk profil autentikasi menggunakan menu drop-down di halaman Authentication Profiles.
- Klik Hapus.
Jenis autentikasi
Jenis autentikasi yang diperlukan untuk menyelesaikan tugas integrasi bergantung pada autentikasi yang dikonfigurasi di server otorisasi. Server otorisasi bisa berupa server mandiri atau API yang mengeluarkan kredensial ke memanggil klien. Integrasi Apigee mendukung jenis autentikasi berikut:
- Token Auth
- Token ID OIDC Google
- Token Web JSON (JWT)
- Kode otorisasi OAuth 2.0
- Kredensial klien OAuth 2.0
- Kredensial sandi pemilik resource OAuth 2.0
- Khusus sertifikasi klien SSL/TLS
- Service account
Bagian berikut menjelaskan properti konfigurasi dari jenis autentikasi.
Token Autentikasi
Jenis autentikasi token Auth menggunakan token (kredensial) untuk autentikasi. Kredensial dikirim ke server di header permintaanAuthorization
HTTP di
format Authorization: TYPE CREDENTIALS
. Untuk mengonfigurasi ini
jenis autentikasi, tetapkan properti berikut:
- Jenis: Jenis autentikasi seperti
Basic
,Bearer
, atauMAC
. - Token: Kredensial untuk jenis autentikasi.
Jika server autentikasi memerlukan sertifikat SSL/TLS, upload sertifikat dan kunci pribadi.
Untuk mengetahui tugas mana yang mendukung jenis autentikasi ini, lihat Kompatibilitas jenis autentikasi dengan tugas.Token ID Google OIDC
Jenis autentikasi Google OIDC ID Token menggunakan JSON Web Token (JWT) untuk autentikasi. Penyedia Google OpenID Connect (OIDC), accounts.google.com, menandatangani dan menerbitkan JWT ini untuk autentikasi menggunakan akun layanan. Untuk mengonfigurasi jenis autentikasi ini, tetapkan properti berikut:- Akun layanan: Akun layanan (utama) di project Google Cloud Anda dengan izin untuk mengakses API Anda.
- Audiens: Audiens untuk token OIDC (ini mengidentifikasi penerima yang menjadi target JWT). Misalnya, URL Pemicu adalah audiens untuk tugas Cloud Function.
Token Web JSON (JWT)
Jenis autentikasi JWT menggunakan JSON Web Token (JWT) untuk autentikasi. Untuk mengetahui informasi selengkapnya tentang JWT, lihat RFC7519. Untuk mengonfigurasi ini jenis autentikasi, tetapkan properti berikut:- Header JWT: Algoritme yang digunakan untuk membuat tanda tangan.
Catatan: Anda hanya dapat menentukan algoritma HS256.
- Payload JWT: Kumpulan klaim. Anda dapat menggunakan klaim terdaftar, publik, atau kustom.
- Secret: Kunci bersama antara klien dan server autentikasi.
Jika server otentikasi memerlukan sertifikat SSL, unggah sertifikat dan kunci pribadi menggunakan pemilih file. Masukkan frasa sandi kunci pribadi .
Untuk mengetahui tugas mana yang mendukung jenis autentikasi ini, lihat Kompatibilitas jenis autentikasi dengan tugas.Kode otorisasi OAuth 2.0
Jenis autentikasi kode otorisasi OAuth 2.0 menggunakan OAuth 2.0
token otorisasi untuk otentikasi. Untuk mengonfigurasi ini
jenis autentikasi, tetapkan properti berikut:
- Endpoint autentikasi: Endpoint ke endpoint autentikasi aplikasi. Anda akan dialihkan ke URL ini untuk meninjau izin akses aplikasi. Token tersebut akan hanya dapat dibuat setelah akses diberikan.
- Endpoint token: Endpoint yang memberikan atau memperbarui token akses.
- Client ID: String unik yang disediakan oleh server autentikasi untuk klien terdaftar. Client ID bukan rahasia, dan diekspos kepada pemilik resource. Gunakan kolom ini bersama dengan rahasia klien.
- Secret: Kunci rahasia bersama antara klien (integrasi) dan server otentikasi.
- Cakupan: Cakupan token akses. Cakupan memungkinkan Anda menentukan izin akses ketersediaan tinggi dan latensi yang lebih rendah bagi pengguna. Anda dapat menentukan beberapa cakupan yang dipisahkan dengan satu spasi (" "). Untuk informasi selengkapnya, lihat Cakupan OAuth 2.0 untuk Google API.
Jika server otentikasi memerlukan sertifikat SSL, unggah sertifikat dan kunci pribadi menggunakan pemilih file. Masukkan frasa sandi kunci pribadi ke kolom yang tersedia, jika diperlukan.
Untuk mengetahui tugas mana yang mendukung jenis autentikasi ini, lihat Kompatibilitas jenis autentikasi dengan tugas.Kredensial klien OAuth 2.0
Jenis autentikasi kredensial klien OAuth 2.0 menggunakan OAuth 2.0
token otorisasi untuk otentikasi. Otentikasi ini terlebih dahulu meminta
token akses menggunakan
kredensial klien, lalu menggunakan token itu
untuk mengakses sumber daya yang dilindungi. Untuk mengonfigurasi ini
jenis autentikasi, tetapkan properti berikut:
- Endpoint token: Endpoint yang memberikan atau memperbarui token akses.
- Client ID: String unik yang disediakan oleh server autentikasi untuk klien terdaftar. Client ID bukan rahasia, dan diekspos kepada pemilik resource. Gunakan isian ini beserta sebuah rahasia klien.
- Secret: Kunci rahasia bersama antara klien (integrasi) dan server otentikasi.
- Cakupan: Cakupan token akses. Cakupan memungkinkan Anda menentukan izin akses ketersediaan tinggi dan latensi yang lebih rendah bagi pengguna. Anda dapat menentukan beberapa cakupan yang dipisahkan dengan satu spasi (" "). Untuk informasi selengkapnya, lihat Cakupan OAuth 2.0 untuk Google API.
- Jenis permintaan: Mekanisme untuk mengirim parameter permintaan ke
server otentikasi untuk mengambil token akses. Anda dapat menentukan salah satu opsi berikut
jenis permintaan:
- Header encoder: Mengenkode
CLIENT ID
danCLIENT SECRET
dalam formatBase64
dan mengirim string yang dienkode dalam header otorisasi HTTP. Parameter permintaan lainnya akan dikirim dalam isi permintaan HTTP. - Parameter kueri: Mengirim parameter permintaan dalam string kueri.
- Isi permintaan: Mengirim parameter permintaan dengan menggunakan elemen
Jenis konten
application/x-www-form-urlencoded
danUTF-8
charset dalamentity-body
dari permintaan HTTP. - Tidak ditentukan
- Header encoder: Mengenkode
- Parameter token: Parameter permintaan yang diperlukan untuk mendapatkan token. Menentukan
nilai dalam format nilai kunci dengan
Key
sebagai nama parameter danValue
adalah nilai parameter yang sesuai.
Jika server otentikasi memerlukan sertifikat SSL, unggah sertifikat dan kunci pribadi menggunakan pemilih file. Masukkan frasa sandi kunci pribadi ke kolom yang tersedia, jika diperlukan.
Untuk mengetahui tugas mana yang mendukung jenis autentikasi ini, lihat Kompatibilitas jenis autentikasi dengan tugas.Kredensial sandi pemilik resource OAuth 2.0
Jenis autentikasi kredensial sandi pemilik resource OAuth 2.0 menggunakan OAuth 2.0
token otorisasi untuk otentikasi. Otentikasi ini terlebih dahulu meminta
token akses menggunakan
kredensial pemilik resource (Nama pengguna dan Sandi), lalu menggunakan token tersebut untuk mengakses resource yang dilindungi. Untuk mengonfigurasi ini
jenis autentikasi, tetapkan properti berikut berdasarkan jenis instance yang Anda hubungkan:
- Endpoint token: Endpoint yang memberikan atau memperbarui token akses.
- Client ID: String unik yang disediakan oleh server autentikasi untuk klien terdaftar. Client ID bukan rahasia, dan diekspos kepada pemilik resource. Gunakan isian ini beserta sebuah rahasia klien.
- Secret: Kunci rahasia bersama antara klien (integrasi) dan server otentikasi.
- Cakupan: Cakupan token akses. Cakupan memungkinkan Anda menentukan izin akses ketersediaan tinggi dan latensi yang lebih rendah bagi pengguna. Anda dapat menentukan beberapa cakupan yang dipisahkan dengan satu spasi (" "). Untuk informasi selengkapnya, lihat Cakupan OAuth 2.0 untuk Google API.
- Nama pengguna: Nama pengguna pemilik resource.
- Sandi: Sandi pengguna.
- Jenis permintaan: Mekanisme untuk mengirim parameter permintaan ke
server otentikasi untuk mengambil token akses. Anda dapat menentukan salah satu opsi berikut
jenis permintaan:
- Header encoder: Mengenkode
CLIENT ID
danCLIENT SECRET
dalam formatBase64
dan mengirim string yang dienkode dalam header otorisasi HTTP. Mengirim parameter permintaan yang tersisa dalam isi permintaan HTTP. - Parameter kueri: Mengirim parameter permintaan dalam string kueri.
- Isi permintaan: Mengirim parameter permintaan dengan menggunakan elemen
Jenis konten
application/x-www-form-urlencoded
danUTF-8
charset dalamentity-body
dari permintaan HTTP.
- Header encoder: Mengenkode
- Parameter token: Parameter permintaan yang diperlukan untuk mendapatkan token. Menentukan
nilai dalam format nilai kunci dengan
Key
sebagai nama parameter danValue
adalah nilai parameter yang sesuai.
Jika server otentikasi memerlukan sertifikat SSL, unggah sertifikat dan kunci pribadi menggunakan pemilih file. Masukkan frasa sandi kunci pribadi ke kolom yang tersedia, jika diperlukan.
Untuk mengetahui tugas mana yang mendukung jenis autentikasi ini, lihat Kompatibilitas jenis autentikasi dengan tugas.Hanya sertifikat klien SSL/TLS
Jenis autentikasi Hanya sertifikat klien SSL/TLS hanya menggunakan sertifikat SSL/TLS untuk autentikasi. Upload sertifikat dan kunci pribadi yang diperlukan. Untuk mengonfigurasi ini jenis autentikasi, unggah file berikut:- Sertifikat SSL: Sertifikat yang dienkode dalam format PEM.
- Kunci pribadi: File kunci pribadi sertifikat yang dienkode dalam format PEM.
Jika kunci pribadi memerlukan
passphrase
, masukkan frasa sandi kunci pribadi.
Akun layanan
Jenis autentikasi Akun layanan menggunakan kredensial akun layanan project Google Cloud untuk autentikasi. Untuk mengonfigurasi ini jenis autentikasi, tetapkan properti berikut:
- Akun layanan: Akun layanan (utama) di project Google Cloud Anda dengan izin untuk mengakses API Anda.
- Cakupan: Cakupan izin akses yang diberikan kepada pengguna. Anda dapat menentukan beberapa cakupan dipisahkan dengan satu spasi (" "). Untuk informasi selengkapnya, lihat Cakupan OAuth 2.0 untuk Google API.
Untuk mempelajari praktik terbaik dalam membuat dan mengelola akun layanan, baca Praktik terbaik untuk menggunakan dokumentasi akun layanan.
Jika server otentikasi memerlukan sertifikat SSL, unggah sertifikat dan kunci pribadi menggunakan pemilih file. Masukkan frasa sandi kunci pribadi ke kolom yang tersedia, jika diperlukan.
Untuk mengetahui tugas mana yang mendukung jenis autentikasi ini, lihat Kompatibilitas jenis autentikasi dengan tugas.Kompatibilitas jenis autentikasi dengan tugas
Tabel berikut mencantumkan jenis autentikasi dan tugas kompatibel yang sesuai. Anda dapat menggunakan informasi ini untuk memutuskan jenis otentikasi mana yang digunakan untuk suatu tugas.
Authentication type | Tugas dan pemicu yang kompatibel |
---|---|
Token Auth | |
Token ID OIDC Google | |
Token Web JSON (JWT) | |
Kode otorisasi OAuth 2.0 | |
Kredensial klien OAuth 2.0 | |
Kredensial sandi pemilik resource OAuth 2.0 | |
Khusus sertifikat klien SSL/TLS | |
Service account |
Aturan otentikasi
Jika integrasi Anda memiliki profil OAuth 2.0 dan akun layanan yang dikelola pengguna yang telah dikonfigurasi, profil OAuth 2.0 akan digunakan secara default untuk autentikasi. Jika profil OAuth 2.0 atau akun layanan yang dikelola pengguna tidak dikonfigurasi, akun layanan default (service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com
) akan digunakan. Jika tugas tidak menggunakan akun layanan default, eksekusi akan gagal.