Keamanan kilometer terakhir

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

Keamanan last-mile melindungi layanan backend yang di-proxy-kan oleh Layanan API. Tujuan utama keamanan last-mile adalah untuk mencegah apa yang disebut serangan "end-run", yaitu saat developer aplikasi menemukan URL untuk layanan backend dan mengabaikan semua proxy API untuk langsung mengenai URL backend.

Berikut adalah opsi utama untuk menyiapkan keamanan kilometer terakhir:

  • TLS/SSL Klien
  • Autentikasi keluar
  • Modul tls Node.js

TLS/SSL Klien

Mekanisme utama untuk mengamankan kilometer terakhir adalah TLS/SSL klien, yang juga dikenal sebagai 'autentikasi bersama'.

Lihat Mengonfigurasi TLS dari Edge ke backend (Cloud dan Private Cloud).

Autentikasi keluar

Keamanan last-mile juga dapat diberlakukan dengan mewajibkan proxy API untuk memberikan kredensial ke layanan backend.

Misalnya, Anda mungkin ingin agar proxy API menampilkan kunci API untuk layanan backend Anda. Anda juga dapat meminta proxy API untuk mendapatkan dan memberikan token akses kredensial klien OAuth.

Kunci API

Kunci API dapat diterapkan ke permintaan keluar dari proxy API ke layanan backend. Hal ini mengasumsikan bahwa layanan backend adalah API yang mampu menerbitkan dan memvalidasi kunci API.

Jika Anda menyiapkan proxy API untuk menampilkan kunci API pada permintaan keluar, Anda harus menyimpan kunci API di tempat yang dapat diambil oleh proxy API saat runtime. Satu lokasi yang tersedia untuk menyimpan kunci API adalah peta kunci/nilai. Lihat kebijakan Key Value Map Operations.

Anda dapat menggunakan jenis kebijakan Tetapkan Pesan untuk menambahkan kunci API sebagai header HTTP, parameter kueri, atau elemen payload ke permintaan keluar. Lihat Kebijakan Tetapkan Pesan.

Kredensial klien OAuth

Kredensial klien OAuth dapat digunakan untuk menambahkan lapisan kemampuan pembatalan ke kunci API. Jika layanan backend Anda mendukung kredensial klien OAuth, Anda dapat mengonfigurasi proxy API untuk memberikan token akses kredensial klien untuk setiap permintaan.

Proxy API harus dikonfigurasi untuk melakukan pemanggilan guna mendapatkan token akses dari endpoint token Anda. Proxy API juga diperlukan untuk menyimpan token akses ke dalam cache, agar tidak mendapatkan token akses baru untuk setiap panggilan.

Sejumlah pendekatan dapat digunakan untuk menerapkan kredensial klien keluar.

Anda dapat mengubah contoh ini untuk memanggil endpoint token guna mendapatkan token akses. Contoh ini menggunakan JavaScript untuk melampirkan token ke permintaan keluar sebagai header Otorisasi HTTP. Anda juga dapat menggunakan Tetapkan kebijakan Pesan untuk tujuan ini.

SAML

Jenis kebijakan GenerateSAMLAssertion dapat digunakan untuk melampirkan pernyataan SAML ke pesan permintaan XML keluar, dari proxy API ke layanan backend. Hal ini memungkinkan layanan backend untuk melakukan autentikasi dan otorisasi pada permintaan yang diterima dari proxy API.

Lihat kebijakan Pernyataan SAML.

Node.js

Jika target proxy API Anda adalah aplikasi Node.js, Anda dapat menggunakan modul tls Node.js untuk membuat koneksi yang aman ke layanan backend. Anda membuat permintaan keluar dengan modul tls dengan cara yang sama seperti biasa di Node.js. Pada dasarnya, Anda perlu menambahkan kunci dan sertifikat sisi klien (file .pem) ke direktori resource/node dan memuatnya di dalam skrip Anda. Untuk informasi tentang penggunaan modul tls dan metodenya, lihat dokumentasi modul tls Node.js. Untuk informasi selengkapnya, baca Memahami dukungan Edge untuk modul Node.js.