İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Yapay Zeka
  • Least Privilege Ajanlar: Güvenliği Baştan Kurmanın Yeni Yolu
Bulut Altyapı Güvenlik & Kimlik Yapay Zeka AI ajan güvenliği, azd template, kısa ömürlü token, kurumsal güvenlik, least privilege, prompt injection, yetkilendirme Aşkın KILIÇ 11/05/2026 2 Yorumlar

Least Privilege Ajanlar: Güvenliği Baştan Kurmanın Yeni Yolu

Least Privilege Ajanlar: Güvenliği Baştan Kurmanın Yeni Yolu
📑 İçindekiler
  1. Neden bu kadar dert ediyoruz?
  2. Kimlik var diye her şey çözülmüyor
  3. Template’in verdiği yapı neden anlamlı?
  4. Küçük ekip için başka büyük kurum için başka
  5. OAuth token zinciri pratikte ne kazandırıyor?
  6. Bana göre iyi tarafı ne?
  7. Maliyet,operasyon ve Türkiye gerçeği)
  8. Nereden başlamalı?

⏱️ 7 dk okuma📅 11 Mayıs 2026🔄 Güncelleme: 15 Temmuz 2026

AI ajanlarıyla ilk demo’yu ayağa kaldırmak kolay. Zor taraf, önü gerçek dünyaya çıkarınca başlıyor. Çünkü işin içine müşteri verisi girince, “çalışıyor” demek yetmiyor; “kime neyi gösterecek?” sorusu tam ortaya oturuyor.

Ben bu meseleyi yıllardır farklı şekillerde gördüm. 2018’de bir finans müşterisinde, dışarıdan basit duran bir raporlama akışı yanlış rol eşlemesi yüzünden başka departmanın verisini göstermeye kalkmıştı. O gün şunu net anladım: güvenlik sonradan eklenen bir katman değil, tasarımın göbeği olmalı. Ajanlarda bu ihtiyaç daha da sertleşiyor. Ajan bazen kullanıcıdan hızlı davranıyor, bazen de fazla yaratıcı oluyor… ve işte o an hata pahalıya patlıyor.

Microsoft ile Curity’nın ortaya koyduğu yeni azd template, tam da bu noktada dikkatimi çekti. Kağıt üstünde sadece bir şablon gibi dürüyor ama aslında mesajı açık: ajanlara sınırsız erişim vermeyin, kısa ömürlü. Dar kapsamlı token’larla konuşturun. Açık konuşayım, bu yaklaşım fena değil; hatta kurumsal tarafta baya iş görüyor.

Çok konuştum, örnekle göstereyim.

Neden bu kadar dert ediyoruz?

Bi saniye — Bir ajan demo’su yaparken çoğu ekip önce modeli seçiyor, sonra tool çağrılarını bağlıyor, en son da auth kısmını “bir şekilde hallederiz” diye bırakıyor. İşte sorun burada başlıyor. Kimlik doğrulama tamam da yetkilendirme nerede? Kullanıcının kim olduğunu bilmek ayrı şey, hangi satırı görmesi gerektiğini bilmek ayrı şey.

Geçen sene Mart ayında İstanbul’daki bir perakende müşterisinde buna benzer bir durum yaşadık. Ajan stok sorusuna doğru cevap veriyordu ama bazı ürün gruplarında bölgesel veri sınırlarını hiç umursamıyordu; çünkü arka taraftaki API sadece giriş yapılmış mı diye bakıyordu. O gün aldığımız ders şu öldü: AI tarafı ne kadar zeki olursa olsun, veri sınırını sistem düzeyinde zorlamazsanız mevzu karışıyor.

Hmm, bunu nasıl anlatsamdı…

Ajanların farkı şu: klasik uygulamalar tahmin edilebilir istekler gönderir. Ajan işe niyet okur gibi davranır ama bazen yanlış okur. Prompt injection dediğimiz olay da cabası… Kullanıcı kötü niyetli olmasa bile model yön değiştirip istemediğiniz API çağrısını tetikleyebilir. Bu yüzden “model doğru karar verir” varsayımı üzerine güvenlik kurmak bana göre biraz hayal kırıklığı yaratır.

Kimlik var diye her şey çözülmüyor

Entra ID ile giriş yaptırmak güzel başlangıçtır ama tek başına yetmez. Asıl mesele erişim hakkının nerede kontrol edildiği. Eğer karar tamamen ajanın omzundaysa — ki bence olmamalı — orada güvenlik zaten kırılgan hâle gelir.

