Menggunakan SAML dengan Edge Management API

Edge for Private Cloud v4.19.01

Auth Dasar adalah salah satu cara untuk mengautentikasi saat melakukan panggilan ke API pengelolaan Edge. Sebagai misalnya, Anda dapat membuat permintaan cURL berikut ke Edge management API untuk mengakses informasi tentang organisasi Anda:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

Dalam contoh ini, Anda menggunakan opsi cURL -u untuk meneruskan kredensial Autentikasi Dasar. Atau, Anda dapat dapat meneruskan token OAuth2 di header Bearer untuk membuat API pengelolaan Edge panggilan telepon. Contoh:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

Setelah mengaktifkan SAML, Anda dapat menonaktifkan Basic Auth secara opsional. jika Anda menonaktifkan Basic Auth, skrip (skrip Maven, skrip shell, apigeetool, dll.) yang mengandalkan Edge panggilan API pengelolaan yang mendukung Basic Auth tidak lagi berfungsi. Anda harus mengupdate setiap panggilan API dan yang menggunakan Auth Dasar untuk meneruskan token akses OAuth2 di header Bearer.

Menggunakan get_token untuk mendapatkan dan memperbarui token

Utilitas get_token menukar kredensial Auth Dasar dan kode sandi untuk akses OAuth2 dan token pembaruan. Tujuan Utilitas get_token menerima kredensial, dan mencetak token akses yang valid. Jika token dapat di-refresh, token tersebut akan di-refresh dan cetaklah. Jika masa berlaku token refresh sudah berakhir, token tersebut akan meminta kredensial pengguna.

Utilitas get_token menyimpan token pada {i>disk<i}, dan siap digunakan saat dibutuhkan. Perintah ini juga mencetak token akses yang valid ke {i>stdout<i}. Dari sana, Anda dapat menggunakan Postman atau menyematkannya dalam variabel lingkungan untuk digunakan di curl.

Prosedur berikut menjelaskan cara menggunakan get_token untuk memperoleh token akses OAuth2 guna melakukan panggilan API pengelolaan Edge:

  1. Download sso-cli paket:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    dengan edge_sso_IP_DNS adalah alamat IP nama DNS mesin untuk menghosting modul SSO Edge. Jika Anda mengonfigurasi TLS pada SSO Edge, gunakan https dan nomor port TLS yang benar.

  2. Ekstrak paket ssocli-bundle.zip:
    unzip ssocli-bundle.zip
  3. Instal get_token di /usr/local/bin:
    &gt; ./install Gunakan -b untuk menentukan lokasi yang berbeda: > {i>./install<i} -b jalur
  4. Tetapkan SSO_LOGIN_URL variabel lingkungan ke URL login Anda, dalam bentuk:
    ekspor SSO_LOGIN_URL=&quot;http://edge_sso_IP_DNS:9099&quot;

    dengan edge_sso_IP_DNS adalah alamat IP nama DNS mesin untuk menghosting modul SSO Edge. Jika Anda mengonfigurasi TLS di SSO Edge, gunakan https dan nomor port TLS yang benar.
  5. Di browser, buka URL berikut untuk mendapatkan kode sandi sekali pakai:
    http://edge_sso_IP_DNS:9099/passcode

    Jika Anda mengonfigurasi TLS di SSO Edge, gunakan https dan nomor port TLS yang benar.

    Catatan: Jika saat ini Anda tidak login oleh Penyedia Identitas, Anda akan diminta untuk {i>log in<i}.

    URL ini menampilkan kode sandi sekali pakai yang tetap valid hingga Anda memuat ulang URL tersebut untuk mendapatkan kode sandi baru, atau Anda menggunakan kode sandi dengan get_token untuk membuat token akses.
  6. Panggil get_token untuk mendapatkan token akses OAuth2:
    &gt; get_token -u emailAddress

    dengan emailAddress adalah alamat email pengguna Edge. Anda diminta untuk memasukkan kode sandi sekali pakai yang Anda dapatkan di langkah 3:
    Kode Satu Kali ( Dapatkan di https://edge_sso_IP.com/passcode )
    Masukkan kode sandi jika SAML diaktifkan atau tekan ENTER:


    Masukkan kode sandi. Utilitas get_token mendapatkan akses OAuth2 token, mencetaknya ke layar, lalu menulisnya serta token refresh ke ~/.sso-cli.

    Anda dapat memasukkan kode sandi di command line menggunakan perintah get_token di formulir:
    &gt; get_token -u emailAddress -p kode sandi
  7. Teruskan token akses ke panggilan API pengelolaan Edge sebagai header Pembawa:
    &gt; curl -H "Otorisasi: Pembawa access_token&quot; https://ms_IP:8080/v1/organizations/orgName

    Setelah Anda memperoleh token akses baru untuk pertama kalinya, Anda bisa mendapatkan token akses dan meneruskannya ke panggilan API dalam satu perintah, seperti yang ditunjukkan di bawah ini:
    &gt; header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName

    Dengan bentuk perintah ini, jika masa berlaku token akses telah berakhir, token akan diperbarui secara otomatis hingga masa berlaku token refresh berakhir.

Setelah masa berlaku token refresh berakhir, get_token akan meminta kode sandi baru. Anda harus membuka URL yang ditampilkan di atas pada Langkah 3 dan membuat kode sandi baru sebelum Anda dapat membuat token akses OAuth baru

Menggunakan API pengelolaan untuk mendapatkan dan memuat ulang token

Menggunakan OAuth2 keamanan dengan API pengelolaan Apigee Edge berisi petunjuk yang menunjukkan cara menggunakan API pengelolaan edge untuk mendapatkan dan memperbarui token. Anda juga dapat menggunakan panggilan Edge API untuk token yang dihasilkan dari pernyataan SAML.

Satu-satunya perbedaan antara panggilan API yang didokumentasikan dalam Menggunakan keamanan OAuth2 dengan Apigee Edge management API, URL panggilan harus merujuk ke zona Anda nama. Selain itu, untuk membuat token akses awal, Anda harus menyertakan kode sandi, sebagaimana yang ditunjukkan di langkah 3 dari prosedur di atas.

Misalnya, gunakan panggilan API berikut untuk membuat akses awal dan token refresh:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'  

Untuk otorisasi, teruskan kredensial klien OAuth2 yang dicadangkan di header Authorization. Panggilan tersebut akan mencetak mengakses dan menyegarkan token ke layar.

Untuk memperbarui token akses nanti, gunakan panggilan berikut yang menyertakan token refresh:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'