İç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ıç
  • Güvenlik & Kimlik
  • SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim
Bulut Altyapı Güvenlik & Kimlik Veri & Analitik Azure SQL Audit, Data API Builder (DAB) 2.0, Microsoft Entra ID, On-Behalf-Of (OBO), SQL MCP Server Aşkın KILIÇ 03/08/2026 0 Yorumlar

SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim

SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim
📑 İçindekiler
  1. SQL MCP Server'da üç kimlik doğrulama yaklaşımı
  2. DAB 2.0 ile OBO yapılandırması
  3. Kimliği doğrulamak: WhoAmI örneği
  4. Aynı yapılandırma: REST, GraphQL ve MCP
  5. Azure SQL denetimi ve Log Analytics
  6. Ajan erişimini hesap verebilir kılmak
  7. İlgili İçerikler
  8. Kaynaklar ve İleri Okuma
⏱️ 4 dk okuma📅 3 Ağustos 2026

Yapay zeka ajanları veritabanına eriştiğinde kurumsal soru artık “ajanın izni var mıydı?” değil, “hangi kullanıcının izniyle bu işlem yapıldı?” olarak değişiyor. Data API builder (DAB) 2.0 üzerinde çalışan SQL MCP Server, Microsoft Entra ID tabanlı On-Behalf-Of (OBO) kimlik doğrulamasını destekleyerek bu soruya net bir yanıt üretir: Azure SQL denetim kayıtları artık ajanı ya da servisi değil, sorguyu tetikleyen gerçek kullanıcıyı gösterebiliyor.

SQL MCP Server’da üç kimlik doğrulama yaklaşımı

SQL MCP Server tarafında veritabanına bağlanmak için üç temel yöntem var ve her biri denetim kayıtlarına farklı biçimde yansıyor.

Kullanıcı adı ve parola: Popülaritesi azalsa da hala geçerli olan bu yaklaşımda bağlantı dizesindeki kimlik, denetim kayıtlarında operatör olarak görünür. İşlemi kimin başlattığı bilinmez.

Managed Identity (MI): Parola ihtiyacını ortadan kaldırır ama kayıt sonucu değişmez; loglara MCP sunucusunun kimliği düşer, gerçek kullanıcı değil.

On-Behalf-Of (OBO) / pass-through: Microsoft Entra ID ile çalışır. Kullanıcı token’ı ajandan MCP sunucusuna, oradan da Azure SQL’e taşınır. MCP sunucusu bu token’ı aşağı akış token’ıyla değiştirir ve SQL bağlantısı kullanıcı adına açılır. Böylece denetim kayıtları işlemi başlatan gerçek kullanıcıyı işaret eder.

Akış özetle şöyle: Kullanıcı Entra ID ile kimlik doğrular, ajan token’ı MCP sunucusuna iletir, sunucu token değişimi yaparak Azure SQL’e kullanıcı kimliğiyle bağlanır ve SQL, log’a operatör olarak kullanıcıyı yazar.

DAB 2.0 ile OBO yapılandırması

OBO, DAB veri kaynağı bölümünde yapılandırılır. Bağlantı dizesi çıplak bir Azure SQL bağlantı dizesi olmalıdır; User ID, Password veya Authentication alanları yer almaz. DAB, SQL bağlantısını açtığında kullanıcıya özel erişim token’ını enjekte eder.

{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('MSSQL_CONNECTION_STRING')",
"user-delegated-auth": {
"enabled": true,
"provider": "EntraId",
"database-audience": "https://database.windows.net"
}
}
}

Her kullanıcı farklı bir veritabanı bağlantısı aldığı için yanıt önbelleklemesi ile OBO aynı anda kullanılamaz. DAB’ın yapılandırma doğrulayıcısı, ikisini birlikte etkinleştiren yapılandırmaları reddeder. OBO token önbelleği ise kullanıcı bazında tutulur.

Kimliği doğrulamak: WhoAmI örneği

Resmi OBO belgelerinde küçük bir WhoAmI görünümü, aktif bağlantıda SQL’in gördüğü kimliği göstermek için kullanılır:

CREATE VIEW [dbo].[WhoAmI] AS
SELECT SUSER_NAME() AS [UserName];

Bu görünüm DAB üzerinden kimliği doğrulanmış kullanıcılara açılır:

{
"WhoAmI": {
"source": {
"object": "dbo.WhoAmI",
"type": "view",
"key-fields": [ "UserName" ]
},
"rest": {
"enabled": true
},
"permissions": [
{
"role": "authenticated",
"actions": [ { "action": "read" } ]
}
]
}
}

Uygulama tarafında kullanıcı tarayıcıda Entra ID ile oturum açar, taşıyıcı (bearer) token’ı DAB’a iletir, DAB de bu token’ı signed-in kullanıcı için Azure SQL token’ıyla değiştirir:

const headers = await getAuthHeaders();
const response = await fetch(`${API_URL}/api/WhoAmI`, {
method: "GET",
headers
});
const payload = await response.json();
const sqlUserName = payload.value[0].UserName;
console.log(`SQL sees this request as: ${sqlUserName}`);

