Ortamlar arasında veri yalıtımı

Her KeenAuth ortamı (projelerinizin her birinde development, staging, production) ayrı bir kiracıdır. Bir ortamın kullanıcıları, kuruluşları, uygulamaları, oturumları, anahtarları, günlükleri ve olayları başka bir ortamda hiçbir zaman görünmez; bu, kendi hesabınızdaki başka bir ortam için de geçerlidir. Bu sayfa bu sınırın nasıl uygulandığını açıklar.

Birbirinden bağımsız iki savunma hattı

Ortamlar bir veritabanı şemasını paylaşır ve bir ortama ait her satır, o ortamın tanımlayıcısını taşır. Yalıtım iki kez uygulanır ve bir verinin sınırı geçebilmesi için iki kontrolün de aynı anda başarısız olması gerekir:

  1. Uygulamada türlendirilmiş ortam kapsamı. Her istek, herhangi bir veri okunmadan önce ana bilgisayar adından veya kimlik bilgisinden tam olarak bir ortama çözümlenir. Ortam verisini okuyan veya yazan kod, bu kapsam olmadan bir veritabanı işlemi başlatamaz; kapsamsız bir çağrı, sorgu çalışmadan reddedilir.
  2. PostgreSQL satır düzeyi güvenlik. Ortam verisi tutan her tablonun satır düzeyi güvenliği etkinleştirilmiş ve zorunlu kılınmıştır; bu nedenle politika tablo sahibi için de uygulanır. Her işlem geçerli ortamı ayarlar ve bir satır yalnızca ortamı eşleştiğinde görünür olur. Ortam ayarlamamış bir işlem hiçbir satır görmez. Hiçbir uygulama veya bakım rolünün satır düzeyi güvenliğini atlatmasına izin verilmez.

Ortam kapsamlı her tablo, birincil anahtarını ve dizinlerini ortam tanımlayıcısıyla başlatır; böylece yalıtım koşulu sorgulara ayrı bir arama eklemez.

Belirteç veya anahtara göre arama

Bazı istekler yalnızca bir gizli değerle gelir; örneğin bir yetkilendirme kodu, bir yenileme belirteci veya bir API anahtarı. KeenAuth bu tür değerleri yalnızca özet üzerinden yapılan bir aramayla bulur, ardından saklanan kaydın ortamını isteğin ortamıyla karşılaştırır. İkisi farklıysa değer geçersiz sayılır.

Sınırı geçtiğinizde ne görürsünüz

Deneme Yanıt
Başka bir ortama ait bir kaynağı okuma 404 Not Found; yanıt, kaynağın var olduğunu açığa çıkarmaz
Başka bir ortam tarafından verilmiş bir erişim belirtecini kullanma 401 Unauthorized; her ortamın kendi veren kuruluşu ve kendi imzalama anahtarları (JWKS) vardır
Başka bir ortamda kayıtlı bir istemciyle kimlik doğrulama invalid_client

Veritabanının ötesi

Aynı sınır, ortam verisinin bulunduğu diğer tüm yerlerde de geçerlidir:

Yapılandırmayı bir ortamdan diğerine taşıma (yapılandırma aktarımı) yalnızca ayarları kopyalar. Gizli bilgiler ile son kullanıcı veya kuruluş verileri hiçbir zaman bir aktarım paketinin parçası değildir.

Yalıtım nasıl test edilir

Kiracılar arası yalıtım test paketi, KeenAuth'un sürekli entegrasyonunda çalışır ve başarısız olduğunda bir değişikliği engeller. Paket şunları kontrol eder:

Bir şema kontrolü ayrıca ortam tanımlayıcısı sütunu olmayan yeni bir ortam verisi tablosunu da reddeder.

İlgili