Pertanyaan yang Sering Diajukan Tentang Keamanan dan Privasi Kerangka Kerja Bot

Artikel ini menjawab pertanyaan keamanan dan privasi yang umum diajukan.

BERLAKU UNTUK: SDK v4

Apakah bot yang terdaftar di Bot Framework mengumpulkan informasi pribadi? Jika ya, bagaimana cara memastikan data aman dan aman? Bagaimana dengan privasi?

Setiap bot adalah layanannya mandiri, dan pengembang layanan ini diharuskan untuk memberikan Ketentuan Layanan dan Pernyataan Privasi sesuai Kode Etik Pengembang mereka. Untuk informasi selengkapnya, lihat panduan peninjauan bot.

Dapatkah saya menghosting bot saya di server saya sendiri?

Ya. Bot Anda dapat dihosting di mana saja di Internet. Di server Anda sendiri, di Azure, atau di pusat data lainnya. Satu-satunya persyaratan adalah bahwa bot harus mengekspos titik akhir HTTPS yang dapat diakses publik.

Bagaimana Anda melarang atau menghapus bot dari layanan?

Pengguna memiliki cara untuk melaporkan bot yang salah tingkah laku melalui kartu kontak bot di direktori. Pengembang harus mematuhi ketentuan layanan Microsoft untuk berpartisipasi dalam layanan.

URL tertentu mana yang perlu saya izinkan di firewall perusahaan saya untuk mengakses layanan Bot Framework?

Jika Anda memiliki firewall keluar yang memblokir lalu lintas dari bot Anda ke Internet, Anda harus mengizinkan DAFTAR URL berikut di firewall tersebut:

  • login.botframework.com (Autentikasi bot)
  • login.microsoftonline.com (Autentikasi bot)
  • westus.api.cognitive.microsoft.com (untuk integrasi NLP Luis.ai)
  • *.botframework.com (saluran)
  • state.botframework.com (kompatibilitas mundur)
  • login.windows.net (Log masuk Windows)
  • login.windows.com (Log masuk Windows)
  • sts.windows.net (Log masuk Windows)
  • URL lain untuk saluran Bot Framework tertentu

Catatan

Pemahaman Bahasa (LUIS) akan dihentikan pada 1 Oktober 2025. Mulai 1 April 2023, Anda tidak akan dapat membuat sumber daya LUIS baru. Versi pemahaman bahasa yang lebih baru sekarang tersedia sebagai bagian dari Bahasa Azure AI.

Pemahaman bahasa percakapan (CLU), fitur Bahasa Azure AI, adalah versi LUIS yang diperbarui. Untuk informasi selengkapnya tentang dukungan pemahaman bahasa di Bot Framework SDK, lihat Pemahaman bahasa alami.

Catatan

Anda dapat menggunakan <channel>.botframework.com jika Anda lebih suka tidak mengizinkan daftar URL dengan tanda bintang. <channel> sama dengan setiap saluran yang digunakan bot Anda seperti directline.botframework.com, , webchat.botframework.comdan slack.botframework.com. Penting juga untuk mengawasi lalu lintas melalui firewall Anda saat menguji bot untuk melihat lalu lintas apa yang diblokirnya.

Dapatkah saya memblokir semua lalu lintas ke bot saya kecuali lalu lintas dari Bot Framework Service?

Bot Framework Services dihosting di pusat data Azure di seluruh dunia dan daftar IP Azure terus berubah. Itu berarti mengizinkan daftar alamat IP tertentu dapat berfungsi satu hari dan memutus berikutnya saat Alamat IP Azure berubah.

Peran RBAC mana yang diperlukan untuk membuat dan menyebarkan bot?

Membuat bot di portal Microsoft Azure memerlukan akses Kontributor baik dalam langganan atau dalam grup sumber daya khusus. Pengguna dengan peran Kontributor dalam grup sumber daya dapat membuat bot baru di grup sumber daya tertentu tersebut. Pengguna dalam peran Kontributor untuk langganan dapat membuat bot di grup sumber daya baru atau yang sudah ada.

Menggunakan Azure CLI, pendekatan kontrol akses berbasis peran dapat mendukung peran kustom. Jika Anda ingin membuat peran kustom dengan izin yang lebih dibatasi, set di bawah ini memungkinkan pengguna untuk membuat dan menyebarkan bot yang juga mendukung LUIS, QnA Maker, dan Application Insights.

"Microsoft.Web/*",
"Microsoft.BotService/*",
"Microsoft.Storage/*",
"Microsoft.Resources/deployments/*",
"Microsoft.CognitiveServices/*",
"Microsoft.Search/searchServices/*",
"Microsoft.Insights/*",
"Microsoft.Insights/components/*"

Catatan

Azure AI QnA Maker akan dihentikan pada 31 Maret 2025. Mulai 1 Oktober 2022, Anda tidak akan dapat membuat sumber daya atau basis pengetahuan QnA Maker baru.

Pemahaman Bahasa (LUIS) akan dihentikan pada 1 Oktober 2025. Mulai 1 April 2023, Anda tidak akan dapat membuat sumber daya LUIS baru.

Versi layanan ini yang lebih baru sekarang tersedia sebagai bagian dari Bahasa Azure AI. Untuk informasi selengkapnya tentang dukungan tanya jawab dan pemahaman bahasa di Bot Framework SDK, lihat Pemahaman bahasa alami.

Catatan

LUIS dan QnA Maker memerlukan izin layanan Azure AI. QnA Maker juga memerlukan izin Pencarian. Saat membuat peran kustom, ingatlah bahwa izin tolak yang diwariskan akan menggantikan izin izin izin ini.

