Dokumen ini menjelaskan cara mesin Fleet mengamankan pertukaran informasi antara tiga lingkungan utama sistem Fleet Engine Anda: server backend, server Fleet Engine, serta aplikasi dan situs klien Anda.
Fleet Engine mengelola keamanan melalui dua cara mendasar, menggunakan prinsip hak istimewa terendah:
Kredensial Default Aplikasi (ADC): Untuk lingkungan dengan hak istimewa tinggi seperti komunikasi server ke server. Digunakan saat server backend Anda membuat kendaraan dan perjalanan serta mengelolanya di Fleet Engine. Untuk mengetahui detailnya, lihat Kredensial Default Aplikasi.
Token Web JSON (JWT): Untuk lingkungan dengan tingkat kepercayaan rendah seperti aplikasi klien yang berjalan di smartphone dan browser. Digunakan untuk menyelesaikan operasi dengan hak istimewa rendah, seperti memperbarui lokasi kendaraan di Fleet Engine.
JWT yang diperlukan oleh lingkungan dengan tingkat kepercayaan rendah dihasilkan dan dikeluarkan oleh server backend untuk mengamankan kunci rahasia akun layanan, dan menyertakan klaim tambahan khusus untuk Fleet Engine. Untuk mengetahui detailnya, lihat Token Web JSON.
Misalnya, jika Anda memiliki aplikasi pengemudi, pengemudi akan mengakses data dari Fleet Engine melalui aplikasi. Aplikasi diautentikasi menggunakan JWT yang diperoleh dari server backend Anda. Klaim JWT yang disertakan, beserta akun layanan menentukan bagian sistem mana yang dapat diakses oleh aplikasi {i>driver<i} dan apa yang dapat dilakukannya. Pendekatan ini membatasi akses hanya ke data yang diperlukan untuk menyelesaikan tugas mengemudi mereka.
Fleet Engine menggunakan pendekatan keamanan ini untuk memberikan hal berikut:
Autentikasi memverifikasi identitas entitas yang membuat permintaan. Fleet Engine menggunakan ADC untuk lingkungan dengan tingkat kepercayaan tinggi dan JWT untuk lingkungan dengan tingkat kepercayaan rendah lingkungan fleksibel App Engine.
Otorisasi menentukan resource mana yang dapat diakses oleh entitas terautentikasi tempat mesin terhubung. Fleet Engine menggunakan akun layanan dengan peran IAM Google Cloud, ditambah JWT klaim yang memastikan entitas yang diautentikasi memiliki izin untuk melihat atau mengubah data yang mereka minta.
Penyiapan keamanan server dan klien
Untuk mengaktifkan keamanan dengan Fleet Engine, siapkan akun yang diperlukan dan keamanan di server backend Anda dan di aplikasi klien Anda dan situs web.
Diagram berikut menampilkan ringkasan langkah-langkah untuk menyiapkan keamanan di server backend, dan aplikasi klien.
Untuk detail selengkapnya, lihat bagian berikut.
Penyiapan keamanan server backend
Administrator armada harus mengikuti langkah-langkah berikut:
Membuat dan mengonfigurasi akun layanan:
Di Konsol Google Cloud, buat akun layanan.
Tetapkan peran IAM tertentu ke akun layanan.
Konfigurasi server backend Anda dengan akun layanan yang dibuat. Sebagai detailnya, lihat Peran akun layanan.
Mengonfigurasi komunikasi aman dengan Fleet Engine (ADC): Konfigurasikan backend Anda untuk berkomunikasi dengan instance Fleet Engine menggunakan Kredensial Default Aplikasi dengan akun layanan *Admin yang sesuai. Untuk mengetahui detail, lihat Kredensial Default Aplikasi.
Mengonfigurasi komunikasi aman dengan aplikasi klien (JWT): Buat generator Token Web JSON untuk membuat JWT dengan klaim yang sesuai untuk aplikasi klien dan memantau situs. Untuk mengetahui detailnya, lihat Menerbitkan Token Web JSON.
Penyiapan keamanan aplikasi
Developer aplikasi harus menyertakan cara untuk mengambil Token Web JSON yang dihasilkan oleh server backend di aplikasi atau situs klien Anda, dan menggunakannya untuk berkomunikasi dengan Fleet Engine. Untuk mengetahui detailnya, lihat petunjuk penyiapan dalam dokumentasi Pengalaman Pengemudi atau Pengalaman Konsumen untuk aplikasi yang Anda butuhkan.
Alur keamanan aplikasi server dan klien
Diagram urutan berikut menunjukkan server dan aplikasi klien alur otentikasi dan otorisasi dengan Fleet Engine menggunakan ADC dengan server backend dan JWT dengan aplikasi dan situs web klien.
Server backend Anda membuat kendaraan dan perjalanan atau tugas di Fleet Engine.
Server backend Anda untuk perjalanan atau tugas menuju kendaraan: Aplikasi driver, saat aktif, akan mengambil tugas.
Server backend Anda: Menandatangani dan menerbitkan JWT untuk akun layanan masing-masing dengan peran IAM yang sesuai untuk tugas atau perjalanan yang ditetapkan.
Aplikasi klien: Aplikasi klien menggunakan JWT yang diterima untuk mengirim kendaraan pembaruan lokasi ke Fleet Engine.
Langkah berikutnya
- Buat project Fleet Engine.
- Pelajari cara Menerbitkan Token Web JSON dari server Anda.
- Pelajari Peran akun layanan lebih lanjut.
- Pelajari lebih lanjut JWT.