Kimlik doğrulama türleri
ŞUNLAR IÇIN GEÇERLIDIR: SDK v4
Bot Framework'te iki geniş kimlik doğrulama kategorisi vardır: bot kimlik doğrulaması ve kullanıcı kimlik doğrulaması. Her birinin güvenli kaynaklara erişime izin vermek için ilişkili bir belirteci vardır. Aşağıdaki şekilde hem bot hem de kullanıcı kimlik doğrulamasında yer alan öğeler gösterilmektedir.
Bu şekilde:
- Konak Platformu , bot barındırma platformudur. Azure veya seçtiğiniz herhangi bir konak platformu olabilir.
- Bot Bağlayıcı Hizmeti , bot ve kanal arasındaki iletişimi kolaylaştırır. Kanallardan alınan iletileri etkinlik nesnelerine dönüştürür ve botunun mesajlaşma uç noktasına gönderir. Benzer şekilde, bottan alınan etkinlik nesnelerini kanal tarafından anlaşılan iletilere dönüştürür ve kanala gönderir.
- Bot Bağdaştırıcısı varsayılan Bot Framework bağdaştırıcısıdır. O:
- JSON yükünü bir etkinlik nesnesine dönüştürür.
- Bir dönüş bağlamı oluşturur ve etkinlik nesnesini buna ekler.
- Varsa ara yazılımı çalıştırır.
- Dönüş bağlamını bota iletir.
Not
Özel bir kanal bağdaştırıcısı kullanıldığında, bağdaştırıcının kendisi Bot Bağlayıcı Hizmeti'nin ve varsayılan Bot Bağdaştırıcısı'nın yaptığı görevleri gerçekleştirir. Ayrıca, ilgili web kancası API'sinin kimlik doğrulama mekanizmasını sağlar. Bir örnek için bkz . Slack bağdaştırıcısını kullanarak botu Slack'e bağlama.
Bot kimlik doğrulaması
Bot, Bot'un ayarlar dosyalarında ((.NET), (JavaScript config.py
), .env
(Python)) ya da gizli dizilerde veya anahtar yöneticisinde tutulan MicrosoftAppID ve MicrosoftAppPassword tarafından tanımlanır.appsettings.json
Daha fazla bilgi için bkz . MicrosoftAppID ve MicrosoftAppPassword.
Azure portalında bir bot kaydettiğinizde, Azure bir Microsoft Entra Id kayıt uygulaması oluşturur. Bot Framework CLI kullanıyorsanız, Microsoft Entra Id kaydını oluşturmak için özellikle bir adım gerçekleştirmeniz gerekir. Bu kaydın bir uygulama kimliği (MicrosoftAppID
) ve istemci gizli dizisi (MicrosoftAppPassword
) vardır. Azure, botunun güvenli kaynaklara erişebileceği bir belirteç oluşturmak için bu değerleri kullanır.
Bir kanal bota istek gönderdiğinde, Bot Bağlayıcısı hizmeti aracılığıyla isteğin Yetkilendirme üst bilgisinde bir belirteç belirtir. Bot, belirtecin orijinalliğini doğrulayarak Bot Bağlayıcısı hizmetinden gelen çağrıların kimliğini doğrular.
Bot, Bot Bağlayıcısı hizmeti aracılığıyla bir kanala istek gönderdiğinde, isteğin Yetkilendirme üst bilgisinde belirteci belirtmesi gerekir. Tüm istekler, isteği yetkilendirmek için Bot Bağlayıcısı hizmeti tarafından doğrulanan erişim belirtecini içermelidir.
Açıklanan işlemler Bot Framework SDK'sı tarafından otomatik olarak gerçekleştirilir.
Daha fazla bilgi için, Bot Bağlayıcısı hizmetinden botunuza gelen isteklerin kimliğini doğrulama ve botunuzdan Bot Bağlayıcısı hizmetine isteklerin kimliğini doğrulama hakkında REST API belgelerine bakın.
Kanallar
Kanallar genellikle Bot Bağlayıcısı hizmeti aracılığıyla botla iletişim kurar, bu nedenle önceki kimlik doğrulama ilkeleri genel olarak geçerlidir. Bazı kanalların ve özelliklerin benzersiz kimlik doğrulaması konuları vardır.
Direct Line
Standart desteklenen kanalların yanı sıra, bir istemci uygulaması Direct Line kanalını kullanarak bir botla iletişim kurabilir.
İstemci uygulaması, Azure portalındaki Direct Line kanalı yapılandırma sayfasından alınan gizli diziyi kullanarak veya daha iyisi çalışma zamanında elde edilen bir belirteci kullanarak Doğrudan Hat'a (sürüm 3.0) yönelik isteklerin kimliğini doğrular. Gizli dizi veya belirteç her isteğin Yetkilendirme üst bilgisinde belirtilir.
Önemli
Web Sohbeti ile Azure AI Bot Hizmeti kimlik doğrulaması kullandığınızda dikkat etmeniz gereken bazı önemli güvenlik konuları vardır. Daha fazla bilgi için REST kimlik doğrulaması makalesindeki güvenlik konuları bölümüne bakın.
Daha fazla bilgi için bkz . Gizli dizinizi gizli tutma, gizli dizinizi belirteçle değiştirme ve ekleme işlemini oluşturma.
Web Sohbeti
Web Sohbeti iki uygulaması vardır: kanal ve denetim.
- Azure'a bir bot kaydettiğinizde, Web Sohbeti kanalı botun test edilmesine izin verecek şekilde otomatik olarak yapılandırılır. Daha fazla bilgi için bkz. Botu Web Sohbeti bağlama.
- İstemci uygulamasındaki bir bota erişim sağlamak için Direct Line kanalıyla Web Sohbeti denetimi kullanabilirsiniz. Denetim hakkında daha fazla bilgi için bkz. Bot Framework Web Sohbeti.
Beceriler
Beceri ve beceri tüketicisi, her biri kendi uygulama kimliği ve parolası olan iki farklı botlardır.
- Tüketici, kullanıcı etkinliklerini bir beceriye iletebilir ve becerinin yanıtlarını kullanıcıya iletebilir.
- Beceriye göre, beceri tüketicisi bir kanal görevi görür. Tüketicinin, becerinin etkinlikleri gönderdiği hizmet URL'si gibi davranan bir beceri ana bilgisayar uç noktası vardır.
- Beceriler hakkında daha fazla bilgi için bkz. Becerilere genel bakış.
Hizmet düzeyi kimlik doğrulaması Bot Bağlayıcısı hizmeti tarafından yönetilir. Çerçeve, her botun kimliğini doğrulamak için taşıyıcı belirteçleri ve bot uygulaması kimliklerini kullanır.
Önemli
Bunun için tüm botların (beceri tüketicisi ve tükettiği tüm beceriler) geçerli uygulama kimlik bilgilerine sahip olması gerekir.
Talep doğrulama
Bu temel kimlik doğrulama düzeyine ek olarak, becerinin ve beceri tüketicisinin kimlik doğrulama yapılandırmasına bir talep doğrulayıcı eklemeniz gerekir. Talepler kimlik doğrulama üst bilgisinde değerlendirilir. Bu işlem, her bota etkinlikleri kabul edeceği diğer botları kısıtlama olanağı tanır.
Örnek talep doğrulama için bkz. Beceri uygulama ve beceri tüketicisi uygulama.
Bot Framework Öykünücüsü
Bot Framework Emulator'ın kendi kimlik doğrulama akışı ve kendi belirteçleri vardır. Öykünücünün kendi kanalı ve yerleşik bir sunucusu vardır.
Kullanıcı kimlik doğrulaması
Bazen botun kullanıcı adına güvenli çevrimiçi kaynaklara erişmesi gerekir. Bunu yapmak için bot yetkilendirilmelidir. Bunun nedeni, e-postayı denetleme, uçuş durumunu denetleme veya sipariş verme gibi belirli işlemleri gerçekleştirmek için botunun Microsoft Graph, GitHub veya şirketin REST hizmeti gibi bir dış hizmeti çağırması gerekir. OAuth, kullanıcının kimliğini doğrulamak ve botu yetkilendirmek için kullanılır.
Not
Botların kullanıcının kaynaklarına erişmesi için iki makro adımı söz konusu olur.
- Kimlik Doğrulaması. Kullanıcının kimliğini doğrulama işlemi.
- Yetkilendirme. Botun kullanıcının kaynaklarına erişebildiğini doğrulama işlemi.
İlk adım başarılı olursa kullanıcının kimlik bilgilerine dayalı bir belirteç verilir. İkinci adımda bot, kullanıcının kaynaklarına erişmek için belirteci kullanır.
Daha fazla bilgi için bkz . Kullanıcı kimlik doğrulaması.
Kimlik sağlayıcıları
Kimlik sağlayıcısı, kullanıcı veya istemci kimliklerinin kimliğini doğrular ve tüketilebilir güvenlik belirteçleri verir. Hizmet olarak kullanıcı kimlik doğrulaması sağlar. Web uygulamaları gibi istemci uygulamaları, kimlik doğrulamasını güvenilir bir kimlik sağlayıcısına devreder.
Bot, aşağıdaki işlemleri yapmak için güvenilir bir kimlik sağlayıcısı kullanabilir:
- Çoklu oturum açma (SSO) özelliklerini etkinleştirerek birden çok güvenli kaynağa erişmesini sağlayın.
- Bir kullanıcı adına bulut bilişim kaynaklarına bağlanarak kullanıcıların yeniden kimlik doğrulamasına ihtiyacı azalır.
Not
Bot kimlik doğrulaması sırasında verilen belirteç, Kullanıcı kimlik doğrulaması sırasında verilen belirteçle aynı değildir. Birincisi, bir bot, kanallar ve sonuç olarak istemci uygulamaları arasında güvenli iletişim kurmak için kullanılır. İkincisi, bota kullanıcı adına güvenli kaynağa erişme yetkisi vermek için kullanılır.
Kanalların, kullanıcının kanalda oturum açmasına izin vermek için kendi ayrı kullanıcı kimlik doğrulamasını sağladığına dikkat edin.
Botların bir kullanıcı adına kaynaklara erişmek için kimlik sağlayıcılarını nasıl kullanabileceği hakkında daha fazla bilgi için bkz. Kimlik sağlayıcıları.