Sonuçta SQL, isteği bir servis hesabı olarak değil, oturum açan gerçek kullanıcı olarak görür.

Aynı yapılandırma: REST, GraphQL ve MCP

Aynı DAB çalışma zamanı REST, GraphQL ve MCP uç noktalarını birlikte sunabilir. OBO örneğinde MCP, Entra ID kimlik doğrulaması ve kullanıcı-delege yetkilendirmesiyle aynı yapılandırma içinde /mcp yolu üzerinden etkinleştirilir. Bir MCP aracı isteği de aynı WhoAmI varlığını okuyabilir:

{
"tool": "read_records",
"arguments": {
"entity": "WhoAmI"
}
}

Burada temel ayrım netleşir: Eylemi ajan gerçekleştirir ama SQL bu eylemi yetkilendiren kullanıcı bağlamını kaydeder. DAB varlık izinlerini uygulamaya devam eder, Azure SQL ise isteğin arkasındaki kullanıcıyı doğrular.

Azure SQL denetimi ve Log Analytics

Azure SQL denetimi veritabanı olaylarını Blob storage, Event Hubs veya Log Analytics’e yazabilir. Denetim şemasında database_principal_name, server_principal_name, statement ve OBO ile bağlanan orta katman uygulamasını tanımlayan obo_middle_tier_app_id gibi alanlar bulunur.

Log Analytics’te SQL’in gördüğü kullanıcıyı listelemek için şu tarz bir sorgu kullanılabilir:

AzureDiagnostics
| where Category == "SQLSecurityAuditEvents"
| where database_name_s == ""
| project
event_time_t,
action_name_s,
database_principal_name_s,
server_principal_name_s,
obo_middle_tier_app_id_s,
statement_s
| order by event_time_t desc

Bu sorgu kullanıcıyı, gerçekleştirilen SQL eylemini, çalıştırılan ifadeyi ve OBO yolundaki orta katman uygulamayı tek görünümde toplar. Ortaya çıkan tablo, ajan tabanlı sistemler için daha güçlü bir denetim sınırı oluşturur.

Ajan erişimini hesap verebilir kılmak

Basit uygulamalarda yönetilen kimlik veya servis kimlik bilgisiyle bağlanmak yeterli olabilir. Hassas verilere dokunan kurumsal ajanlarda ise veritabanının gerçek çağıranı bilmesi gerekir. SQL MCP Server ve DAB’ın OBO desteği tam da bu boşluğu doldurur: Ajan araçları çağırır, DAB izinleri uygular, Azure SQL ise “bunu kim yaptı?” sorusuna yanıt verebilir.

İlgili İçerikler

  • SQL MCP Server'ı App Service'te Çalıştırmak: Container'sız Yol
  • SQL Server 2025'te Güvenlik ve MCP: Tek Motor Yeter mi?
  • SQL MCP Server: Veritabanını Ajanlara Açmanın Yolu

Kaynaklar ve İleri Okuma

  • Audit Frontier AI Agents with SQL MCP Server – Azure SQL Dev Corner (orijinal yazı)
  • SQL MCP Server ve NL2SQL yaklaşımı
  • DAB MCP için kimlik doğrulama yapılandırması
  • Data API builder: On-Behalf-Of kavramı
  • DAB OBO hızlı başlangıç örneği
  • Azure SQL Database Azure Monitor ile izleme
  • Azure SQL Dev Corner ana blog
  • Veritabanına Akıllı Soru Sorabilen AI: Data API Builder MCP
  • Data API Builder 2.0: REST Yolunu İş Yapına Göre Kurmak
🤖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

Azure SQL'de AI_GENERATE_EMBEDDINGS GA: T-SQL ile Vektör Devri
Azure SQL'de AI_GENERATE_EMBEDDINGS GA: T-SQL ile Vektör Devri9 May 2026
Frontier Tuning: AI'ı Şirketinizin Diline Öğretmek
Frontier Tuning: AI'ı Şirketinizin Diline Öğretmek27 Haz 2026
Headlamp Cluster API Eklentisi: CAPI Artık Görsel Arayüzde
Headlamp Cluster API Eklentisi: CAPI Artık Görsel Arayüzde4 Tem 2026
JetBrains’te Copilot Desteği Bitiyor: Sürümünüzü Şimdi Kontrol Edin
JetBrains’te Copilot Desteği Bitiyor: Sürümünüzü Şimdi Kontrol Edin1 Haz 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 Azure SQL Audit Data API Builder (DAB) 2.0 Microsoft Entra ID On-Behalf-Of (OBO) SQL MCP Server
Önceki yazı

az webapp deploy’da Zenginleştirilmiş Hata Çıktıları

İlginizi Çekebilir

az webapp deploy'da Zenginleştirilmiş Hata Çıktıları
Aşkın KILIÇ 0

az webapp deploy’da Zenginleştirilmiş Hata Çıktıları

