Elektrik 1 Elektrik 2 Elektrik 3 Elektrik 4 Elektrik 5 Elektrik 6

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.