Isolasi penyewa - Dasar-dasar Arsitektur SaaS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Isolasi penyewa

Semakin Anda memindahkan pelanggan ke model multi-penyewa, semakin mereka akan khawatir tentang potensi satu penyewa untuk mengakses sumber daya penyewa lain. Sistem SaaS mencakup mekanisme eksplisit yang memastikan bahwa sumber daya masing-masing penyewa — bahkan jika mereka berjalan pada infrastruktur bersama — terisolasi.

Inilah yang kita sebut sebagai isolasi penyewa. Ide di balik isolasi penyewa adalah bahwa arsitektur SaaS Anda memperkenalkan konstruksi yang mengontrol akses ke sumber daya secara ketat, dan memblokir upaya apa pun untuk mengakses sumber daya penyewa lain.

Perhatikan bahwa isolasi penyewa terpisah dari mekanisme keamanan umum. Sistem Anda akan mendukung otentikasi dan otorisasi; Namun, fakta bahwa pengguna penyewa diautentikasi tidak berarti bahwa sistem Anda telah mencapai isolasi. Isolasi diterapkan secara terpisah dari otentikasi dasar dan otorisasi yang mungkin menjadi bagian dari aplikasi Anda.

Untuk lebih memahami hal ini, bayangkan Anda telah menggunakan penyedia identitas untuk mengautentikasi akses ke sistem SaaS Anda. Token dari pengalaman otentikasi ini juga dapat mencakup informasi tentang peran pengguna yang dapat digunakan untuk mengontrol akses pengguna tersebut ke fungsionalitas aplikasi tertentu. Konstruksi ini memberikan keamanan, tetapi tidak isolasi. Bahkan, pengguna dapat diautentikasi dan diotorisasi, dan masih mengakses sumber daya penyewa lain. Tidak ada tentang otentikasi dan otorisasi tentu akan memblokir akses ini.

Isolasi penyewa berfokus secara eksklusif pada penggunaan konteks penyewa untuk membatasi akses ke sumber daya. Ini mengevaluasi konteks penyewa saat ini, dan menggunakan konteks itu untuk menentukan sumber daya mana yang dapat diakses oleh penyewa itu. Ini berlaku isolasi ini untuk semua pengguna dalam penyewa itu.

Ini menjadi lebih menantang saat kita melihat bagaimana isolasi penyewa diwujudkan di semua pola arsitektur SaaS yang berbeda. Dalam beberapa kasus, isolasi dapat dicapai dengan memiliki seluruh tumpukan sumber daya yang didedikasikan untuk penyewa di mana jaringan (atau lebih kasar) kebijakan mencegah akses lintas penyewa. Dalam skenario lain, Anda mungkin memiliki sumber daya yang dikumpulkan (item dalam tabel Amazon DynamoDB) yang memerlukan kebijakan yang lebih halus untuk mengontrol akses ke sumber daya.

Setiap upaya untuk mengakses sumber daya penyewa harus dilingkupi hanya untuk sumber daya yang dimiliki penyewa itu. Adalah tugas pengembang dan arsitek SaaS untuk menentukan kombinasi alat dan teknologi mana yang akan mendukung persyaratan isolasi aplikasi spesifik Anda.