Selama bertahun-tahun, aplikasi web mengandalkan keamanan perimeter / melindungi batas luar dengan firewall sementara jaringan internal relatif terbuka. Pendekatan ini tidak lagi cukup.
Zero trust mengubah asumsi dasar: tidak ada entitas yang dipercaya secara otomatis, baik di dalam maupun di luar jaringan. Setiap request harus diautentikasi, diotorisasi, dan divalidasi di setiap lapisan / dari client hingga database.
Prinsip Dasar Zero Trust
- Verify explicitly / selalu autentikasi dan otorisasi berdasarkan semua data poin yang tersedia
- Use least privilege access / beri akses minimal yang diperlukan, tidak lebih
- Assume breach / desain sistem seolah-olah sudah ditembus
Implementasi di Database
Salah satu implementasi paling praktis adalah Row-Level Security (RLS) di PostgreSQL:
ALTER TABLE student_records ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation_policy ON student_records
FOR ALL
USING (tenant_id = current_setting('app.current_tenant_id'));Dengan RLS, bahkan jika query berhasil melewati lapisan aplikasi, database tetap akan memblokir akses ke data yang bukan milik tenant tersebut.
Session Management di Edge
Kombinasikan dengan session token rotation di edge (Vercel Edge Functions atau Cloudflare Workers):
// Contoh: rotasi session token setiap request sensitif
export async function rotateSession(sessionId: string) {
const newToken = crypto.randomUUID();
await redis.set(`session:${newToken}`, sessionId, { ex: 3600 });
await redis.del(`session:${oldToken}`);
return newToken;
}Kesimpulan
Zero trust bukan sekadar buzzword / ini adalah pendekatan arsitektural yang menyelamatkan Anda dari kelas kerentanan yang paling umum. Mulai dari database RLS, edge authentication, hingga audit logging, setiap lapisan harus saling melengkapi.
