2026-04-10 23:20:41 -04:00
---
layout: default
title: "MCP Aracı Taşı yı cı (Bearer) Token Doğrulama Özelliği Belirtimi"
parent: "Turkish (Beta)"
---
2026-04-11 01:08:44 +00:00
# MCP Aracı Taşı yı cı (Bearer) Token Doğrulama Özelliği Belirtimi
2026-04-10 23:20:41 -04:00
> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
2026-04-11 01:08:44 +00:00
> **⚠️ ÖNEMLİ: YALNIZCA TEK-KİRACI (SINGLE-TENANT) ORTAMLAR İÇİN**
>
> Bu belirtim, MCP araçları için temel, hizmet seviyesinde bir doğrulama mekanizması nı açı klamaktadı r. Bu, **TAMAMLANMIŞ** bir doğrulama çözümü değildir ve aşağı daki durumlar için **UYGUN DEĞİL**:
> - Çok kullanı cı lı ortamlar
> - Çok kiracı lı (multi-tenant) dağı tı mlar
> - Federasyonlu doğrulama
> - Kullanı cı bağlamı yayı lı mı
> - Kullanı cı bazlı yetkilendirme
>
> Bu özellik, her MCP aracı için **tek bir statik token** sağlar ve bu token tüm kullanı cı lar ve oturumlar arası nda paylaşı lı r. Kullanı cı bazlı veya kiracı bazlı doğrulama gerekiyorsa, bu çözüm uygun değildir.
## Genel Bakı ş
**Özellik Adı **: MCP Aracı Taşı yı cı (Bearer) Token Doğrulama Desteği
**Yazar**: Claude Code Assistant
**Tarih**: 2025-11-11
**Durum**: Geliştirme Aşaması nda
### Yönetici Özeti
MCP araçları nı n, korumalı MCP sunucuları yla kimlik doğrulaması yapmak için isteğe bağlı taşı yı cı (bearer) token'lar belirtmesine olanak tanı yı n. Bu, TrustGraph'ı n, kimlik doğrulaması gerektiren sunucularda barı ndı rı lan MCP araçları nı , aracı nı n veya araç çağrı arayüzlerinin değiştirilmesi olmadan güvenli bir şekilde çağı rması nı sağlar.
**ÖNEMLİ**: Bu, tek kiracı lı , hizmetten hizmete doğrulama senaryoları için tasarlanmı ş temel bir doğrulama mekanizması dı r. Aşağı daki durumlar için **UYGUN DEĞİL** :
Farklı kullanı cı ları n farklı kimlik bilgilerine ihtiyaç duyduğu çok kullanı cı lı ortamlar
Kiracı başı na izolasyon gerektiren çok kiracı lı dağı tı mlar
Federasyonlu doğrulama senaryoları
Kullanı cı seviyesinde doğrulama veya yetkilendirme
Dinamik kimlik bilgisi yönetimi veya token yenileme
Bu özellik, her MCP aracı yapı landı rması için statik, sistem genelinde bir taşı yı cı (bearer) token sağlar ve bu token, o aracı n tüm kullanı cı ları ve çağrı ları tarafı ndan paylaşı lı r.
### Sorun Tanı mı
Şu anda, MCP araçları yalnı zca herkese açı k olarak erişilebilir MCP sunucuları na bağlanabilir. Birçok üretim MCP dağı tı mı , güvenlik için taşı yı cı (bearer) token'lar aracı lı ğı yla kimlik doğrulaması gerektirir. Kimlik doğrulama desteği olmadan:
MCP araçları , güvenli MCP sunucuları na bağlanamaz
Kullanı cı lar ya MCP sunucuları nı herkese açı k hale getirmeli ya da ters vekil (reverse proxy) uygulamalı dı r
MCP bağlantı ları na kimlik bilgilerini iletmenin standart bir yolu yoktur
MCP uç noktaları nda güvenlik en iyi uygulamaları uygulanamaz
### Hedefler
[ ] MCP araç yapı landı rmaları nı n isteğe bağlı `auth-token` parametresini belirtmesine izin verin
[ ] MCP araç hizmetini, MCP sunucuları na bağlanı rken taşı yı cı (bearer) token'ları kullanacak şekilde güncelleyin
[ ] CLI araçları nı , kimlik doğrulama token'ları nı ayarlama/görüntüleme özelliğini destekleyecek şekilde güncelleyin
[ ] Kimlik doğrulaması olmayan MCP yapı landı rmaları yla geriye dönük uyumluluğu koruyun
[ ] Token depolama için güvenlik hususları nı belgeleyin
### Hedef Dı şı Kalanlar
Dinamik token yenileme veya OAuth akı şları (yalnı zca statik token'lar)
Depolanmı ş token'ları n şifrelenmesi (yapı landı rma sistemi güvenliği kapsam dı şı ndadı r)
Alternatif doğrulama yöntemleri (Temel kimlik doğrulama, API anahtarları , vb.)
Token doğrulama veya son kullanma kontrolü
**Kullanı cı başı na doğrulama**: Bu özellik, kullanı cı ya özel kimlik bilgilerini desteklemez
**Kiracı izolasyonu**: Bu özellik, kiracı başı na token yönetimi sağlamaz
**Federasyonlu doğrulama**: Bu özellik, kimlik sağlayı cı ları yla (SSO, OAuth, SAML, vb.) entegre olmaz
**Bağlama duyarlı doğrulama**: Token'lar, kullanı cı bağlamı na veya oturuma göre iletilmez
## Arka Plan ve Bağlam
### Mevcut Durum
MCP araç yapı landı rmaları , `mcp` yapı landı rma grubunda aşağı daki yapı ya sahip olarak saklanı r:
```json
{
"remote-name": "tool_name",
"url": "http://mcp-server:3000/api"
}
```
MCP aracı hizmeti, `streamablehttp_client(url)` kullanarak sunuculara bağlanı r ve herhangi bir kimlik doğrulama başlı ğı kullanmaz.
### Sı nı rlamalar
**Mevcut Sistem Sı nı rlamaları :**
1. **Kimlik doğrulama desteği yok:** Güvenli MCP sunucuları na bağlanı lamaz.
2. **Güvenlik açı ğı :** MCP sunucuları , yalnı zca ağ seviyesinde güvenlik kullanı larak genel olarak erişilebilir olmalı dı r.
3. **Üretim dağı tı m sorunları :** API uç noktaları için güvenlik en iyi uygulamaları nı takip edilemez.
**Bu Çözümün Sı nı rlamaları :**
1. **Yalnı zca tek kiracı :** Her MCP aracı için tek bir statik belirteç, tüm kullanı cı lar arası nda paylaşı lı r.
2. **Kullanı cı başı na kimlik bilgileri yok:** Farklı kullanı cı lar olarak kimlik doğrulaması yapı lamaz veya kullanı cı bağlamı geçirilemez.
3. **Çok kiracı lı destek yok:** Kimlik bilgilerini kiracı veya kuruluş başı na izole etmek mümkün değildir.
4. **Yalnı zca statik belirteçler:** Belirteç yenileme, döndürme veya son kullanma süresi yönetimi desteği yoktur.
5. **Hizmet seviyesi kimlik doğrulaması :** Bireysel kullanı cı lar yerine TrustGraph hizmetini doğrular.
6. **Paylaşı lan güvenlik bağlamı :** Bir MCP aracı nı n tüm çağrı ları aynı kimlik bilgisini kullanı r.
### Kullanı m Alanı Uygunluğu
**✅ Uygun Kullanı m Alanları :**
Tek kiracı lı TrustGraph dağı tı mları
Hizmetten hizmete kimlik doğrulama (TrustGraph → MCP Sunucusu)
Geliştirme ve test ortamları
TrustGraph sistemi tarafı ndan erişilen dahili MCP araçları
Tüm kullanı cı ları n aynı MCP aracı erişim düzeyini paylaştı ğı senaryolar
Statik, uzun ömürlü hizmet kimlik bilgileri
**❌ Uygun Olmayan Kullanı m Alanları :**
Kullanı cı başı na kimlik doğrulama gerektiren çok kullanı cı lı sistemler
Kiracı izolasyonu gereksinimleri olan çok kiracı lı SaaS dağı tı mları
Federasyon kimlik doğrulama senaryoları (SSO, OAuth, SAML)
MCP sunucuları na kullanı cı bağlamı nı n iletilmesi gereken sistemler
Dinamik belirteç yenileme veya kı sa ömürlü belirteçler gerektiren ortamlar
Farklı kullanı cı ları n farklı izin düzeylerine ihtiyaç duyduğu uygulamalar
Kullanı cı seviyesinde denetim izleri için uyumluluk gereksinimleri
**Örnek Uygun Senaryo:**
Tüm çalı şanları n aynı dahili MCP aracı nı (örneğin, şirket veritabanı sorgusu) kullandı ğı tek organizasyonlu bir TrustGraph dağı tı mı . MCP sunucusunun harici erişimi önlemek için kimlik doğrulama gerektirmesi, ancak tüm dahili kullanı cı ları n aynı erişim düzeyine sahip olması .
**Örnek Uygun Olmayan Senaryo:**
Kiracı A ve Kiracı B'nin her birinin ayrı kimlik bilgileriyle kendi izole MCP sunucuları na erişmesi gereken çok kiracı lı bir TrustGraph SaaS platformu. Bu özellik, kiracı başı na belirteç yönetimi DEĞİLDİR.
### İlgili Bileşenler
**trustgraph-flow/trustgraph/agent/mcp_tool/service.py**: MCP aracı çağrı hizmeti
**trustgraph-cli/trustgraph/cli/set_mcp_tool.py**: MCP yapı landı rmaları nı oluşturmak/güncellemek için CLI aracı
**trustgraph-cli/trustgraph/cli/show_mcp_tools.py**: MCP yapı landı rmaları nı görüntülemek için CLI aracı
**MCP Python SDK**: `streamablehttp_client` from `mcp.client.streamable_http`
## Gereksinimler
### Fonksiyonel Gereksinimler
1. **MCP Yapı landı rma Kimlik Doğrulama Belirteci** : MCP aracı yapı landı rmaları , isteğe bağlı bir `auth-token` alanı DESTEKLEMELİDİR.
2. **Bearer Belirteç Kullanı mı ** : MCP aracı hizmeti, kimlik doğrulama belirteci yapı landı rı ldı ğı nda `Authorization: Bearer {token}` başlı ğı nı GÖNDERMELİDİR.
3. **CLI Desteği** : `tg-set-mcp-tool` , isteğe bağlı bir `--auth-token` parametresi KABUL ETMELİDİR.
4. **Belirteç Görüntüleme** : `tg-show-mcp-tools` , kimlik doğrulama belirtecinin yapı landı rı ldı ğı nı GÖSTERMELİDİR (güvenlik için gizlenmiş).
5. **Geriye Dönük Uyumluluk** : Kimlik doğrulama belirteci olmayan mevcut MCP aracı yapı landı rmaları çalı şmaya DEVAM ETMELİDİR.
### Fonksiyonel Olmayan Gereksinimler
1. **Geriye Dönük Uyumluluk** : Mevcut MCP aracı yapı landı rmaları için hiçbir bozucu değişiklik olmamalı dı r.
2. **Performans** : MCP aracı çağrı sı üzerinde önemli bir performans etkisi olmamalı dı r.
3. **Güvenlik** : Belirteçler yapı landı rmada saklanı r (güvenlik etkilerini belgeleyin).
### Kullanı cı Hikayeleri
1. Bir **DevOps mühendisi** olarak, MCP sunucusu uç noktaları nı güvence altı na almak için MCP araçları için taşı yı cı belirteçleri yapı landı rmak istiyorum.
2. Bir **CLI kullanı cı sı ** olarak, korumalı sunuculara bağlanabilmem için MCP araçları oluştururken kimlik doğrulama belirteçleri ayarlamak istiyorum.
3. Bir **sistem yöneticisi** olarak, hangi MCP araçları nı n kimlik doğrulaması nı n yapı landı rı ldı ğı nı görmek istiyorum, böylece güvenlik ayarları nı denetleyebilirim.
## Tasarı m
### Yüksek Seviyeli Mimari
Taşı yı cı belirteç kimlik doğrulaması desteği için MCP aracı yapı landı rması nı ve hizmetini genişletin:
1. MCP aracı yapı landı rma şeması na isteğe bağlı bir `auth-token` alanı ekleyin.
2. Kimlik doğrulama belirteci yapı landı rı ldı ğı nda, MCP aracı hizmetinin kimlik doğrulama belirteci okuyup HTTP istemcisine iletmesini sağlayı n.
3. Kimlik doğrulama belirteçleri ayarlamak ve görüntülemek için CLI araçları nı güncelleyin.
4. Güvenlik hususları nı ve en iyi uygulamaları belgeleyin.
### Yapı landı rma Şeması
**Mevcut Şema**:
```json
{
"remote-name": "tool_name",
"url": "http://mcp-server:3000/api"
}
```
**Yeni Şema** (isteğe bağlı kimlik doğrulama jetonu ile):
```json
{
"remote-name": "tool_name",
"url": "http://mcp-server:3000/api",
"auth-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
```
**Alan Açı klamaları **:
`remote-name` (isteğe bağlı ): MCP sunucusu tarafı ndan kullanı lan isim (varsayı lan olarak yapı landı rma anahtarı )
`url` (gerekli): MCP sunucusu uç noktası URL'si
`auth-token` (isteğe bağlı ): Kimlik doğrulama için kullanı lan taşı yı cı belirteci
### Veri Akı şı
1. **Yapı landı rma Depolama** : Kullanı cı `tg-set-mcp-tool --id my-tool --tool-url http://server/api --auth-token xyz123` 'ı çalı ştı rı r
2. **Yapı landı rma Yükleme** : MCP aracı hizmeti, `on_mcp_config()` geri çağı rması aracı lı ğı yla yapı landı rma güncellemelerini alı r
3. **Araç Çağrı sı ** : Araç çağrı ldı ğı nda:
Hizmet, yapı landı rmadan `auth-token` 'ı okur (varsa)
Başlı klar sözlüğünü oluşturur: `{"Authorization": "Bearer {token}"}`
Başlı kları `streamablehttp_client(url, headers=headers)` 'a iletir
MCP sunucusu belirteci doğrular ve isteği işler
### API Değişiklikleri
Harici API değişiklikleri yok - yalnı zca yapı landı rma şeması uzantı sı .
### Bileşen Detayları
#### Bileşen 1: service.py (MCP Aracı Hizmeti)
**Dosya**: `trustgraph-flow/trustgraph/agent/mcp_tool/service.py`
**Amaç**: Uzak sunuculardaki MCP araçları nı çağı rmak
**Gerekli Değişiklikler** (`invoke_tool()` yönteminde):
1. `auth-token` 'ı n `self.mcp_services[name]` yapı landı rması nda olup olmadı ğı nı kontrol edin
2. Belirteç varsa, Authorization başlı ğı yla başlı klar sözlüğünü oluşturun
3. Başlı kları `streamablehttp_client(url, headers=headers)` 'a iletin
**Mevcut Kod** (42-89 satı rları ):
```python
async def invoke_tool(self, name, parameters):
try:
if name not in self.mcp_services:
raise RuntimeError(f"MCP service {name} not known")
if "url" not in self.mcp_services[name]:
raise RuntimeError(f"MCP service {name} URL not defined")
url = self.mcp_services[name]["url"]
if "remote-name" in self.mcp_services[name]:
remote_name = self.mcp_services[name]["remote-name"]
else:
remote_name = name
logger.info(f"Invoking {remote_name} at {url}")
# Connect to a streamable HTTP server
async with streamablehttp_client(url) as (
read_stream,
write_stream,
_,
):
# ... rest of method
```
**Değiştirilmiş Kod:**
```python
async def invoke_tool(self, name, parameters):
try:
if name not in self.mcp_services:
raise RuntimeError(f"MCP service {name} not known")
if "url" not in self.mcp_services[name]:
raise RuntimeError(f"MCP service {name} URL not defined")
url = self.mcp_services[name]["url"]
if "remote-name" in self.mcp_services[name]:
remote_name = self.mcp_services[name]["remote-name"]
else:
remote_name = name
# Build headers with optional bearer token
headers = {}
if "auth-token" in self.mcp_services[name]:
token = self.mcp_services[name]["auth-token"]
headers["Authorization"] = f"Bearer {token}"
logger.info(f"Invoking {remote_name} at {url}")
# Connect to a streamable HTTP server with headers
async with streamablehttp_client(url, headers=headers) as (
read_stream,
write_stream,
_,
):
# ... rest of method (unchanged)
```
#### Bileşen 2: set_mcp_tool.py (CLI Yapı landı rma Aracı )
**Dosya**: `trustgraph-cli/trustgraph/cli/set_mcp_tool.py`
**Amaç**: MCP aracı yapı landı rmaları nı oluşturma/güncelleme
**Gerekli Değişiklikler**:
1. `--auth-token` isteğe bağlı argümanı argparse'a ekleyin
2. Sağlandı ğı nda, `auth-token` 'yi yapı landı rma JSON'una dahil edin
**Mevcut Argümanlar**:
`--id` (gerekli): MCP aracı tanı mlayı cı sı
`--remote-name` (isteğe bağlı ): Uzak MCP aracı adı
`--tool-url` (gerekli): MCP aracı URL uç noktası
`-u, --api-url` (isteğe bağlı ): TrustGraph API URL'si
**Yeni Argüman**:
`--auth-token` (isteğe bağlı ): Kimlik doğrulama için taşı yı cı belirteci
**Değiştirilmiş Yapı landı rma Oluşturma**:
```python
# Build configuration object
config = {
"url": args.tool_url,
}
if args.remote_name:
config["remote-name"] = args.remote_name
if args.auth_token:
config["auth-token"] = args.auth_token
# Store configuration
api.config().put([
ConfigValue(type="mcp", key=args.id, value=json.dumps(config))
])
```
#### Bileşen 3: show_mcp_tools.py (CLI Görüntüleme Aracı )
**Dosya**: `trustgraph-cli/trustgraph/cli/show_mcp_tools.py`
**Amaç**: MCP araç yapı landı rmaları nı görüntülemek
**Gerekli Değişiklikler**:
1. Çı ktı tablosuna "Auth" sütununu ekleyin
2. "auth-token" varlı ğı na bağlı olarak "Evet" veya "Hayı r" görüntüleyin
3. Gerçek token değerini görüntülemeyin (güvenlik)
**Mevcut Çı ktı **:
```
ID Remote Name URL
---------- ------------- ------------------------
my-tool my-tool http://server:3000/api
```
**Yeni Çı ktı **:
```
ID Remote Name URL Auth
---------- ------------- ------------------------ ------
my-tool my-tool http://server:3000/api Yes
other-tool other-tool http://other:3000/api No
```
#### Bileşen 4: Belgeler
**Dosya**: `docs/cli/tg-set-mcp-tool.md`
**Gerekli Değişiklikler**:
1. Yeni `--auth-token` parametresini belgeleyin
2. Kimlik doğrulama ile örnek kullanı m sağlayı n
3. Güvenlik hususları nı belgeleyin
## Uygulama Planı
### Aşama 1: Teknik Özellikleri Oluşturma
[x] Tüm değişiklikleri belgeleyen kapsamlı bir teknik özellik yazı n
### Aşama 2: MCP Araç Hizmetini Güncelleme
[ ] `service.py` içindeki `invoke_tool()` 'ı , auth-token'ı yapı landı rmadan okumak için değiştirin
[ ] Başlı klar sözlüğünü oluşturun ve `streamablehttp_client` 'a iletin
[ ] Kimliği doğrulanmı ş bir MCP sunucusuyla test edin
### Aşama 3: CLI Araçları nı Güncelleme
[ ] `set_mcp_tool.py` 'e `--auth-token` argümanı nı ekleyin
[ ] auth-token'ı yapı landı rma JSON'unda dahil edin
[ ] `show_mcp_tools.py` çı ktı sı na "Auth" sütununu ekleyin
[ ] CLI araç değişikliklerini test edin
### Aşama 4: Belgeleri Güncelleme
[ ] `tg-set-mcp-tool.md` içindeki `--auth-token` parametresini belgeleyin
[ ] Güvenlik hususları bölümünü ekleyin
[ ] Örnek kullanı m sağlayı n
### Aşama 5: Test
[ ] MCP aracı nı n auth-token ile başarı yla bağlandı ğı nı test edin
[ ] Geriye dönük uyumluluğu test edin (auth-token olmadan çalı şan araçlar)
[ ] CLI araçları nı n auth-token'ı doğru şekilde kabul ettiğini ve depoladı ğı nı test edin
[ ] "show" komutunun auth durumunu doğru şekilde gösterdiğini test edin
### Kod Değişiklikleri Özeti
| Dosya | Değişiklik Türü | Satı rlar | Açı klama |
|------|------------|-------|-------------|
| `service.py` | Değiştirildi | ~52-66 | auth-token okuma ve başlı k oluşturma ekleyin |
| `set_mcp_tool.py` | Değiştirildi | ~30-60 | --auth-token argümanı ve yapı landı rma depolama ekleyin |
| `show_mcp_tools.py` | Değiştirildi | ~40-70 | Görüntüleme için "Auth" sütununu ekleyin |
| `tg-set-mcp-tool.md` | Değiştirildi | Çeşitli | Yeni parametreyi belgeleyin |
## Test Stratejisi
### Birim Testleri
**Auth Token Okuma**: `invoke_tool()` 'ı n auth-token'ı yapı landı rmadan doğru şekilde okuduğunu test edin
**Başlı k Oluşturma**: Authorization başlı ğı nı n Bearer öneki ile doğru şekilde oluşturulduğunu test edin
**Geriye Dönük Uyumluluk**: auth-token olmadan çalı şan araçları n değişmeden çalı ştı ğı nı test edin
**CLI Argümanı Ayrı ştı rma**: `--auth-token` argümanı nı n doğru şekilde ayrı ştı rı ldı ğı nı test edin
### Entegrasyon Testleri
**Kimliği Doğrulanmı ş Bağlantı **: MCP araç hizmetinin kimliği doğrulanmı ş bir sunucuya bağlandı ğı nı test edin
**Uçtan Uca**: CLI → yapı landı rma depolama → auth token ile hizmet çağrı sı nı test edin
**Token Gerekli Değil**: Kimliği doğrulanmamı ş bir sunucuya bağlantı nı n hala çalı ştı ğı nı test edin
### Manuel Testler
**Gerçek MCP Sunucusu**: bearer token kimlik doğrulaması gerektiren gerçek bir MCP sunucusuyla test edin
**CLI İş Akı şı **: Tam iş akı şı nı test edin: aracı auth ile yapı landı r → aracı çağı r → başarı yı doğrulayı n
**Görüntü Maskeleme**: auth durumunun gösterildiğini ancak token değerinin görünmediğini doğrulayı n
## Göç ve Dağı tı m
### Göç Stratejisi
Göç gerektirmez - bu tamamen ek bir işlevsellik:
`auth-token` içermeyen mevcut MCP araç yapı landı rmaları çalı şmaya devam eder
Yeni yapı landı rmalar isteğe bağlı olarak `auth-token` alanı nı içerebilir
CLI araçları `--auth-token` parametresini kabul eder, ancak gerektirmez
### Dağı tı m Planı
1. **Aşama 1** : Temel hizmet değişikliklerini geliştirme/hazı rlı k ortamı na dağı tı n
2. **Aşama 2** : CLI araç güncellemelerini dağı tı n
3. **Aşama 3** : Belgeleri güncelleyin
4. **Aşama 4** : İzleme ile üretim dağı tı mı
### Geri Alma Planı
Temel değişiklikler geriye dönük uyumludur - mevcut araçlar etkilenmez
Sorunlar ortaya çı karsa, auth-token işleme, başlı k oluşturma mantı ğı nı kaldı rarak devre dı şı bı rakı labilir
CLI değişiklikleri bağı msı zdı r ve ayrı olarak geri alı nabilir
## Güvenlik Hususları
### ⚠️ Kritik Sı nı rlama: Yalnı zca Tek Kiracı lı Kimlik Doğrulama
**Bu kimlik doğrulama mekanizması , çok kullanı cı lı veya çok kiracı lı ortamlar için UYGUN DEĞİLDİR.**
**Paylaşı lan kimlik bilgiler**: Tüm kullanı cı lar ve çağrı lar, her MCP aracı için aynı token'ı paylaşı r
**Kullanı cı bağlamı yok**: MCP sunucusu, farklı TrustGraph kullanı cı ları arası nda ayrı m yapamaz
**Kiracı yalı tı mı yok**: Tüm kiracı lar, her MCP aracı için aynı kimlik bilgilerini paylaşı r
**Denetim izi sı nı rlaması **: MCP sunucusu, aynı kimlik bilgilerinden gelen tüm istekleri günlüğe kaydeder
**İzin kapsamı **: Farklı kullanı cı lara farklı izin seviyeleri uygulanamaz
**Bu özelliği KULLANMAYIN eğer:**
TrustGraph dağı tı mı nı z birden fazla kuruluşu (çok kiracı lı ) hizmet veriyorsa
Hangi kullanı cı nı n hangi MCP aracı na eriştiğini izlemeniz gerekiyorsa
Farklı kullanı cı ları n farklı izin seviyelerine ihtiyacı varsa
Kullanı cı düzeyinde denetim gereksinimlerine uymanı z gerekiyorsa
MCP sunucunuz kullanı cı başı na hı z sı nı rlamaları veya kotaları uyguluyorsa
**Çok kullanı cı lı /çok kiracı lı senaryolar için alternatif çözümler:**
Özel başlı klar aracı lı ğı yla kullanı cı bağlamı yayı lı mı nı uygulayı n
Her kiracı için ayrı TrustGraph örnekleri dağı tı n
Ağ seviyesinde izolasyon kullanı n (VPC'ler, hizmet ağları )
Her kullanı cı için kimlik doğrulamayı yöneten bir ara katman uygulayı n
### Token Depolama
**Risk**: Kimlik doğrulama jetonları yapı landı rma sisteminde düz metin olarak saklanı r
**Giderilmesi Gereken Durum:**
Jetonları n şifrelenmeden saklandı ğı nı belgeleyin
Mümkün olduğunda kı sa ömürlü jetonlar kullanı lması önerin
Yapı landı rma depolaması için uygun erişim kontrolü kullanı lması önerin
Şifrelenmiş jeton depolama için gelecekteki bir iyileştirmeyi düşünün
### Jetonun Açı ğa Çı karı lması
**Risk**: Jetonlar günlüklerde veya CLI çı ktı sı nda açı ğa çı kabilir
**Giderilmesi Gereken Durum:**
Jeton değerlerini kaydetmeyin (sadece "kimlik doğrulama yapı landı rı ldı : evet/hayı r" kaydı nı tutun)
CLI göster komutu yalnı zca maskelenmiş durumu gösterir, gerçek jetonu göstermez
Jetonları hata mesajları nda dahil etmeyin
### Ağ Güvenliği
**Risk**: Jetonlar şifrelenmemiş bağlantı lar üzerinden iletilir
**Giderilmesi Gereken Durum:**
MCP sunucuları için HTTPS URL'lerinin kullanı lması önerisi belgelendirilmelidir
HTTP ile düz metin iletim riskine ilişkin kullanı cı lara uyarı verilmelidir
### Yapı landı rma Erişimi
**Risk**: Yapı landı rma sistemine yetkisiz erişim, jetonları açı ğa çı karı r
**Giderilmesi Gereken Durum:**
Yapı landı rma sistemi erişiminin güvenliğinin önemini belgeleyin
Yapı landı rma erişimi için en az ayrı calı k ilkesi önerin
Yapı landı rma değişiklikleri için denetim günlüğü almayı düşünün (gelecekteki iyileştirme)
### Çok Kullanı cı lı Ortamlar
**Risk**: Çok kullanı cı lı dağı tı mlarda, tüm kullanı cı lar aynı MCP kimlik bilgilerini paylaşı r
**Riskin Anlaşı lması :**
Kullanı cı A ve Kullanı cı B, bir MCP aracı nı kullanı rken aynı jetonu kullanı r
MCP sunucusu, farklı TrustGraph kullanı cı ları arası nda ayrı m yapamaz
Kullanı cı başı na izinleri veya hı z sı nı rlamaları nı uygulama imkanı yoktur
MCP sunucusundaki denetim günlükleri, aynı kimlik bilgilerinden gelen tüm istekleri gösterir
Bir kullanı cı nı n oturumu tehlikeye girerse, saldı rganı n tüm kullanı cı lar kadar aynı MCP erişimi vardı r
**Bu bir hata DEĞİLDİR - bu tasarı mı n temel bir sı nı rlaması dı r.**
## Performans Etkisi
**Minimum ek yük**: Başlı k oluşturma, ihmal edilebilir bir işlem süresi ekler
**Ağ etkisi**: Ek HTTP başlı ğı , istek başı na yaklaşı k 50-200 bayt ekler
**Bellek kullanı mı **: Yapı landı rmada jeton dizesini depolamak için ihmal edilebilir bir artı ş
## Belgeler
### Kullanı cı Belgeleri
[ ] `tg-set-mcp-tool.md` 'ı `--auth-token` parametresiyle güncelleyin
[ ] Güvenlik hususları bölümü ekleyin
[ ] Bir örnek kullanı m senaryosuyla birlikte taşı yı cı jetonu sağlayı n
[ ] Jeton depolama etkilerini belgeleyin
### Geliştirici Belgeleri
[ ] `service.py` içindeki kimlik doğrulama jetonu işleme için satı r içi yorumlar ekleyin
[ ] Başlı k oluşturma mantı ğı nı belgeleyin
[ ] MCP aracı yapı landı rma şeması belgelerini güncelleyin
## Açı k Sorular
1. **Jeton şifreleme** : Yapı landı rma sisteminde şifrelenmiş jeton depolamayı uygulamalı mı yı z?
2. **Jeton yenileme** : OAuth yenileme akı şları veya jeton rotasyonu için gelecekteki destek?
3. **Alternatif kimlik doğrulama yöntemleri** : Temel kimlik doğrulama, API anahtarları veya diğer yöntemleri desteklemeli miyiz?
## Değerlendirilen Alternatifler
1. **Jetonlar için ortam değişkenleri** : Jetonları yapı landı rma yerine ortam değişkenlerinde saklayı n
**Reddedildi** : Dağı tı mı ve yapı landı rma yönetimini karmaşı klaştı rı r
2. **Ayrı gizli anahtar deposu** : Özel bir gizli anahtar yönetim sistemi kullanı n
**Erteleme** : Başlangı ç uygulaması kapsamı dı şı ndadı r, gelecekteki bir iyileştirme olarak düşünün
3. **Çoklu kimlik doğrulama yöntemleri** : Temel, API anahtarı , OAuth vb. destekleyin
**Reddedildi** : Taşı yı cı jetonlar çoğu kullanı m durumunu kapsar, başlangı ç uygulaması nı basit tutun
4. **Şifrelenmiş jeton depolama** : Jetonları yapı landı rma sisteminde şifreleyin
**Erteleme** : Yapı landı rma sistemi güvenliği daha geniş bir endişedir, gelecekteki çalı şmalara bı rakı n
5. **Her çağrı için jetonlar** : Jetonları n çağrı zamanı nda geçirilmesine izin verin
**Reddedildi** : Endişe ayrı mı nı ihlal eder, aracı nı n kimlik bilgilerini işlemesi gerekmez
## Referanslar
[MCP Protokolü Özellikleri ](https://github.com/modelcontextprotocol/spec )
[HTTP Taşı yı cı Kimlik Doğrulaması (RFC 6750) ](https://tools.ietf.org/html/rfc6750 )
[Mevcut MCP Aracı Hizmeti ](../trustgraph-flow/trustgraph/agent/mcp_tool/service.py )
[MCP Aracı Argümanları Özellikleri ](./mcp-tool-arguments.md )
## Ek
### Örnek Kullanı m
**Kimlik doğrulama ile MCP aracı nı n yapı landı rı lması :**
```bash
tg-set-mcp-tool \
--id secure-tool \
--tool-url https://secure-server.example.com/mcp \
--auth-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
**MCP araçları nı göster:**
```bash
tg-show-mcp-tools
ID Remote Name URL Auth
----------- ----------- ------------------------------------ ------
secure-tool secure-tool https://secure-server.example.com/mcp Yes
public-tool public-tool http://localhost:3000/mcp No
```
### Yapı landı rma Örneği
**Yapı landı rma sisteminde saklanı r**:
```json
{
"type": "mcp",
"key": "secure-tool",
"value": "{\"url\": \"https://secure-server.example.com/mcp\", \"auth-token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"}"
}
```
### Güvenlik En İyi Uygulamaları
1. **HTTPS Kullanı mı ** : Kimlik doğrulama ile çalı şan MCP sunucuları için her zaman HTTPS URL'lerini kullanı n.
2. **Kı sa Ömürlü Token'lar** : Mümkün olduğunda, son kullanma tarihine sahip token'lar kullanı n.
3. **En Az Yetki** : Token'lara, yalnı zca gerekli olan minimum izinleri verin.
4. **Erişim Kontrolü** : Yapı landı rma sistemine erişimi kı sı tlayı n.
5. **Token Döndürme** : Token'ları düzenli olarak değiştirin.
6. **Denetim Kayı tları ** : Güvenlik olayları için yapı landı rma değişikliklerini izleyin.