Menyiapkan dan mengonfigurasi Edge Microgateway

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Edge Microgateway v. 2.3.x

Ringkasan

Tutorial ini akan memandu Anda melakukan langkah-langkah yang diperlukan untuk mengaktifkan dan menjalankan instance Edge Microgateway.

Setelah menyelesaikan langkah-langkah di sini, Anda akan memiliki penginstalan Edge Microgateway yang telah dikonfigurasi sepenuhnya dan berfungsi serta mampu memproses permintaan API. Anda akan menguji penyiapan dengan melakukan panggilan API yang aman melalui Edge Microgateway ke target backend. Anda juga akan mempelajari cara menambahkan plugin lonjakan pembatasan ke Microgateway.

Panduan ini dibagi menjadi beberapa bagian berikut:

Prasyarat: Instal Edge Microgateway

Ikuti petunjuk dalam Menginstal Edge Microgateway. Setelah menyelesaikan penginstalan, Anda akan siap untuk mengikuti langkah-langkah dalam tutorial ini.

Setelah menyelesaikan penginstalan, lanjutkan ke bagian berikutnya, "Bagian 1: Mengonfigurasi Edge Microgateway".

Bagian 1: Mengonfigurasi Edge Microgateway

Di bagian ini, Anda akan menggunakan perintah antarmuka command line (CLI) untuk mengonfigurasi Edge Microgateway agar dapat berkomunikasi dengan Apigee Edge. Jika Anda menggunakan Apigee Edge Cloud, ikuti langkah-langkah konfigurasi Apigee Edge Cloud. Jika Anda menggunakan Apigee Private Cloud, ikuti langkah-langkah untuk Apigee Edge Private Cloud.

Langkah-langkah konfigurasi Apigee Edge Cloud

Ikuti langkah-langkah berikut untuk menggunakan Edge Microgateway dengan Apigee Edge Cloud:

  1. Jika Anda belum pernah melakukannya, lakukan inisialisasi Edge Microgateway (Anda hanya perlu melakukan langkah ini satu kali):
    edgemicro init
    
  2. (Opsional) Bantuan cetak untuk perintah edgemicro configurations:
    edgemicro configure -h
    
  3. Jalankan perintah berikut untuk mengonfigurasi Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
    • username adalah alamat email yang terkait dengan akun Apigee Anda.

Contoh

edgemicro configure -o docs -e test -u jdoe@example.com

Output

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

Langkah-langkah konfigurasi Apigee Private Cloud

Ikuti langkah-langkah berikut untuk menggunakan Edge Microgateway dengan Apigee Private Cloud:

  1. Cetak informasi bantuan untuk perintah edgemicro private configure. Anda dapat mencetak bantuan dengan cara ini untuk semua opsi perintah atau perintah Edge Microgateway CLI.
    edgemicro private configure -h
    
  2. Jalankan perintah berikut. Diperlukan informasi standar tentang akun Apigee Edge Private Cloud Anda: nama organisasi, nama lingkungan, nama pengguna (alamat email), sandi, IP server pengelolaan, dan IP router. Anda harus menjadi administrator organisasi Edge untuk menggunakan perintah ini:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau prod).
    • runtime_url adalah URL runtime untuk instance cloud pribadi Anda.
    • mgmt_url adalah URL server pengelolaan untuk instance cloud pribadi Anda.
    • username adalah alamat email yang terkait dengan akun Apigee Anda.
    • virtual_host adalah daftar nama host virtual yang dipisahkan koma. Nilai defaultnya adalah default,secure

Contoh

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

atau, jika Anda memiliki alias host virtual myorg-test.mycompany.com, Anda akan menggunakan perintah seperti ini:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

Output

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

Memverifikasi penginstalan

Jalankan perintah ini untuk memverifikasi penginstalan. Jika tidak ada error yang dilaporkan, semuanya telah disiapkan dengan benar dan Anda akan dapat memulai Edge Microgateway dengan sukses.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Dengan keterangan:

  • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
  • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
  • key adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.
  • secret adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.

Contoh

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Tentang konfigurasi

Semua konfigurasi yang dilakukan sejauh ini memungkinkan Edge Microgateway melakukan bootstrap sendiri ke Apigee Edge. Setelah bootstrap berhasil, Edge Microgateway akan mengambil payload informasi konfigurasi tambahan dari Apigee Edge.

