Kurumsal LLM Sistemlerinde Kullanıcı Yetkilendirme ve Güvenlik Bileşenleri
08.06.2025 10:50
LLM tabanlı sistemlerin sadece bireysel değil, kurumsal ölçekte de yaygınlaşması, beraberinde kullanıcı yönetimi ve veri güvenliği gibi kritik ihtiyaçları getirmiştir. Bu yazıda, çok kullanıcılı bir LLM sisteminde güvenli erişim kontrolü, kullanıcı yetkilendirme ve veri izolasyonu gibi temel güvenlik bileşenlerini ele alıyoruz.
1. Kimlik Doğrulama (Authentication)
Kullanıcıların sisteme giriş yapması için OAuth2, JWT veya kurumsal SSO gibi yöntemler kullanılabilir.
from fastapi.security import OAuth2PasswordBearer
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
@app.get("/protected-data/")
async def read_data(token: str = Depends(oauth2_scheme)):
user = decode_token(token)
return {"user": user.username}
Alternatif olarak Django kullanılıyorsa django-allauth
veya django-rest-auth
önerilir.
2. Rol Bazlı Yetkilendirme (RBAC)
Kullanıcıların rolüne göre farklı erişim düzeyleri tanımlanmalıdır: Admin
, Editor
, Viewer
gibi.
def check_permissions(user, action):
if user.role == "Admin":
return True
elif user.role == "Editor" and action in ["read", "write"]:
return True
return False
3. Veri Güvenliği ve İzolasyonu
Kullanıcıların sadece kendi verilerine erişebilmesi için veri filtreleme uygulanmalıdır.
@app.get("/user/chats")
def get_user_chats(user: User = Depends(current_user)):
return db.query(ChatSession).filter(ChatSession.owner_id == user.id).all()
4. Erişim Loglama ve Denetim İzleri
Tüm erişim ve işlem hareketleri loglanmalı; gerektiğinde denetlenebilir olmalıdır.
import logging
logger = logging.getLogger("access")
def log_access(user, resource):
logger.info(f"{user.username} accessed {resource}")
5. Rate Limiting ve API Koruma
Yoğun kullanım senaryolarında kötüye kullanımı engellemek için rate limit uygulanmalıdır.
from slowapi import Limiter
limiter = Limiter(key_func=get_remote_address)
@app.get("/query")
@limiter.limit("5/minute")
async def limited_query():
return {"status": "OK"}
6. Güvenli Oturum Yönetimi
- JWT token’ları kısa ömürlü olmalı ve refresh token mekanizması ile desteklenmelidir.
- Kritik işlemlerde
2FA (İki Faktörlü Doğrulama)
önerilir.
Sonuç
Kurumsal düzeyde kullanılan LLM sistemlerinde sadece teknik doğruluk değil, kullanıcı güvenliği ve erişim kontrolü de birincil öncelik olmalıdır. Yetki sınırlaması, veri koruma ve izlenebilirlik, güvenilir bir yapay zekâ altyapısı kurmanın temel taşlarıdır.
🔗 Devamı Gelecek
Bir sonraki yazımızda, LLM sistemlerinde cache mekanizmaları ve performans artırıcı mimari yapılar üzerine odaklanacağız. Özellikle düşük gecikmeli yanıtlar için kullanılan cache stratejilerini karşılaştıracağız.