Curity’nın burada sunduğu bakış açısı hoş: token içinde yalnızca gerekli bilgi olsun ve API kendi kararını verebilsin. Yanı kapıya gelen kişinin adı belli olsun ama hangi odaya gireceğine bina yönetimi karar versin. Basit anlatıyorum ama mantık tam olarak bu.

Template’in verdiği yapı neden anlamlı?

Doğrusu, Bu şablon Azure üzerinde uçtan uca çalışan bir örnek kuruyor: Foundry tarafında C# tabanlı backend ajanı, MCP sunucusu üzerinden örnek portfolio API’si, Curity Identity Server ile authorization server katmanı. Bakın, entra ID ile kullanıcı kimliği doğrulaması… Peki bunu neden söylüyorum? Bir de gateway’ler var; token exchange ve audit logging işini sessizce arkada yapıyorlar.

İlgili içerik: Deutsche Telekom OpenAI ile Telekomu Baştan Kuruyor

Bence en değerli tarafı şu: herkesin gözünü boyayan “ajan demo” hissinden çıkıp gerçek mimarı düşünmeye zorluyor olmasıdır. Çünkü üretimde mesele sadece LLM değil; ağ sınırı var, loglama var, anahtar yönetimi var, veri ayrımı var… Hatta çoğu zaman asıl karmaşa modelde değil çevresindeki altyapıda çıkıyor.

💡 Bilgi: Bu şablonun kıymeti yalnızca çalışması değil; ajan güvenliğini OAuth 2.0 token zinciriyle somutlaştırmasıdır.

Ajanlara güvenmeyin demiyorum; onlara körü körüne yetki vermeyin diyorum.

Küçük ekip için başka büyük kurum için başka

Bakın, Küçük bir startup iseniz her şeyi aynı anda kurmaya çalışmayın derim. Önce basit RBAC + kısa ömürlü access token + merkezî loglama üçlüsü yeterli olur çoğu senaryoda. Sonra ihtiyaç büyürse Curity gibi daha gelişmiş yetkilendirme katmanlarına geçersiniz.

Büyük enterprise yapısındaysanız iş değişiyor tabi… Veri kaynağı sayısı artınca tenant ayrımı, audit trail ve policy enforcement kritik hâle geliyor. En çok da bankacılıkta veya sigortada agentic workflow’u doğrudan API’ye bağlamak yerine gateway üzerinden geçirmek çok daha sağlıklı dürüyor.

Kriter Küçük Ekip Büyük Kurum
Yetkilendirme modeli Sade RBAC + scope Cephe cephe policy + claim dönüşümü
Token süresi Kısa ama yönetilebilir Daha sık yenileme + exchange zinciri
Loglama Basit izleme yeterli olabilir Tam audit ve korelasyon şarttır
Maliyet yaklaşımı MVP odaklı düşük operasyon yükü Daha yüksek ama denetlenebilir yapı gerekir)

OAuth token zinciri pratikte ne kazandırıyor?

Küçük bir detay: Açık konuşayım, OAuth’un gücü burada teoriden çok pratikte ortaya çıkıyor. Ajan permanent erişim almıyor; bunun yerine kısa süreli access token alıp işi bitiriyor. E peki, sonuç ne öldü? Böylece ele geçirilse bile zarar penceresi dar kalıyor.

2021’de Ankara’daki bir telekom projesinde benzer mantığı servis-servis iletişiminde kullanmıştık. O zaman problem agent değildi tabi, ama aynı prensip vardı:servisin elinde sürekli anahtar gezmesin.Kayıt defterine benzeyen uzun ömürlü secret’lar yerine görev bazlı erişim kullandığınızda kriz ihtimali baya düşüyor.

Peki neden iki kere token exchange? Çünkü aradaki hop’ları ayırarak hem kullanıcı bağlamını koruyorsunuz hem de iç sistemlerin dışarı taşmasını engelliyorsunuz. İlk bakışta biraz fazla prosedür gibi dürüyor,haklısınız;ama enterprise ortamda prosedür bazen can kurtarıyor.

Bana göre iyi tarafı ne?

Zincir sayesinde API şunu anlayabiliyor:bu istek gerçekten hangi kullanıcı adına geldi,hangi kapsamla geldi,hangi kaynak için izin aldı? Mesela portfolio örneğinde user A’nın hesabına ait rapor üretirken user B’nın verisine dokunulmaması gerekiyor. Bunun yolu modeli eğitmekten çok doğru claim set’i tasarlamak.

