Pola akses data multi-penyewa dan kebijakan IAM
Menggunakan Data Store di AWS
Dunieski Otano
AWS Solutions Architect
Kebocoran keamanan multi-penyewa
Aplikasi SaaS melayani 1.000 perusahaan
Bug di kode memungkinkan akses lintas penyewa
Karyawan Perusahaan A melihat data Perusahaan B
Hasil: Kehilangan pelanggan, gugatan, reputasi rusak
Memahami multi-penyewa
Apa itu multi-penyewa?
Banyak pelanggan berbagi infrastruktur
Manfaat
Hemat biaya, pemeliharaan lebih mudah
Tantangan
Menjamin isolasi data penuh
Pola kunci partisi per penyewa
Desain
tenantId sebagai kunci partisi
Sertakan tenantId di setiap item
Keunggulan
Hemat biaya, skala hingga ribuan
Persyaratan
Kontrol akses ketat, kebijakan IAM
Pola tabel terpisah per penyewa
Desain
Tabel khusus untuk tiap penyewa
Keunggulan
Isolasi lebih baik, mudah patuh regulasi
Kekurangan
Kompleksitas tinggi, batas jumlah tabel
Pola basis data terpisah per penyewa
Desain
Basis data khusus untuk tiap penyewa
Keunggulan
Isolasi penuh, konfigurasi kustom
Kekurangan
Biaya tertinggi, beban operasional
Kunci kondisi IAM untuk isolasi penyewa
dynamodb:LeadingKeys
Membatasi akses kunci partisi
Contoh kebijakan
"Allow if tenantId = tenant-123"
Penegakan
AWS menegakkan di level API
Menerapkan pertahanan berlapis
Lapisan 1: Aplikasi
Periksa tenantId di kode
Lapisan 2: Kebijakan IAM
Kunci kondisi menegakkan isolasi
Lapisan 3: Desain Basis Data
Pemisahan fisik lewat kunci partisi
Pengujian dan validasi
Uji akses lintas penyewa
Coba baca data penyewa lain
Harus gagal dengan AccessDeniedException
Pencatatan audit
CloudTrail mencatat semua upaya akses
Tinjauan rutin
Tinjau kebijakan IAM dan pola akses
Selamat!
AWS Data Stores
: DynamoDB, S3, ElastiCache, OpenSearch
Rancang & Optimalkan
: Desain tabel, optimasi penyimpanan
Amankan Data
: Enkripsi, manajemen rahasia, isolasi multi-penyewa
Ayo berlatih!
Menggunakan Data Store di AWS
Preparing Video For Download...