Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
SAML mendukung lingkungan single sign-on (SSO). Dengan menggunakan SAML dengan Edge, Anda dapat mendukung SSO untuk UI dan API Edge selain layanan lain yang Anda berikan dan yang juga mendukung SAML.
Prasyarat: Anda harus mengaktifkan SAML untuk setidaknya satu organisasi sebelum dapat menggunakannya untuk mengakses Edge API.
Perbedaan antara SAML dan OAuth2
Setelah SAML disiapkan, penggunaannya sangat mirip dengan penggunaan OAuth2 untuk mengakses Edge API. Saat memanggil Edge API, Anda menyertakan token akses OAuth2 dalam permintaan.
Perbedaan utama antara SAML dan OAuth2 saat mengakses Edge API adalah cara Anda mendapatkan token. Dengan SAML, Anda harus menyertakan hal berikut saat mendapatkan pasangan token:
- Zona: Pengguna Edge untuk Cloud Publik harus mereferensikan nama zona mereka saat mendapatkan token.
- Kode sandi: Sertakan kode sandi sekali pakai saat meminta pasangan token akses/token refresh.
SAML menggunakan endpoint yang sama di layanan Edge OAuth2, dengan penambahan nama zona yang sesuai.
Untuk mendapatkan token akses dengan SAML, Anda dapat menggunakan salah satu metode berikut, yang dijelaskan di bagian ini:
Selain itu, Anda dapat mengotomatiskan proses pembuatan token untuk pengguna mesin, seperti yang dijelaskan dalam Mengotomatiskan proses pembuatan token.
Mendapatkan token akses dengan get_token
Anda dapat menggunakan utilitas get_token untuk menukar kredensial Anda dengan token akses dan
refresh OAuth2 yang Anda gunakan dengan SAML.
Untuk mendapatkan token akses dengan get_token:
- Tetapkan variabel lingkungan
SSO_LOGIN_URLke URL login Anda. URL login memiliki format berikut:https://zoneName.login.apigee.com
Misalnya, untuk zona bernama "acme", tetapkan
SSO_LOGIN_URLke "https://acme.login.apigee.com", seperti yang ditunjukkan contoh berikut:export SSO_LOGIN_URL=https://acme.login.apigee.com
- Panggil
get_tokenuntuk mendapatkan token akses OAuth2:get_token -u me@example.com
Anda akan diminta untuk mengunjungi URL yang ditampilkan untuk mendapatkan kode sandi sekali pakai:
Get passcode from https://acme.login.apigee.com/passcode [Note: Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:
Jika Anda belum login baru-baru ini melalui penyedia identitas, Anda akan diminta untuk login.
URL ini menampilkan kode sandi sekali pakai yang tetap valid hingga Anda memperbarui URL tersebut untuk mendapatkan kode sandi baru, atau Anda menggunakan kode sandi dengan
get_tokenuntuk membuat token akses. Contoh:
-
Masukkan kode sandi. Utilitas
get_tokenmendapatkan token OAuth2, mencetak token akses kestdout, dan menulis token akses dan refresh ke~/.sso-cli. - Panggil Edge API dan teruskan token akses di header
Authorization: Bearer, seperti yang ditunjukkan contoh berikut:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Nilai token akses dapat disalin dari
stdout.Contoh ini mendapatkan detail tentang organisasi yang diberikan. Untuk mengetahui daftar lengkap endpoint Management API, lihat Referensi Apigee Edge API.
Saat masa berlaku token akses berakhir, Anda dapat memanggil get_token lagi untuk mendapatkan token akses baru. Contoh:
get_token -u me@example.com
Anda tidak akan diminta kode sandi baru hingga masa berlaku token refresh berakhir.
Saat masa berlaku token refresh berakhir, get_token akan meminta kode sandi baru. Anda harus
membuat kode sandi baru sebelum dapat membuat token akses OAuth2 baru.
Mendapatkan token akses dengan layanan Edge OAuth2
Anda dapat menggunakan layanan Edge OAuth2 untuk mendapatkan token akses yang Anda gunakan dengan SAML. Untuk mengautentikasi diri Anda dengan Edge API, Anda menggunakan kode sandi pada permintaan awal untuk mendapatkan pasangan token akses/refresh, dan lagi untuk mendapatkan pasangan token baru.
Untuk mendapatkan pasangan token dengan Edge API:
- Di browser, buka URL berikut untuk mendapatkan kode sandi sekali pakai:
https://zoneName.login.apigee.com/passcode
Misalnya, untuk zona bernama "acme", buka URL berikut:
https://acme.login.apigee.com/passcode
Jika Anda belum login baru-baru ini melalui penyedia identitas, Anda akan diminta untuk login.
URL ini menampilkan kode sandi sekali pakai yang berfungsi sebagai kredensial Anda untuk mendapatkan token dan tetap valid hingga Anda memperbarui URL untuk mendapatkan kode sandi baru, atau Anda dapat menggunakan kode sandi dengan
get_tokenuntuk membuat token akses. Contoh:
- Kirim permintaan ke Edge API, seperti yang ditunjukkan contoh berikut:
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'passcode berfungsi sebagai kredensial Anda untuk otorisasi.
Dengan:
- Header
Authorizationadalah "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (gunakan nilai yang sama persis ini ). - Jenis permintaan adalah
POST. - Isi permintaan berisi hal berikut:
grant_typeadalah "password".response_typeadalah "token".passcodedengan passcode adalah kode sandi yang ditampilkan pada langkah sebelumnya.
Panggilan mencetak token akses dan refresh ke layar.
- Header
Untuk memperbarui token akses:
Kirim permintaan ke https://zoneName.login.apigee.com/oauth/token,
seperti yang ditunjukkan contoh berikut:
curl https://zoneName.login.apigee.com/oauth/token \
-d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'Dengan:
- Isi permintaan berisi hal berikut:
grant_typeadalah "refresh_token".refresh_tokenadalah nilai token refresh.
- Header
Authorizationadalah "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (gunakan nilai yang sama persis ini ). - Jenis permintaan adalah
POST.
Mengakses Edge API dengan SAML
Anda dapat menggunakan alat seperti curl atau utilitas praktis Apigee acurl
untuk
mengakses Edge API.
Dengan curl, Anda memanggil Edge API dan meneruskan token akses di header
Authorization: Bearer, seperti yang ditunjukkan contoh berikut:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Dengan acurl, Anda tidak perlu menentukan header Authorization. Contoh:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
Contoh ini memanggil endpoint Edge API yang mendapatkan detail tentang organisasi yang diberikan. Untuk mengetahui daftar lengkap endpoint Edge API, lihat Referensi Apigee Edge API.
Untuk metode tambahan dalam memanggil API, termasuk cara memastikan token Anda tetap baru, lihat Mengakses Edge API dengan OAuth2.
Pengguna mesin di zona SAML
Anda dapat menggunakan utilitas acurl dan get_token untuk membuat skrip akses otomatis
ke Edge API bagi pengguna mesin di zona SAML.
Contoh berikut menunjukkan cara menggunakan get_token untuk meminta token akses, lalu menambahkan nilai token ke panggilan curl:
USER=me@example.comPASS=not-that-secretTOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
Pada contoh di atas, menetapkan nilai -m ke string kosong akan mencegah pengguna mesin
diminta kode MFA. Menggunakan flag --force-basic-auth akan mengganti perintah standar untuk kode sandi yang dipicu oleh permintaan dengan zona SAML.
Atau, Anda dapat menggabungkan permintaan token dan panggilan curl menggunakan utilitas acurl.
Contoh:
USER=me@example.comPASS=not-that-secretacurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'