Bilgilendirme: Şu an test ve iyileştirme çalışmaları yapılmaktadır. Bazı alanlarda geçici aksaklıklar yaşanabilir.

BAYAKA
— Ana sayfa
← Tüm yazılar
Siber Güvenlik, Zero-Trust & RBAC3 dk okuma·

Kurumsal SaaS Platformlarında Sıfır-Güven (Zero-Trust) RBAC ve Çok Kiracılı Mimari

Next.js 14 ve PostgreSQL üzerinde kiracı veri izolasyonu, sunucu taraflı rol denetimi ve değiştirilemez denetim izi (Audit Log) nasıl kurulur?

BAY

Hakan Bayat

BAYAKA kurucu ortağı

SECURITY COREBAY · YA · KA
ZERO-TRUST · RBAC · OWASP
Paylaş𝕏
İçindekiler

Arayüzde Buton Gizlemek Neden Güvenlik Değildir?

Kurumsal B2B yazılımlarda yalnızca ön yüzde (UI) menü gizlemek gerçek bir güvenlik sağlamaz. Her bir Server Action, API uç noktası ve veritabanı sorgusu; oturum açan kullanıcının rolünü ve müşteri (tenant) sınırını sunucu tarafında bağımsız olarak doğrulamalıdır.

Mimari İlke: İstemciden gelen müşteri kimliğine (customerId) veya rol bilgisine asla güvenilmez; yetki her zaman sunucu oturumundan (HTTP-Only Session) çözülür.

BAYAKA Yazılım'da Uyguladığımız 3 Katmanlı İzolasyon Modeli

  1. 1Oturum ve Origin Doğrulaması: HTTP-only çerezler ve Origin / Host başlık doğrulaması ile CSRF saldırıları daha ilk katmanda engellenir.
  2. 2Merkezi Yetki Matrisi (`can(role, permission)`): SUPER_ADMIN, ADMIN, PROJECT_MANAGER, DEVELOPER ve CUSTOMER rolleri birbirinden kesin sınırlarla ayrılır.
  3. 3Veritabanı Sorgu İzolasyonu: Müşteri portalındaki her Prisma sorgusu doğrudan kullanıcının customerId kimliğiyle filtrelenir; böylece başka bir müşterinin projesine veya dosyasına erişim mimari düzeyde imkânsız hale gelir.
typescript
BAYAKA CODE
export async function requirePortalProject(projectId: string) {
  const user = await requireSessionUser();
  if (!user.customerId) throw new HttpError(403, "forbidden");
  return db.project.findFirstOrThrow({
    where: { id: projectId, customerId: user.customerId },
  });
}

Değiştirilemez Denetim İzi (Audit Log)

Fiyat teklifi oluşturmadan kullanıcı yetkilendirmeye kadar tüm kritik yönetim aksiyonları kimlik, zaman damgası ve hedef varlık bilgisiyle AuditLog tablosuna işlenir.

BAY

Yazan

Hakan Bayat

BAYAKA Yazılım kurucu ortağı.

Ekibi tanıyın →