Maliyet,operasyon ve Türkiye gerçeği)

Bunu Türkiye’deki şirketler açısından değerlendirelim: Şimdi dürüst olayım, pek çok ekip hâlâ cloud maliyetini dolar kuru üzerinden görünce frene basıyor. Haklılar da.Ama security’yi sonradan yamamak genelde daha pahalıya geliyor; özellikle denetim gerektiren sektörlerde.

Bakın, Eğer bütçe kısıtlıysa ilk aşamada Curity benzeri ağır bir kuruluma atlamak zorunda değilsiniz.Azure API Management ya da uygun scope tasarımıyla başlayıp küçük çapta least privilege prensibini oturtabilirsiniz. Fakat müşteri sayısı arttığında veya veri alanları keskinleştiğinde merkezî authorization server’a geçmek kaçınılmaz hâle gelir.

Eh, Kendi deneyimimde en büyük hata hep aynı öldü:ekipler önce özellik peşine düşüyor,güvenliği sonra düşünüyor. AZ-500’e hazırlanırken not ettiğim temel cümlelerden biri şuydu:“Yetki tasarımı yoksa otomasyon sadece hızlı risk üretir.” Bugün hâlâ bunun altına imza atarım (şaşırtıcı ama gerçek)

{
"iss": "curity",
"sub": "user123",
"aud": "portfolio-api",
"scope": "portfolio.read",
"act": {
"client_id": "agent-backend"
},
"exp": "short-lived"
}
  • User identity ile resource permission’ı birbirine karıştırmayın.
  • Ajanın aldığı izinleri minimumda tutun.
  • Audit logging’i sonradan eklemeye çalışmayın; baştan planlayın.
  • Pilot aşamada basit başlayın ama production sınırlarını erken çizin.
  • Eğer prompt injection riski varsa policy’i modele emanet etmeyin.

Nereden başlamalı?

Lafı gevelemeden söyleyeyim: ilk adımınız mimarı çizim olsun, kod değil. Hangi kullanıcı hangi veriyi görecek, hangi tool’u çağıracak, hangi gateway’den geçecek — bunları kağıtta netleştirin. Sonra token flow’u çizin; kimden kime, ne kadar süreyle gidiyor diye bakınca işler hızlı toparlanıyor.

İkinci adım olarak test senaryolarınızı genişletin: Sadece mutlu yol yazmayın. Prompt injection deneyin,yanlış customer id deneyin,expired token deneyin,scope dışı resource isteyin… Geçen ay İzmir’deki bir SaaS firmasına bunu önermiştim; ilk hafta iki tane ciddi açık yakaladılar. Bekledikleri kadar temiz çıkmadı yanı, ama iyi ki erken çıktı.

Eğer Foundry veya benzeri agent framework kullanıyorsanız MVP sonrası şu soruyu muhtemelen sorun:“Bu agent yanlış yönlendirilirse en kötü ne olur?” Cevap sizi rahatsız ediyorsa mimariyi yeniden düşünmeniz gerekir. Ben genelde bunu müşteriye şöyle anlatıyorum:ajan sizin stajyeriniz gibi olsun, kasanın anahtarı onda olmasın: Basit ama etkili.

Foundry Toolboxes: Ajan Araçlarını Toplamak Neden Şart Öldü?

Microsoft Agent Framework ile.NET’te Ajan Kurmanın İncelikleri

Sıkça Sorulan Sorular

Ajanlarda least privilege neden bu kadar önemli?

Şöyle düşünün: ajanlar deterministik olmayan kararlar verebiliyor, yanı ne yapacaklarını tam olarak kestiremiyorsunuz. Yetkiyi minimumda tutarsanız hata payı da küçülüyor. Mesela prompt injection olsa bile etki alanı dar kalıyor — bence bu tek başına yeterince kuvvetli bir neden.

Sadece Entra ID kullanmak yeter mi?

Aslında — hayır dur, daha doğrusu tamamlayıcı bir çözüm ama tek başına yetmiyor. Hani kimlik doğrulama ayrı bir şey, kaynak seviyesinde yetkilendirme ayrı bir şey. İkisini birlikte düşünerek tasarlamak gerekiyor — açıkçası biri olmadan diğeri eksik kalıyor.

Küçük ekipler bu modeli nasıl uygular?

Önce sade bir scope yapısıyla başlayın, sonra audit logging ekleyin. Her şeyi aynı günde kurmaya çalışmayın; tecrübeme göre yavaş ilerlemek burada çok daha sağlıklı oluyor.