03/08/2026
GitHub Copilot App'te Stacked Sessions ve Stacked PR'lar
Aşkın KILIÇ 0

GitHub Copilot App’te Stacked Sessions ve Stacked PR’lar

02/08/2026
Microsoft Veritabanları: Güvenilirlikten AI Hazırlığına
Aşkın KILIÇ 0

Microsoft Veritabanları: Güvenilirlikten AI Hazırlığına

02/08/2026

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim
    03/08/2026 SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim
  • az webapp deploy'da Zenginleştirilmiş Hata Çıktıları
    03/08/2026 az webapp deploy’da Zenginleştirilmiş Hata Çıktıları
  • GitHub Stacked Pull Requests Public Preview'da
    02/08/2026 GitHub Stacked Pull Requests Public Preview’da
  • GitHub Copilot App'te Stacked Sessions ve Stacked PR'lar
    02/08/2026 GitHub Copilot App’te Stacked Sessions ve Stacked PR’lar
  • controller-runtime Cache Nasıl Çalışır?
    02/08/2026 controller-runtime Cache Nasıl Çalışır?
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • Azure MCP Server 2.0: Kendi Sunucunuzda Ajan Otomasyonu
    10/04/2026 Azure MCP Server 2.0: Kendi Sunucunuzda Ajan Otomasyonu
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • 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?
  • 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

SİZİN İÇİN DERLEDİK

SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim
Bulut Altyapı Güvenlik & Kimlik Veri & Analitik

SQL MCP Server ile Kullanıcı Kimliğini Koruyan Denetim

03/08/2026 Aşkın KILIÇ
az webapp deploy'da Zenginleştirilmiş Hata Çıktıları
Bulut Altyapı Geliştirici Araçları Microsoft Azure

az webapp deploy’da Zenginleştirilmiş Hata Çıktıları

03/08/2026 Aşkın KILIÇ
GitHub Stacked Pull Requests Public Preview'da
Geliştirici Araçları Kurumsal Teknoloji

GitHub Stacked Pull Requests Public Preview’da

02/08/2026 Aşkın KILIÇ
GitHub Copilot App'te Stacked Sessions ve Stacked PR'lar
Bulut Altyapı Geliştirici Araçları Yapay Zeka

GitHub Copilot App’te Stacked Sessions ve Stacked PR’lar

02/08/2026 Aşkın KILIÇ
controller-runtime Cache Nasıl Çalışır?
DevOps Geliştirici Araçları

controller-runtime Cache Nasıl Çalışır?

02/08/2026 Aşkın KILIÇ
Microsoft Veritabanları: Güvenilirlikten AI Hazırlığına
Güvenlik & Kimlik Microsoft Azure Veri & Analitik

Microsoft Veritabanları: Güvenilirlikten AI Hazırlığına

02/08/2026 Aşkın KILIÇ
GitHub Casefold: Kaynak Kodda Bellek Hızında Katlama
DevOps Geliştirici Araçları

GitHub Casefold: Kaynak Kodda Bellek Hızında Katlama

01/08/2026 Aşkın KILIÇ
Enterprise teams model policy targeting in public preview
Güvenlik & Kimlik Kurumsal Teknoloji

Enterprise teams model policy targeting in public preview

01/08/2026 Aşkın KILIÇ
Birim Test Üretimi İçin Polyglot Copilot Ajanı
DevOps Geliştirici Araçları Yapay Zeka

Birim Test Üretimi İçin Polyglot Copilot Ajanı

01/08/2026 Aşkın KILIÇ
Kubernetes v1.37 Ön İzleme: Kaldırılanlar ve Yenilikler
Geliştirici Araçları Konteyner & Kubernetes

Kubernetes v1.37 Ön İzleme: Kaldırılanlar ve Yenilikler

01/08/2026 Aşkın KILIÇ
Copilot Code Review: Agent Skills ve MCP Genel Kullanıma
Geliştirici Araçları Microsoft Azure

Copilot Code Review: Agent Skills ve MCP Genel Kullanıma

01/08/2026 Aşkın KILIÇ
npm 2FA Bypass Token Kısıtlamaları: Yeni Kurallar
Bulut Altyapı Güvenlik & Kimlik

npm 2FA Bypass Token Kısıtlamaları: Yeni Kurallar

31/07/2026 Aşkın KILIÇ

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ı Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL bulut bilişim C++ CI/CD copilot Copilot CLI DevOps DevSecOps 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 Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları 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ı 339 yazı 🏗️ Bulut Altyapı 280 yazı 🤖 Yapay Zeka 240 yazı 🔧 DevOps 198 yazı ☁️ Microsoft Azure 186 yazı 🔒 Güvenlik & Kimlik 161 yazı 🏢 Kurumsal Teknoloji 65 yazı 📊 Veri & Analitik 57 yazı 🐳 Konteyner & Kubernetes 47 yazı 📧 Microsoft 365 21 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← az webapp deploy’da Zeng...
    →
    📩

    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