Untuk apa informasi konfigurasi ini digunakan? Seperti yang akan kita temukan di bagian selanjutnya dari tutorial ini, saat Edge Microgateway dimulai, Edge Microgateway perlu menerima daftar proxy API khusus Edge Microgateway dari Apigee Edge. Di bagian selanjutnya dari tutorial ini, Anda akan membuat proxy yang peka terhadap Microgateway. Edge Microgateway membatasi klien untuk hanya memanggil API yang ditangani oleh proxy API berbasis Microgateway ini, dan klien akan diminta (secara default) untuk menampilkan token keamanan yang valid untuk setiap panggilan. Untuk membaca selengkapnya tentang proxy ini, lihat "Yang perlu Anda ketahui tentang proxy yang mendukung Edge Microgateway di Ringkasan Edge Microgateway.

Sebagai admin org Edge, Anda akan tertarik untuk mengetahui bahwa proxy yang mendukung Edge Microgateway dapat ditambahkan ke produk Edge, seperti proxy lainnya. Melalui penggunaan produk dan aplikasi developer, Anda dapat membuat token keamanan khusus klien untuk mengontrol akses ke API yang dipanggil melalui Edge Microgateway. Sekali lagi, pola yang terlibat identik dengan penggunaan proxy, produk, dan aplikasi developer API apa pun di Apigee Edge. Jika Anda ingin membaca tentang produk, mulailah dengan What is an API product? dalam dokumentasi Edge.

Berikutnya, kita akan membahas cara membuat proxy berbasis Edge Microgateway, dan setelah itu, kita akan memulai Edge Microgateway dan menguji penyiapannya.

Bagian 2: Membuat entity di Apigee Edge

Di bagian ini, Anda akan membuat entitas ini di Edge:

  • Proxy yang peka terhadap microgateway - Ini adalah proxy khusus yang dapat ditemukan Edge Microgateway saat startup. Proxy yang mendukung microgateway memiliki konvensi penamaan yang harus Anda ikuti: namanya harus dengan edgemicro_. Misalnya edgemicro_hello atau edgemicro_userinfo. Saat Edge Microgateway dimulai, Edge akan mengambil daftar proxy yang mendukung microgateway dari organisasi dan lingkungan Edge yang sama yang Anda tentukan saat memulai Edge Microgateway.

    Untuk setiap proxy yang mendukung microgateway, Edge Microgatway akan mengambil URL target proxy dan jalur dasarnya. Proxy yang peka terhadap microgateway juga memberikan cara yang mudah untuk mengaitkan data analisis yang dihasilkan oleh Edge Microgateway dengan proxy di platform Edge. Karena Microgateway menangani panggilan API, data analisis akan dikirim secara asinkron ke Edge. Data analisis akan muncul di UI Edge Analytics di bagian nama proxy microgateway-aware, seperti pada proxy lainnya.
  • Aplikasi, developer, dan developer - Edge Microgateway menggunakan produk, developer, dan aplikasi developer untuk mengaktifkan token akses OAuth2 atau keamanan kunci API. Saat Edge Microgateway dimulai, semua konfigurasi produk akan didownload dari organisasi Apigee Edge Anda. Informasi ini digunakan untuk memverifikasi panggilan API yang dilakukan melalui Edge Microgateway dengan kunci API atau token akses OAuth2.

Baca selengkapnya: Lihat juga "Yang perlu Anda ketahui tentang proxy yang mendukung Edge Microgateway" di Ringkasan Edge Microgateway.

1. Membuat proxy API Edge Microgateway di Edge

  1. Login ke organisasi Anda di Apigee Edge.
  2. Klik ALIH KE KLASIK untuk membuka UI Edge Klasik.
  3. Pilih APIs > API Proxy dari menu atas.
  4. Di halaman API Proxy, klik + API Proxy.
  5. Di wizard Build a Proxy, pilih Reverse proxy (paling umum).
  6. Klik Next.
  7. Pada halaman Detail wizard, konfigurasikan sebagai berikut. Pastikan untuk mengisi wizard persis seperti yang ditunjukkan:
    • Nama Proxy: edgemicro_hello
    • Jalur Dasar Proxy: /hello
    • API yang sudah ada: http://mocktarget.apigee.net/
  8. Klik Next.
  9. Di halaman Security di wizard, pilih Pass through (none).
  10. Klik Next.
  11. Di halaman Virtual Hosts wizard, terima defaultnya.
  12. Klik Next.
  13. Di halaman Build pada wizard, tinjau setelan proxy Anda. Pastikan lingkungan pengujian dipilih.
  14. Klik Build and Deploy.