Bu template production için hazır mı?

Mimarı açıdan güçlü sinyaller veriyor, yanı iyi bir başlangıç noktası. Ama yine de kendi veri modellerinizle uyarlamanız şart. Açıkçası hazır çözüm diye körlemesine almak pek doğru olmaz.

Kaynaklar ve İleri Okuma

Orijinal Microsoft Blog Yazısı

Microsoft Entra ID Access Token Dokümantasyonu

Azure Developer CLI (azd) Resmî Dokümantasyonu

🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

LangChain4j Video Serisi: Java'da AI Ajanlarına Giden Yol
LangChain4j Video Serisi: Java'da AI Ajanlarına Giden Yol13 Tem 2026
Claude Opus 5 GitHub Copilot'ta Kullanıma Sunuldu
Claude Opus 5 GitHub Copilot'ta Kullanıma Sunuldu24 Tem 2026
Deep Search Nedir? ChatGPT Deep Research Rehberi
Deep Search Nedir? ChatGPT Deep Research Rehberi13 Nis 2026
Azure Storage API’larında Entra ID ve RBAC Dönemi: Pratikte Ne Değişti?
Azure Storage API’larında Entra ID ve RBAC Dönemi: Pratikte Ne Değişti?18 Mar 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket AI ajan güvenliği azd template kısa ömürlü token kurumsal güvenlik least privilege prompt injection yetkilendirme
Önceki yazı

Foundry Toolboxes: Ajan Araçlarını Toplamak Neden Şart Oldu?

Sonraki yazı

Microsoft Agent Framework v1.0: Lokal’den Prod’a Geçiş

İlginizi Çekebilir

GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
Aşkın KILIÇ 0

GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri

04/10/2026
Azure Cosmos DB Shell Artık Data Explorer İçinde
Aşkın KILIÇ 0

Azure Cosmos DB Shell Artık Data Explorer İçinde

04/10/2026
GitHub App Installation Token'ları Artık 520 Karakter
Aşkın KILIÇ 0

GitHub App Installation Token’ları Artık 520 Karakter

03/10/2026

2 comments

comments user
Cem A. 11/05/2026 08:04

Tokenları kısa ömürlü tutmak kulağa basit geliyor ama pratikte her servis bunu desteklemiyor, onu aşmak bazen baş ağrısına dönüşüyor. Acaba yazıda bunu nasıl ele almışsınız, farklı providerlar için pratik bir çözüm var mı?

comments user
Alp Y. 11/05/2026 21:37

AI ajanlarını production’a taşırken token yönetimi gerçekten baş ağrısı oluyor, least privilege’ı tasarım aşamasında düşünmek çok daha mantıklı. Bu arada şu yazınız da güzeldi: Microsoft Agent Framework v1.0: Lokal’den Prod’a Geçiş — https://www.askinkilic.com.tr/microsoft-agent-framework-v10-lokalden-proda-gecis/ Peki kısa ömürlü token’ların refresh mekanizması için önerilen bir yaklaşım var mı?

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
    04/10/2026 GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
  • Azure Cosmos DB Shell Artık Data Explorer İçinde
    04/10/2026 Azure Cosmos DB Shell Artık Data Explorer İçinde
  • Azure Developer CLI 1.34: azure.yaml Katmanları ve
    04/10/2026 Azure Developer CLI 1.34: azure.yaml Katmanları ve
  • Copilot Code Review: API Desteği ve Balanced Varsayılanı
    03/10/2026 Copilot Code Review: API Desteği ve Balanced Varsayılanı
  • GitHub App Installation Token'ları Artık 520 Karakter
    03/10/2026 GitHub App Installation Token’ları Artık 520 Karakter
  • 25 Dolar Altında Yapay Zeka Uygulaması mı? İşte Nasıl Yapılır!
    10/03/2026 25 Dolara Yapay Zeka Uygulaması Nasıl Yapılır?
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
    18/03/2026 Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL bulut bilişim CI/CD code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans Pull Request RAG REST API SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 469 yazı 🏗️ Bulut Altyapı 378 yazı 🤖 Yapay Zeka 314 yazı 🔧 DevOps 260 yazı ☁️ Microsoft Azure 254 yazı 🔒 Güvenlik & Kimlik 214 yazı 🏢 Kurumsal Teknoloji 96 yazı 📊 Veri & Analitik 66 yazı 🐳 Konteyner & Kubernetes 61 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Foundry Toolboxes: Ajan Araçla...
    Microsoft Agent Framework v1.0... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS