Kurumsal yapılar generative AI’a geçiş yaparken güvenlik tarafı genelde ikinci plana atılıyor. Azure OpenAI varsayılan olarak public endpoint üzerinden erişime açık geliyor. Yani API key’i olan herhangi bir uygulama, dünyanın herhangi bir yerinden bu servise istek atabiliyor. Kurumsal güvenlik standartları açısından bu kabul edilebilir bir durum değil.
Microsoft’un Azure Architecture Blog’unda yayınlanan bir yazı, bu soruna Private Endpoint ve Private DNS Zone kullanarak nasıl çözüm getirileceğini adım adım anlatıyor. Zero Trust prensipleriyle uyumlu, tüm trafiğin Azure backbone network içinde kalmasını sağlayan bir mimari tarif ediliyor.
Sorun Ne?
Azure OpenAI’ın default davranışı şöyle: servis public internet üzerinden erişilebilir durumda ve API erişimi olan herhangi bir uygulama bunu çağırabiliyor. Bu durum birkaç açıdan sıkıntı yaratıyor. Enterprise security policy’leri ihlal ediliyor, Zero Trust mimarisi prensipleriyle çelişiyor ve düzenleyici uyumluluk gereksinimlerini karşılamıyor.
Kurumsal ortamlar private connectivity, VNet üzerinden kontrollü erişim ve DNS tabanlı güvenli çözümleme istiyor. Bu yazıda anlatılan mimari tam olarak bu gereksinimleri karşılıyor.
Mimarinin Genel Yapısı
Mimari beş temel bileşen üzerine kurulu: Azure OpenAI Service, Azure Virtual Network (VNet), Private Endpoint, Private DNS Zone ve uygulamanın kendisi (VM, App Service ya da AKS fark etmiyor).
Akış şöyle çalışıyor: uygulama OpenAI endpoint’ine istek gönderiyor, DNS bu endpoint’i private IP’ye çözümlüyor, trafik VNet içinde yönlendiriliyor ve dışarıya hiçbir şekilde çıkmıyor. Private endpoint’ler VNet içinde private IP atayarak tüm iletişimin Azure backbone üzerinden güvenli şekilde gerçekleşmesini sağlıyor.
Uçtan Uca Güvenlik Akışı
Tam akış şöyle işliyor: kullanıcı Entra ID üzerinden MFA ile kimlik doğrulaması yapıyor. Trafik WAF’tan geçerek tehdit filtrelemesine tabi tutuluyor. Ardından private Azure VNet’e giriyor. API Management katmanında policy’ler uygulanıyor. AI servisleri private endpoint’ler üzerinden erişiliyor. Veriler private storage ve veritabanlarından güvenli şekilde çekiliyor. Tüm bu süreç boyunca monitoring araçları aktiviteyi sürekli izliyor.
Bu mimarinin sağladığı şey net: AI servislerinin ve verilerin public exposure’ı sıfır, erişim network trust yerine identity tabanlı, iletişim tamamen private ve izole, workload’lar güvenli ve ölçeklenebilir.
Private Endpoint Neden Bu Kadar Kritik?
Private Endpoint VNet’iniz içinde bir network interface oluşturuyor, buna bir private IP atıyor ve bu IP’yi Azure OpenAI servisine bağlıyor. Trafik tamamen içeride yönlendiriliyor. Public internet kullanılmıyor, iletişim tamamen izole.
DNS tarafı da aynı derecede önemli. OpenAI endpoint’i hala public FQDN kullanıyor ama bu FQDN’in private IP’ye çözümlenmesi gerekiyor. Doğru DNS konfigürasyonu yapılmazsa trafik public endpoint’e gidiyor ve tüm güvenlik mimarisi çöküyor. Public DNS CNAME Private Link domain’ine yönleniyor, Private DNS bu çözümlemeyi override ediyor ve FQDN Private Endpoint IP’sine çözümleniyor.
Adım Adım Konfigürasyon
VNet Oluşturma: Uygulama subnet’i ve Private Endpoint subnet’i olmak üzere iki subnet’li bir VNet oluşturuluyor. Private endpoint’ler için ayrı subnet kullanmak best practice olarak kabul ediliyor.
Azure OpenAI Resource Oluşturma: Azure Portal üzerinden Azure OpenAI resource’u oluşturuluyor. Region ve resource group seçimi yapılıyor. OpenAI resource’unun VNet ile aynı region’da olması zorunlu değil.
Public Erişimi Kapatma: Networking ayarlarından Public Network Access disabled yapılıyor. Bu adım servisin internet üzerinden erişilemez olmasını garantiliyor.
Private Endpoint Oluşturma: OpenAI resource’unun networking bölümünden Private Endpoint oluşturuluyor. VNet, subnet, resource type (Cognitive Services) ve sub-resource (account) belirleniyor. Bu işlem subnet içinde private IP ve network interface mapping oluşturuyor.
Private DNS Zone Konfigürasyonu: privatelink.openai.azure.com ve privatelink.cognitiveservices.azure.com DNS zone’ları oluşturuluyor. DNS zone VNet’e bağlanıyor ve A record ekleniyor. DNS, OpenAI endpoint’ini private IP’ye çözümleyerek trafiğin internal akmasını sağlıyor.
Bağlantı Doğrulama: VNet içindeki bir VM’den nslookup komutuyla endpoint çözümleniyor. Beklenen sonuç 10.x.x.x formatında bir private IP. API çağrısı yapılarak bağlantının çalıştığı doğrulanıyor.
Güvenlik Best Practice’leri
- Public erişimi tamamen devre dışı bırakın
- Tüm AI servisleri için Private Endpoint kullanın
- NSG ve Firewall ile segmentasyon uygulayın
- API key yerine Managed Identity tercih edin
- Azure Monitor ile tüm aktiviteyi izleyin
Gerçek Dünya Senaryosu
Bir bankacılık uygulaması düşünün: AKS üzerinde çalışıyor, OpenAI kullanıyor, Private Endpoint ve APIM ile korunuyor, DNS çözümlemesi tamamen internal. Sonuç olarak internet exposure sıfır, regülasyon uyumluluğu sağlanmış, veri işleme güvenli.
Azure OpenAI güçlü bir araç ama kurumsal ortamda güvenlik mimarisi olmadan kullanmak ciddi riskler barındırıyor. Private Endpoint, Private DNS Zone ve VNet entegrasyonu ile güvenli, ölçeklenebilir ve uyumlu bir AI çözümü inşa etmek mümkün. Özellikle finans, sağlık ve kamu sektörü gibi sıkı regülasyon gereksinimleri olan sektörlerde bu mimari artık bir tercih değil zorunluluk haline geliyor.
