İşinizi Güçlendirin: Erişim kontrolü ile AI araçlarını mevcut hizmetinize bağlayın
Kişisel Erişim Jetonları ve Model Bağlam Protokolü (MCP) kullanarak AI araçlarını mevcut hizmetlerinize güvenli bir şekilde bağlayarak işinizi nasıl güçlendireceğinizi öğrenin, tam kaynak kodu ve pratik örnekler ile birlikte.
Erişim kontrolü ile AI araçlarını mevcut hizmetlerinize nasıl bağlayacağınız konusundaki rehbere hoş geldiniz!
Hizmetlerinizi AI araçlarına hazırlamanın yollarını inceleyeceğiz, özellikle LLM (kullanarak Model Context Protocol)) ile entegrasyon ve çeşitli AI ajanları aracılığıyla, erişim kontrol zorluklarını ele alacağız.
Bu rehber aracılığıyla, şunları elde edeceksiniz:
- Sorunsuz AI entegrasyonu: AI araçlarını hizmetlerinize nasıl bağlayacağınızı öğrenerek veri ve işlevlerinizi AI ortamlarında kullanılabilir hale getirin
- Gelişmiş API güvenliği: API arayüzlerinizi geliştirerek veri ve kullanıcı gizliliğini etkili erişim kontrolü ile koruyun
- Kullanıcı için kişiselleştirilmiş AI deneyimi: Kişisel Erişim Jetonları aracılığıyla her kullanıcı için benzersiz AI destekli deneyimler oluşturun
Tam öğretici kaynaklar, TAM DEMO PROJE KAYNAK KODU (FRONTEND, BACKEND ve MCP SUNUCUSU DAHİL) sağlıyor ve hatta sıfırdan AI'ya hazır hizmetler oluşturmanıza yardımcı olacak pratik kılavuzlar sunuyoruz.
İşte bu rehberin işinizi nasıl geliştirebileceği:
- Rekabet avantajı: Hizmetinizin teknik yeteneklerini ve kullanıcı deneyimini geliştirerek rekabetçi bir pazarda öne çıkın
- Kullanıcı değeri artırma: AI araçları ile ürününüzde daha derin değerler keşfetmelerini sağlayarak kullanıcıların kalıcılığını ve memnuniyetini artırın
- Geleceğe hazır hizmetler: AI ekosistemiyle hizmetlerinizi sorunsuz bir şekilde entegre ederek gelecek AI odaklı iş dünyasına hazırlanın ve yenilikçi büyüme yolları açın
Haydi başlayalım!
MCP nedir ve AI araçlarını hizmetinize nasıl bağlar
MCP (Model Context Protocol) uygulamaların büyük dil modellerine (LLM'ler) nasıl bağlam bilgisi sağlayacağını standardize eden açık, evrensel bir protokoldür.
MCP, AI araçlarının hizmetlerinize erişmesini sağlayan birkaç kilit bileşenden oluşur:
Bu rehberde, sadece MCP Sunucusunun hizmetiniz ve AI araçları arasındaki ana bağlantı noktası olduğunu bilmeniz yeterlidir. LLM'nin kullanması için bir dizi araç sağlamaktan sorumludur ve bu araçlar kendi hizmetlerinizle etkileşimde bulunacaktır. MCP hakkında daha fazla ayrıntı için MCP (Model Context Protocol) nedir ve nasıl çalışır adresine başvurabilirsiniz. Burada sadece MCP Sunucusu üzerine odaklanacağız.
Rol Tabanlı Erişim Kontrolü (RBAC) politikalarını entegre etmiş bir İçerik Yönetim Sistemi (CMS) örneğimizi kullanacağız. Bunun için bir MCP Sunucusu oluşturacağız ve LLM'nin CMS'deki mevcut kullanıcıya ait makale sayısını almasına izin veren get-available-article-count
adlı bir araç tanımlayacağız:
Bu, MCP Sunucusunu hizmetinize bağlamanın ana kodudur. Bu araç uygulamasında, hizmetin api/articles
uç noktasına bir istek gönderir ve sonucu döndürür.
Ancak, bu yeterli değildir, çünkü hizmetinizin API'si genelde herkese açık olmayabilir. Her uç noktanın erişim kontrolüne ihtiyacı vardır ve farklı kullanıcılar farklı kaynaklara ve verilere erişebilebilir.
Bu nedenle, bir sonraki adımda hizmetinize erişim kontrolünü nasıl ekleyeceğimizi tartışacağız.
MCP sunucusu için erişim kontrolü nasıl uygulanır
AI araçları aracılığıyla sisteminize erişen kullanıcıların, sisteminizi doğrudan kullanabilecek aynı kişiler olduğunu anlamak önemlidir - MCP Sunucusu, AI araçlarıyla etkileşime girdiklerinde onların temsilcisi rolü oynar.
Dolayısıyla kullanıcılar, AI araçları aracılığıyla hizmetlerinize eriştiğinde iki pratik erişim kontrol zorluğu ortaya çıkar:
- MCP Sunucusu, sisteminize bir kullanıcı gibi nasıl giriş yapar?
- Sisteminizi yalnızca MCP Sunucusu'na uyum sağlamak için tüm erişim kontrol mekanizmasını yeniden tasarlamalı mı? Bu, önemli bir maliyet ve çaba olacaktır, özellikle orijinal sisteminizin zaten kendi kimlik doğrulama mekanizmasına sahip olması durumunda.
Bu sorunları çözmenin anahtarı:
MCP Sunucusu'nun, kullanıcı kimlik bilgileri ve etkileşimli oturum açma kullanmadan, hizmetinizden erişim izni almasına kullanıcıların nasıl izin vereceği nedir?
Eğer bu sorunu çözebilirseniz, MCP Sunucusu üzerinden doğrudan hizmetinizle etkileşimde bulunabilir ve hizmetiniz, kullanıcılar için daha önce tasarlanmış erişim kontrol mekanizmasını kullanmaya devam edebilir, MCP Sunucusu için yeni bir sistem tasarlamanıza gerek kalmadan!
Ama bu mümkün mü?
Tabii ki mümkün! Bu sorunu mükemmel bir şekilde Kişisel Erişim Jetonları kullanarak çözebilirsiniz!
Kişisel erişim jetonları (PAT’lar), kullanıcıların kimlik bilgilerini ve etkileşimli oturum açma kullanmadan erişim jetonu vermesi için güvenli bir yol sağlar. Bu, CI/CD, script veya programatik olarak kaynaklara erişmesi gereken uygulamalar için yararlıdır.
İş akışı şu şekilde görünür:
Dolayısıyla, sisteminiz Kişisel Erişim Jetonlarını (PAT) desteklediği sürece AI araçları ile mevcut hizmetleriniz arasındaki erişim kontrol zorluklarını yeni kimlik doğrulama mekanizması tasarlamadan mükemmel bir şekilde çözebilir ve kullanıcılarınız için veri güvenliği ve gizlilik korumasını sağlayabilirsiniz.
Şimdi, bunu nasıl pratikte uygulayacağımızı görelim.
MCP sunucusu erişim kontrolü uygulama
Bu bölümde, mevcut bir CMS sistemi temel olarak alarak bir MCP sunucusu için erişim kontrolü uygulayacağız.
Tam CMS örnek eğitici ve kaynak kodunu RBAC uygulamada: Uygulamanız için güvenli yetkilendirme uygulama içinde kontrol edebilirsiniz, ancak bu zorunlu değil, buradaki tüm temel ilkeleri kapsayacağız.
CMS örneğimiz, kapsamlı bir kimlik doğrulama ve yetkilendirme çözümü sağlayan popüler bir açık kaynaklı kimlik platformu olan Logto üzerine kuruludur, ancak teknik uygulama bu makalenin odak noktası değildir.
Hizmetiniz için izin ve erişim kontrol politikası tasarlayın
Erişim kontrolünü uygulamanın ilk adımı, sisteminiz için izinler ve erişim kontrol politikaları tasarlamaktır.
CMS örneğimizde, RBAC (Rol Tabanlı Erişim Kontrolü) temelinde aşağıdaki API uç noktalarını tasarladık ve her bir uç noktanın erişimi için gereken izinleri belirledik:
Uç Nokta | Erişim kontrol mantığı |
---|---|
GET /api/articles | - list:articles iznine sahip herkes, VEYA yazarlar kendi makalelerini görebilir |
GET /api/articles/:id | - read:articles iznine sahip herkes, VEYA makalenin yazarı |
POST /api/articles | - create:articles iznine sahip herkes |
PATCH /api/articles/:id | - update:articles iznine sahip herkes, VEYA makalenin yazarı |
DELETE /api/articles/:id | - delete:articles iznine sahip herkes, VEYA makalenin yazarı |
PATCH /api/articles/:id/published | - Sadece publish:articles iznine sahip kullanıcılar |
Sistemin izin tasarımı şu şekildedir:
İzin | Açıklama |
---|---|
list:articles | Sistemdeki tüm makalelerin listesini görüntüle |
read:articles | Herhangi bir makalenin tam içeriğini oku |
create:articles | Yeni makaleler oluştur |
update:articles | Herhangi bir makaleyi değiştir |
delete:articles | Herhangi bir makaleyi sil |
publish:articles | Yayın durumu değiştir |
Bu izinlere dayanarak, CMS sistemimiz için aşağıdaki rolleri tanımladık:
İzin/Rol | 👑 Yönetici | 📝 Yayıncı | ✍️ Yazar |
---|---|---|---|
Açıklama | Tam sistem erişimi ile kapsamlı içerik yönetimi | Tüm makaleleri gör üntüleyebilir ve yayın durumunu kontrol edebilir | Sisteme yeni makaleler ekleyebilir |
list:articles | ✅ | ✅ | ❌ |
read:articles | ✅ | ✅ | ❌ |
create:articles | ✅ | ❌ | ✅ |
update:articles | ✅ | ❌ | ❌ |
delete:articles | ✅ | ❌ | ❌ |
publish:articles | ✅ | ✅ | ❌ |
Not: Yazarlar, rol izinlerinden bağımsız olarak kendi makaleleri için okuma/güncelleme/silme izinlerine otomatik olarak sahiptirler.
Bir sonraki adımda, sistemimizdeki kullanıcılara roller atayacağız (CMS demo örneğini kullanarak):
Kullanıcı | Rol |
---|---|
Alex | Yönetici |
Bob | Yayıncı |
Charlie | Yazar |
Ve Logto'da, yukarıdaki RBAC uygulamada makalesinde belirtildiği gibi kullanıcılar için roller tanımladık.
Erişim kontrol politikasını hizmet API'sine uygulayın
CMS örneğimizde kullanıcılar şu şekilde oturum açar:
Dolayısıyla, hizmet API'nize erişim kontrolü uygulamak, 9. adımda erişim jetonunu doğrulayan ve izinleri kontrol eden bir ara yazılım eklemek kadar basittir.
Temel uygulama şu şekildedir (RBAC örneği - backend adresinde tam uygulamayı kontrol edin):
Ve kimlik doğrulama gerektiren API uç noktalarına bu ara yazılımı uygulayın:
Artık CMS sistemimize erişim kontrolü ekledik ve kullanıcılarımıza roller atadık.
Kullanıcılar oturum açtıktan ve CMS API için Erişim Jetonlarını aldıktan sonra, bu jetonu kullanarak CMS API'ye erişebilirler. Erişim Jetonu, kullanıcının izin bilgilerini içerir. Bu, kullanıcı izinlerine dayanarak hangi verilerin döndürüleceğini kontrol etmemizi sağlar.
Bir sonraki adımımız, MCP Sunucusunu Kişisel Erişim Jetonlarını kullanmak için uygulamaktır.
Kişisel Erişim Jetonunun kullanıcıları nasıl temsil ettiği
Yukarıdaki CMS kimlik doğrulama akışına bakarak, kullanıcılar giriş yaptıktan sonra CMS API için bir Erişim Jetonu alır. Bu Erişim Jetonu, CMS API'ye erişimleri için kimlik bilgileri niteliğindedir.
Kullanıcıların giriş yaptıktan sonra aldığına benzer bir Erişim Jetonu almamız yeterlidir. Ardından, CMS API'sine erişmek için bunu kullanabiliriz.
Kişisel Erişim Jetonları işte burada devreye girer. Bize kullanıcıların giriş yaptıktan sonra genellikle aldığı Erişim Jetonu türünü sağlar.
Yapmamız gerekenler şunlardır:
- Bir kullanıcı için bir Kişisel Erişim Jetonu oluşturun
- Bu Kişisel Erişim Jetonunu, Kimlik Doğrulama Hizmetinin jeton uç noktası ile değişim jetonu talep etmek için kullanın. Bu, kullanıcıların giriş yaptıktan sonra aldığına benzer bir Erişim Jetonu verir
- MCP Sunucu aracımızda CMS API'ye erişmek için bu Erişim Jetonunu kullanın
Bu örnekte, kişisel erişim jetonları ve jeton değişimi desteklediği için gösterim amacıyla Logto'yu kullanıyoruz. Logto kullanmıyorsanız, kişisel erişim jetonu desteğinizi uygulamak için bu yaklaşımı takip edebilirsiniz.
Kullanıcınız için Kişisel Erişim Jetonu oluşturun
Logto Konsolu > Kullanıcı yönetimi bölümünde, kullanıcı ayrıntıları sayfasından onlar için bir Kişisel Erişim Jetonu oluşturabilirsiniz:
Bir Kişisel Erişim Jetonu oluştururken, gerekli gördüğünüz süresi kadar ayarlayabilirsiniz.
MCP sunucusunda Kişisel Erişim Jetonunu kullanma
Şimdi kullanıcının Kişisel Erişim Jetonuna sahip olduğumuza göre, bunu MCP Sunucusunda kullanabiliriz.
Öncelikle, Logto'nun Kişisel Erişim Jetonu belgelerini takip ederek, Logto'nun jeton uç noktasından CMS API'ye erişim için bir Erişim Jetonu alacağız. Tam kaynak kodunu kontrol edebilirsiniz burada.
MCP Sunucusunda, exchangeAccessToken
fonksiyonundan gelen Erişim Jetonunu CMS API'den veri almak için kullanıyoruz.
Bu şekilde, MCP Sunucusu CMS API'ye erişmek için kullanıcı giriş kimlik bilgilerine ihtiyaç duymaz. Bunun yerine, kullanıcının Kişisel Erişim Jetonunu kullanır.
Tam kodu RBAC örneği - mcp-server adresinde bulabilirsiniz。
Claude Desktop ile bu MCP Sunucusunu yerel olarak nasıl konuşlandıracağınızı öğrenmek için: MCP Sunucu dağıtım kılavuzunu kontrol edin。
Bu Sunucuyu Cursor, Cline, Windsurf gibi çeşitli AI IDE'lerine de konuşlandırabilirsiniz.
Erişim kontrolünü test et
Bu uygulamayı Claude Desktop'ta test edelim.
CMS'imizde, hem Alex hem de Charles her biri birer makale oluşturdu.
Alex, Yönetici rolüne sahip olduğundan, tüm makaleleri görebilir. Charles ise Yazar olarak sadece kendi makalelerini görebilir.
Claude'a mevcut makale sayısını sorduğumuzda, Claude get-available-article-count
aracını kullanacak ve iznimizi isteyecek:
MCP'de Alex'in Kişisel Erişim Jetonunu kullandığımızda ve Claude'a mevcut makale sayısını sorduğumuzda, Claude get-available-article-count
aracını çağırır ve bize 2 makale olduğunu söyler.
Charles'ın Kişisel Erişim Jetonuna geçip aynı soruyu tekrar sorduğumuzda, Claude bize sadece 1 makale olduğunu söyler.
Harika! Kişisel Erişim Jetonlarını kullanarak CMS API'ye erişip doğru verileri elde etmeyi başardık.
Tam da istediğimiz gibi oldu: her kullanıcı için bir Kişisel Erişim Jetonu oluşturuyoruz ve kullanıcılar kendi tokenları ile MCP Sunucusunu yapılandırdığında, onlar için kişiselleştirilmiş bir AI deneyimi yaratıyoruz.
Özet bölümünü sizin için yazmama izin verin:
Özet
Bu rehberde, AI araçlarını mevcut hizmetlerinize uygun erişim kontrolünü koruyarak nasıl bağlayacağınızı araştırdık. Bunu, RBAC uygulaması olan bir CMS sistemi kullanarak gösterdik ve Kişisel Erişim Jetonlarının (PAT) kimlik doğrulama zorluklarını nasıl zarifçe çözdüğünü gösterdik.
Bu uygulamanın tam kaynak kodunu içeren RBAC örnek deposu içinde bulabilirsiniz; CMS arka ucu, ön ucu ve MCP sunucusu uygulaması dahil.
MCP sunucunuzu kullanıcılara dağıtırken, Kişisel Erişim Jetonunu yapılandırılabilir hale getirmeyi unutmayın. Bu, her kullanıcının:
- MCP sunucusunda kendi PAT'sini yapılandırmasına
- Belirli izinlerine dayalı kaynaklara erişmesine
- Rol ve erişim seviyelerine yansıyan kişiselleştirilmiş AI deneyimleri elde etmesine olanak tanır
Bu yaklaşım, AI entegrasyonunuzun güvenli olmasını sağlarken, sisteminizdeki izinler ve rol temelinde her kullanıcı için özelleştirilmiş bir deneyim sunar.
Bu AI entegrasyon yolculuğuna çıktığınızda işinizde büyük başarılar dilerim! Hizmetlerinizin bu yeni AI yetenekleriyle gelişip büyümesi dileğiyle! 🚀