Apa yang membuat bot saya tetap aman dari klien yang meniru Bot Framework Service?

  1. Semua permintaan Bot Framework otentik disertai dengan token JWT yang tanda tangan kriptografinya dapat diverifikasi dengan mengikuti panduan autentikasi . Token dirancang sehingga penyerang tidak dapat meniru layanan tepercaya.
  2. Token keamanan yang menyertai setiap permintaan ke bot Anda memiliki ServiceUrl yang dikodekan di dalamnya, yang berarti bahwa bahkan jika penyerang mendapatkan akses ke token, mereka tidak dapat mengalihkan percakapan ke ServiceUrl baru. Ini diberlakukan oleh semua implementasi SDK dan didokumentasikan dalam materi referensi autentikasi kami.
  3. Jika token masuk hilang atau salah bentuk, Bot Framework SDK tidak akan menghasilkan token sebagai respons. Ini membatasi berapa banyak kerusakan yang dapat dilakukan jika bot salah dikonfigurasi.
  4. Di dalam bot, Anda dapat memeriksa ServiceUrl yang disediakan secara manual dalam token. Ini membuat bot lebih rapuh jika topologi layanan berubah, jadi meskipun ini mungkin, tidak disarankan.

Catatan

Ini adalah koneksi keluar dari bot ke Internet. Tidak ada daftar Alamat IP atau nama DNS yang akan digunakan Bot Framework Koneksi or Service untuk berbicara dengan bot. Daftar izin Alamat IP masuk tidak didukung.

Apa tujuan dari kode ajaib selama autentikasi?

Dalam kontrol Web Chat, ada dua mekanisme untuk memastikan bahwa pengguna yang tepat masuk.

  1. Kode ajaib. Pada akhir proses masuk, pengguna disajikan dengan kode 6 digit yang dihasilkan secara acak (kode ajaib). Pengguna harus mengetik kode ini dalam percakapan untuk menyelesaikan proses masuk. Ini cenderung menghasilkan pengalaman pengguna yang buruk. Selain itu, masih rentan terhadap serangan phishing. Pengguna berbahaya dapat mengelabui pengguna lain untuk masuk dan mendapatkan kode ajaib melalui phishing.

    Peringatan

    Penggunaan kode ajaib tidak digunakan lagi. Sebagai gantinya, Anda harus menggunakan autentikasi Direct Line yang disempurnakan, yang dijelaskan di bawah ini.

  2. Autentikasi Direct Line yang disempurnakan. Karena masalah dengan pendekatan kode ajaib, Azure AI Bot Service menghapus kebutuhannya. Azure AI Bot Service menjamin bahwa proses masuk hanya dapat diselesaikan dalam sesi browser yang sama dengan Web Chat itu sendiri. Untuk mengaktifkan perlindungan ini, Anda harus memulai Web Chat dengan token Direct Line yang berisi daftar asal tepercaya, juga dikenal sebagai domain tepercaya, yang dapat menghosting klien Web Chat bot. Dengan opsi autentikasi yang disempurnakan, Anda dapat menentukan daftar asal tepercaya secara statis di halaman konfigurasi Direct Line. Untuk informasi selengkapnya, lihat Autentikasi yang disempurnakan Direct Line.

Bagaimana Bot Framework menangani manajemen identitas dan akses?

Manajemen identitas dan akses (IAM), adalah kerangka kerja (kebijakan dan teknologi) untuk memungkinkan orang yang tepat memiliki akses yang tepat ke sumber daya teknologi. Untuk informasi selengkapnya, lihat Manajemen identitas.

Bot Framework menyediakan mekanisme identifikasi berikut:

  • Autentikasi bot. Menentukan apakah permintaan berasal dari sumber yang sah. Ini dikontrol oleh layanan konektor bot dan memungkinkan komunikasi yang aman antara bot dan saluran. Untuk informasi selengkapnya, lihat Autentikasi bot.

  • Autentikasi pengguna. Ini memungkinkan bot untuk mengakses sumber daya online yang aman atas nama pengguna. OAuth standar industri digunakan untuk mengautentikasi pengguna dan mengotorisasi bot untuk mengakses sumber daya. Untuk informasi selengkapnya, lihat Autentikasi pengguna.

Singkatnya, Kerangka Kerja Bot menangani autentikasi layanan ke layanan (autentikasi bot), pada dasarnya memvalidasi bahwa permintaan memang berasal dari saluran yang tepat. Bot bertanggung jawab untuk menangani tingkat autentikasi yang lebih rendah. Anda dapat menerapkan filter sehingga bot Anda hanya menerima permintaan dari ID penyewa tertentu, atau Anda dapat mengharuskan pengguna anda untuk mengautentikasi dengan beberapa layanan OAuth (autentikasi pengguna).

Bagaimana cara membatasi penggunaan bot saya hanya untuk pengguna milik penyewa saya?

Anda memiliki dua opsi berbeda untuk membatasi pesan masuk yang diproses bot Anda.

  • Jika Anda berurusan dengan data yang aman, disarankan untuk menggunakan OAuth untuk mengautentikasi pengguna.

  • Menggunakan middleware adalah opsi bagus lainnya. Di saluran Teams, misalnya, Anda dapat membuat middleware untuk mendapatkan ID penyewa dari data saluran Teams. Middleware kemudian dapat memutuskan apakah akan membiarkan aktivitas masuk berlanjut ke logika bot Anda atau mengembalikan pesan kesalahan.

    Peringatan

    Anda tidak dapat mencegah Teams mengirimi Anda pesan dari berbagai penyewa, juga tidak dapat mencegah seseorang menginstal bot Anda jika mereka memiliki manifes aplikasi Anda. Yang dapat Anda lakukan adalah mencegah bot Anda memproses pesan yang tidak diinginkan.