2. Membuat produk

Buat produk yang berisi dua proxy:

  • Proxy berbasis microgateway Anda: edgemicro_hello
  • Proxy autentikasi yang diinstal oleh Edge Microgateway: edgemicro-auth.
  1. Di UI Edge (Versi klasik), buka Publikasikan > Produk.
  2. Di halaman Produk, klik + Produk. Isi halaman Detail Produk sebagai berikut:
    • Nama: EdgeMicroTestProduct
    • Nama Tampilan: EdgeMicroTestProduct
    • Lingkungan: pengujian dan produksi
    • Akses: Publik
    • Jenis Persetujuan Kunci: Otomatis
    • Referensi:
      • Proxy API: Pilih edgemicro_hello
      • Revisi: 1
      • Jalur Resource: /**
  3. Klik Import Resource.
  4. Di Resources, klik +API Proxy
  5. Pilih edgemicro-auth
  6. Klik Simpan.

3. (Opsional) Membuat developer pengujian

Untuk keperluan tutorial ini, Anda dapat menggunakan developer yang ada untuk langkah berikutnya, yaitu membuat aplikasi developer. Namun, jika ingin, buat developer pengujian sekarang:

  1. Buka Publikasikan > Developer.
  2. Di halaman Produk, klik + Developer.
  3. Lengkapi dialog untuk membuat developer pengujian.

4. Membuat aplikasi developer

Anda akan menggunakan kredensial klien dari aplikasi ini untuk melakukan panggilan API yang aman melalui Edge Microgateway:

  1. Buka Publikasikan > Aplikasi Developer.
  2. Di halaman Aplikasi Developer, klik + Aplikasi Developer.
  3. Isi halaman Aplikasi Developer sebagai berikut:
    1. Nama: EdgeMicroTestApp
    2. Nama Tampilan: EdgeMicroTestApp
    3. Developer: Jika Anda membuat developer pengujian, pilih developer tersebut. Atau, Anda dapat menggunakan developer yang sudah ada untuk keperluan tutorial ini.
    4. Kredensial:
      1. Pilih Akhir masa berlaku: Tidak pernah.
      2. Klik + Product, lalu pilih EdgeMicroTestProduct (produk yang baru saja Anda buat)
  4. Klik Simpan.
  5. Anda kembali ke halaman daftar Aplikasi Developer.
  6. Pilih aplikasi yang baru saja Anda buat, EdgeMicroTestApp.
  7. Klik Show di samping Consumer Key dan Consumer Secret.

Bagian 3: Mengoperasikan Edge Microgateway

Setelah Anda mengonfigurasi Edge Microgateway dan setidaknya satu proxy yang mendukung Edge Microgateway di Edge, saatnya untuk memulai Edge Microgateway. Server HTTP Edge Microgateway akan berjalan di mesin lokal Anda, dan Anda harus melakukan panggilan API langsung ke server tersebut.

1. Mulai Edge Microgateway

Gunakan perintah edgemicro start untuk memulai Edge Microgateway.

  1. Pastikan Anda memiliki kunci yang ditampilkan sebelumnya saat menjalankan perintah edgemicro configure. Output tersebut akan terlihat seperti ini:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (Opsional) Cetak informasi bantuan untuk perintah edgemicro start.
    edgemicro start -h
    
  3. Untuk memulai Edge Microgateway, jalankan perintah berikut:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
    • key adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.
    • secret adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.

    Contoh

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    Output

    Perintah start mengambil banyak informasi konfigurasi dari Apigee Edge (yang men-scroll ke jendela terminal). Pada output, Anda akan melihat daftar produk dan proxy yang peka terhadap microgateway yang ditemukan. Di akhir output, Anda akan melihat yang seperti ini:

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000
    

Apa yang terjadi?

Lihat terminal tempat Anda menjalankan perintah edgemicro config. Dengan men-scroll ke atas melalui output standar, Anda dapat melihat bahwa perintah tersebut mengambil payload informasi konfigurasi Edge Microgateway dari Apigee Edge. Informasi ini mencakup:

  • Kunci publik yang kita buat dan simpan sebelumnya di lemari besi Apigee.
  • Representasi JSON dari semua proxy yang mendukung Edge Microgateway yang ada di organisasi/lingkungan. Semua ini adalah proxy yang diberi nama dengan awalan edgemicro_.
  • Representasi JSON dari semua produk API yang ada di organisasi/lingkungan.

Dengan informasi ini, Edge Microgateway akan mengetahui proxy dan jalur proxy yang diizinkan untuk diproses. Privacy Sandbox menggunakan informasi produk untuk menegakkan keamanan (dengan cara yang sama persis seperti proxy API apa pun di Apigee Edge, tempat kunci aplikasi developer terkait dengan produk). Kami akan segera menjelaskan langkah-langkah untuk mengamankan Edge Microgateway.

2. Menguji Edge Microgateway

Dengan Edge Microgateway yang berjalan, Anda dapat memanggil proxy. Konfigurasi untuk proxy edgemicro_hello didownload dari Edge saat Anda memulai Edge Microgateway. Ingat, basepath proxy adalah /hello.

Untuk menguji Edge Microgateway, kita mulai dengan jalur dasar dan menambahkan jalur resource /echo. Perhatikan bahwa apa pun setelah jalur dasar (termasuk parameter kueri) diteruskan ke target backend:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

Error terjadi karena Anda tidak mengirimkan kunci API atau token akses yang valid bersama permintaan. Secara default, Edge Microgateway memerlukan kunci API atau token akses pada setiap panggilan API. Pada langkah tutorial berikutnya, kami akan mengamankan API ini dengan benar dan menunjukkan cara mendapatkan token akses yang valid dan menyertakannya bersama permintaan.

4. Hentikan Edge Microgateway

  1. Di jendela terminal terpisah, cd ke direktori yang sama tempat Anda memulai Edge Microgateway.
  2. Masukkan perintah berhenti:
    edgemicro stop
    

Bagian 4: Mengamankan Edge Microgateway

Anda dapat mengamankan panggilan API yang dilakukan melalui Edge Microgateway menggunakan kunci API atau token akses.

Mengamankan panggilan API dengan token akses OAuth2

Ikuti langkah-langkah berikut jika Anda ingin mengautentikasi panggilan API dengan token akses OAuth2:

1. Dapatkan kunci yang diperlukan

  1. Di UI Edge, buka Aplikasi Developer yang Anda buat sebelumnya, seperti yang dijelaskan di Bagian 2: Membuat entity di Apigee Edge. Nama Aplikasinya adalah EdgeMicroTestApp.
  2. Di halaman Aplikasi Developer, tampilkan Kunci Konsumen dan Rahasia Konsumen, lalu salin keduanya. Nilai ini diperlukan untuk mendapatkan token akses pada langkah berikutnya.

2. Mendapatkan token akses

Ada dua cara untuk mendapatkan token akses. Kami akan menunjukkan kedua metode tersebut.

Menggunakan CLI untuk mendapatkan token akses

Metode pertama praktis, dan mengikuti pola yang telah kita gunakan selama tutorial. Metode kedua umumnya lebih berguna bagi developer aplikasi klien yang perlu meminta token. Endpoint token yang sebenarnya diterapkan di proxy edgemicro-auth yang di-deploy saat Anda mengonfigurasi Edge Microgateway.

  1. (Opsional) Lihat bantuan untuk perintah token get:
    edgemicro token get -h
    
  2. Buat token, dengan mengganti nilai Kunci Konsumen dan Rahasia Konsumen Anda dari aplikasi developer yang Anda buat di Apigee Edge dalam parameter -i dan -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
    • consumer_id adalah ID Konsumen di Aplikasi Developer yang Anda buat sebelumnya.
    • consumer_secret adalah Rahasia Konsumen di Aplikasi Developer yang Anda buat sebelumnya.

    Contoh

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
    

    Output (Contoh)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
    

(Opsional) Menggunakan API untuk mendapatkan token

Jika Anda terbiasa memanggil proxy Edge menggunakan curl atau klien HTTP lainnya, Anda akan tertarik untuk mengetahui bahwa Anda dapat memanggil endpoint token secara langsung, daripada menggunakan perintah edgemicro token. Berikut adalah contoh curl. Cukup ganti nama organisasi dan lingkungan di URL, lalu teruskan nilai Consumer Key:Consumer Secret yang dipisahkan titik dua di header Autentikasi Dasar:

curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"

Dengan keterangan:

  • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
  • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
  • client_id adalah ID Konsumen di Aplikasi Developer yang Anda buat sebelumnya.
  • client_secret adalah Rahasia Konsumen di Aplikasi Developer yang Anda buat sebelumnya.

Output (Sampel)

Perintah tersebut, baik Anda menggunakan perintah CLI edgemicro token maupun memanggil endpoint menggunakan curl, akan menampilkan token akses bertanda tangan yang dapat digunakan untuk melakukan panggilan klien. Sesuatu seperti ini:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Periksa konfigurasi di Edge Microgateway

  1. Buka file ~/.edgemicro/org-env-config.yaml. Lihat juga "Where is Edge Microgateway installed" di Menginstal Edge Microgateway.
  2. Pastikan properti plugin oauth ini ditetapkan ke false. Nilainya salah secara default, tetapi sebaiknya periksa kembali:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Selain itu, di file org-env-config.yaml, pastikan plugin oauth ditambahkan ke elemen plugins:sequence, seperti ini::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Jika Anda membuat perubahan pada file, muat ulang perubahan tersebut ke instance Edge Microgateway yang sedang berjalan. Perintah ini mengonfigurasi ulang Edge Microgateway dengan periode nonaktif nol:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
    • key adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.
    • secret adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.

    Contoh

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

4. Panggil API dengan aman

Dengan memiliki token akses, sekarang Anda dapat melakukan panggilan API dengan aman. Contoh:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API menampilkan header dan informasi lainnya dari server tiruan.

Mengamankan API dengan kunci API

Jika Anda ingin menggunakan kunci API untuk otorisasi, ikuti langkah-langkah berikut:

1. Mendapatkan kunci API

  1. Di UI Edge, buka Aplikasi Developer yang Anda buat sebelumnya, seperti yang dijelaskan di Bagian 2: Membuat entity di Apigee Edge. Nama Aplikasinya adalah EdgeMicroTestApp.
  2. Di halaman Aplikasi Developer, tampilkan Kunci Konsumen, lalu salin. Nilai ini adalah kunci API. Anda akan menggunakan kunci ini untuk melakukan panggilan API yang diautentikasi.

2. Periksa konfigurasi di Edge Microgateway

  1. Buka file ~/.edgemicro/org-env-config.yaml. Lihat juga "Where is Edge Microgateway installed" di Menginstal Edge Microgateway.
  2. Pastikan properti plugin oauth ini ditetapkan ke false. Nilainya salah secara default, tetapi sebaiknya periksa kembali:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Selain itu, di file org-env-config.yaml, pastikan plugin oauth ditambahkan ke elemen plugins:sequence, seperti ini::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Jika Anda membuat perubahan pada file, muat ulang perubahan tersebut ke instance Edge Microgateway yang sedang berjalan. Perintah ini mengonfigurasi ulang Edge Microgateway dengan periode nonaktif nol:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
    • key adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.
    • secret adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.

    Contoh

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

3. Panggil API secara aman menggunakan kunci API

Panggil API dengan header x-api-key sebagai berikut. Nilai Kunci Konsumen yang Anda salin dari Aplikasi Developer adalah kunci API. Secara default, Edge Microgateway mengharapkan Anda meneruskan kunci dalam header yang bernama x-api-key, seperti ini:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Dengan keterangan:

  • apikey adalah nilai Kunci Konsumen yang diambil dari EdgeMicroTestApp.

Contoh:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

Anda kini memiliki Edge Microgateway yang berfungsi penuh dan aman. Di bagian tutorial berikutnya, kita akan melihat plugin yang menambahkan fungsionalitas ke Edge Microgateway.

Bagian 5: Menambahkan plugin Spike Arrest

Di bagian ini, kita akan menambahkan fitur pembatasan kapasitas yang disebut penahanan lonjakan ke instance Edge Microgateway.

Apa itu plugin?

Plugin adalah modul Node.js yang menambahkan fungsi ke Edge Microgateway. Modul plugin mengikuti pola yang konsisten dan disimpan di lokasi yang dikenal oleh Edge Microgateway, sehingga microgateway dapat menemukan dan memuatnya secara otomatis. Anda dapat membaca plugin selengkapnya di artikel Menggunakan plugin.

Menambahkan plugin lonjakan penangkapan

Spike Arrest melindungi dari lonjakan lalu lintas. Aturan ini men-throttle jumlah permintaan yang diproses oleh instance Edge Microgateway.

Di Edge Microgateway, penahanan lonjakan diterapkan sebagai modul plugin. Untuk mengaktifkannya, Anda harus menambahkannya ke file konfigurasi Edge Microgateway.

  1. Buka file ~/.edgemicro/org-env-config.yaml. Lihat juga "Where is Edge Microgateway installed" di Menginstal Edge Microgateway.
  2. Tambahkan elemen berikut. Anda dapat menambahkannya di mana saja dalam file.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Tambahkan spikearrest ke elemen edgemicro:sequence, seperti yang ditunjukkan di bawah ini. Properti konfigurasi urutan memberi tahu Edge Microgateway urutan eksekusi modul plugin.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
    
  4. Simpan file konfigurasi.
  5. Muat ulang Edge Microgateway dengan perintah reload. Anda harus menjalankan perintah ini dari direktori tempat Anda memulai Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Dengan keterangan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan dalam organisasi Anda (seperti pengujian atau produksi).
    • key adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.
    • secret adalah kunci yang ditampilkan sebelumnya oleh perintah konfigurasi.

    Contoh

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. Coba panggil API beberapa kali secara berurutan. Setelah panggilan kedua, Edge Microgateway akan menampilkan error ini:
    {"message":"SpikeArrest engaged","status":503}
    

Alasannya adalah penangkapan lonjakan akan memperhalus jumlah panggilan yang dapat dilakukan selama satuan waktu yang ditentukan. Jadi, dalam kasus ini, Anda dapat melakukan 10 panggilan dalam satu menit, atau satu panggilan setiap 6 detik.

Untuk informasi selengkapnya, lihat "Bagaimana cara kerja penangkapan lonjakan?" di Menggunakan plugin.

Kredit ekstra: Menambahkan plugin kuota

Dengan mengikuti pola yang sama dengan yang digunakan untuk mengonfigurasi penangkapan lonjakan, Anda dapat menambahkan plugin lain, seperti plugin kuota. Seperti halnya lonjakan lonjakan, plugin kuota disertakan dengan setiap penginstalan Edge Microgateway. Kuota menentukan jumlah pesan permintaan yang diizinkan untuk dikirim oleh aplikasi ke API selama interval waktu yang ditentukan (menit atau jam).

Untuk mempelajari cara kerja kuota, lihat "Menggunakan plugin kuota" di Menggunakan plugin.

Bagian 6: Melihat analisis di Apigee Edge

Sekarang kita memiliki instance Edge Microgateway yang berfungsi penuh. Mari kita lihat apa yang terjadi. Secara default, modul plugin analisis ditambahkan ke Edge Micro. Modul ini mengirim data analisis secara otomatis dari Edge Micro ke Apigee edge, yang digunakan oleh sistem Edge Analytics. Mari kita lihat:

  1. Login ke organisasi Anda di Apigee Edge.
  2. Pilih Analytics > Proxy Performance.
  3. Di dasbor Proxy Performance, pilih edgemicro_hello proxy.
  4. Grafik ini menunjukkan informasi tentang pola traffic proxy, seperti total traffic, waktu respons rata-rata, waktu respons target rata-rata, dan lainnya.

Anda dapat membaca informasi selengkapnya tentang dasbor Edge Analytics di halaman beranda Dasbor Analytics dalam dokumentasi Edge. Untuk mempelajari plugin lebih lanjut, lihat Menggunakan plugin