پرش به محتوا
Ücretsiz başlayın

Çok kiracılı MCP sunucusunda veri izolasyonu: 'hangi veritabanı' sorusunun ötesinde bir şey

Doğru veritabanı yönlendirmesi yalnızca birinci katmandır — gerçek sızıntı başka bir yerden başlar

Çok kiracılı MCP sunucusunda veri izolasyonu: 'hangi veritabanı' sorusunun ötesinde bir şey

پاسخ کوتاه: در سرور MCP چندمستأجره، انزوای داده یعنی هر کلید فقط به دیتابیس همان مشتری وصل شود — نه «دیتابیس پیش‌فرض با فیلتر». فرقش در سرقت داده است: اگر کلید مشتری A بتواند مدل را به دیتابیس B هدایت کند، مسیر نشت داده باز است. معماری انزوا در ابرک در همین مقاله.

سه لایه انزوای داده در سرور MCP ابرک

  • لایه ۱ — مسیریابی دیتابیس: کلید به شناسه مستأجر قفل است؛ سوییچ دیتابیس از درون کلاینت ناممکن است
  • لایه ۲ — مدل دسترسی: هر کلید فقط مدل‌های تعریف‌شده را می‌بیند (جدول‌های حساس اصلاً در فهرست نیستند)
  • لایه ۳ — لاگ: هر فراخوانی با کلید، کاربر و نتیجه ثبت می‌شود

سند معماری: Abrak MCP sunucusu.

Bir MCP sunucusu çok veritabanlı kurulumda doğru çalıştığında, istek doğru veritabanına ulaşmış demektir — o veritabanının verisinin diğerlerinden izole kaldığı anlamına gelmez. چرا اکثر سرورهای MCP روی ERP چندمستأجره خراب می‌شوند «Hiçbir veritabanı seçilmedi» sorununu açıkladı; burada o sorun çözüldükten sonra da açık kalan üç yalıtım katmanı daha görüyoruz.

Doğru yönlendirme neden izolasyonu garanti etmiyor?

Diyelim ki istek A kiracısının veritabanına doğru ulaştı. Sonraki soru şudur: Bu isteği gönderen MCP anahtarı hangi kullanıcıya bağlı ve o kullanıcının aynı veritabanındaki erişim yetkisi nedir? Anahtar bir sistem kullanıcısına (superuser) bağlıysa Odoo'nun kayıt kuralı (record rule) da devre dışı kalır — veritabanı yönlendirmesinin bu katmanla hiçbir ilgisi yoktur.

OWASP bu riski nasıl adlandırıyor?

Büyük dil modeli uygulamaları için OWASP listesi, iki ilgili riski ayrı ayrı adlandırır: Excessive Agency (yapay zeka aracısının gerçek ihtiyacından fazla izne sahip olması) ve Sensitive Information Disclosure (o konuşmada erişilmesi planlanmayan verilerin sızması). Çok kiracılı bir MCP sunucusunda bu ikisi tam olarak veritabanı yönlendirmesinin bittiği yerde buluşur.

Kapatılması gereken diğer üç katman

  • Anahtar Kimliği = Gerçek Kullanıcı Kimliği. Bir MCP anahtarını sistem kullanıcısına bağlamak yalnızca tavsiye edilmez olmamalı; kasıtlı olarak imkânsız kılınmalıdır. Mümkün bırakılırsa er ya da geç biri bunu yapar.
  • Modeller üzerinde «açıkça izin verilenler dışında her şey yasaktır» politikası, Odoo ACL'den bağımsızdır. Bir kullanıcı Odoo'da hassas bir modele (günlük işleri için) erişebilir; ancak aynı model, açık bir karar alınmadan MCP üzerinden yapay zeka asistanının erişimine de açık olmamalıdır — birbirinden bağımsız iki karar katmanı.
  • Yanlış Yol Doğru Adresi Bildirmelidir, Sessizlik veya Genel Hata Değil. İstek yanlış düğüme ulaşırsa yanıt «Çalışma alanınız burada değil, oraya gidin» demeliyir — kullanıcıyı tahminle yeniden denemeye zorlayan sessiz bir 404 değil.

Bunlar Odoo'da nasıl uygulanır?

Her üç katmanda da Abrak MCP sunucusu Veritabanı yönlendirmesinden bağımsız olarak uygulanmıştır: anahtar her zaman normal bir kullanıcıya bağlanır, izin verilen model listesi anahtarın kendisinde tanımlanır (Odoo yetkisinden çıkarım yapılmaz) ve yönlendirme reddi dahil her reddetme, explain_denial ile tam nedeni ve katmanı döndürür.

دکتر محمد مصطفی‌زاده
دربارهٔ نویسنده دکتر محمد مصطفی‌زاده — دکترای صنایع غذایی، ۲۱ سال تجربهٔ اجرایی در راه‌اندازی رستوران ایرانی و فرنگی، کاست کنترل و کترینگ صنعتی. مشاورهٔ راه‌اندازی رستوران ←

Neden çok kiracılı bulut ERP üzerindeki MCP sunucularının çoğu bozuluyor?

ابرک را کامل و رایگان به‌کار بگیرید

Ücretsiz başlayın