Allow anonymous access to my Azure OpenAI chat bot

news2024/11/13 9:19:00

题意:允许匿名访问我的 Azure OpenAI 聊天机器人

问题背景:

I have an Azure OpenAI chat bot using my own data (I configured an OpenAI resource and chose Deploy as Web App) . Members of my domain can access it by logging in. Now I want it to be accessible anonymously or for other domains I define - whatever is easier to configure.

我有一个使用我自己数据的 Azure OpenAI 聊天机器人(我配置了一个 OpenAI 资源并选择了以 Web 应用的形式部署)。我的域内成员可以通过登录访问它。现在我希望它可以匿名访问,或者对我定义的其他域开放——以更容易配置的方式为准。

In the Azure Web App Authentication settings I could do two things:

在 Azure Web 应用的身份验证设置中,我可以做两件事:

  • Disable Authentication   禁用身份验证
  • Allow unauthenticated access   允许未认证的访问

See this screenshot:        看下面的截图

When I disable authentication or when I allow unauthenticated access I get in both cases the same error message when opening the chat bot:

当我禁用身份验证或允许未认证的访问时,在打开聊天机器人时,两种情况下都会出现相同的错误消息:

Authentication Not Configured

I also tried to allow not only my single domain but multiple account types of the Identity Provider. But when I login with a different domain I still the an error messge:

我还尝试允许不仅是我的单一域名,还包括多个身份提供者的帐户类型。但是,当我使用不同的域名登录时,我仍然看到错误消息:

AADSTS50020: User account 'myuser@otherdomain' from identity provider 'https://sts.windows.net/....../' does not exist in tenant 'MyDomain' and cannot access the application 'MyChatBot') in that tenant.

How to do it properly?        该如何正确配置?

问题解决:

Context

You have to understand that the "Deploy to Web App" button in Azure OpenAI Studio is only an accelerator for the "all-in-one" deployment of a project which is in fact open-sourced by Microsoft.

你需要了解,Azure OpenAI Studio 中的“部署到 Web 应用”按钮只是一个用于项目“一体化”部署的加速器,而该项目实际上是由微软开源的。

It's this one:         就是这个:   GitHub - microsoft/sample-app-aoai-chatGPT: Sample code for a simple web chat experience through Azure OpenAI, including Azure OpenAI On Your Data.

So the Authentication Not Configured message you are facing is implemented inside this project, here: 

所以你遇到的 “Authentication Not Configured” 错误消息是实现于该项目内部的,位置在这里:sample-app-aoai-chatGPT/frontend/src/pages/chat/Chat.tsx at af9d06b4ba153523fed366d3f8b1b19d1fc5f5e8 · microsoft/sample-app-aoai-chatGPT · GitHub

Possible solution        可能的解决方案

The README of the project explains that you can remove it if you want, here

该项目的 README 中解释了如果你想移除它,可以查看这里。

To remove this restriction, you can add AUTH_ENABLED=False to the environment variables. This will disable authentication and allow anyone to access the chat functionality of your app. This is not recommended for production apps.

As said, "This is not recommended for production apps.".

正如所说,“这不建议用于生产环境的应用程序。”

Especially as the frontend is calling itself for the conversation (POST to /conversation) so if you remove the authentication, I guess that someone could use this endpoint directly to consume your OpenAI resource which is behind (ok, they can't modify your system message etc. but it's still an issue)

特别是因为前端是通过自身调用进行对话的(POST 到 /conversation),所以如果你移除了身份验证,我猜测有人可能会直接使用这个端点来消耗你后台的 OpenAI 资源(虽然他们不能修改你的系统消息等,但这仍然是一个问题)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2147902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.5 数据库索引机制

我们往数据表里面保存数据记录越来越多,一旦达到上千万条,那怎么提高检索速度就需要认真考虑了。我们打开手机上的APP都希望能快些加载出内容,这里的因素有很多,但是如何减少数据查找的时间是其中的重要一环。索引机制就是提升数据…

【内网渗透】最保姆级的春秋云镜Privilege打靶笔记

目录 flag1 flag2 flag3 flag4 flag1 fscan扫外网 访问./www.zip拿到源码 tools/content-log.php存在任意文件读取 根据提示读到Jenkins初始管理员密码 ./tools/content-log.php?logfile../../../../../../../../../ProgramData/Jenkins/.jenkins/secrets/initialAdminP…

第十一章 【后端】商品分类管理微服务(11.5)——增强响应

11.5 增强响应 在前后端分离的开发模式下,我们一般会统一后端的响应格式,比如自定义 Response 结构,但每个开发者可能会封装各自的 Response 结构,造成不一致,因此我们需要将响应格式统一起来,定义一个统一的标准响应格式。 11.5.1 创建响应模块 新建 yumi-etms-respon…

AJAX Jquery $.get $.post $.getJSON

AJAX AJAX Asynchronous JavaScript and XML (异步的J avascript和XML)。 Ajax $.ajax <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…

【Linux进程控制】进程程序替换

目录 进程程序替换 替换函数 看现象 替换原理 多进程替换 exec*函数使用&#xff08;部分&#xff09;&#xff0c;并且认识函数参数的含义 1.execl 2.execv 3.execvp 4.execvpe execlp 和execlpe 替换函数总结 进程程序替换 替换函数 有六种以exec开头的函数&am…

AI大语言模型的全面解读

大语言模型&#xff08;Large Language Models, LLMs&#xff09;无疑是近年来最耀眼的星辰之一。他们以惊人的语言生成能力、上下文理解能力以及对复杂任务的泛化能力&#xff0c;正在深刻改变着自然语言处理&#xff08;NLP&#xff09;乃至整个AI领域的格局。 本文将从专业角…

螺栓与散装物体检测系统源码分享

螺栓与散装物体检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

代理模式-动态代理

一、代理模式 代理模式:给某一个对象提供一个代理&#xff0c;并由代理对象来控制对真实对象的访问。代理模式是一种结构型设计模式。 代理模式角色分为 3种: Subject(抽象主题角色):定义代理类和真实主题的公共对外方法&#xff0c;通常被设计成接口; RealSubject(真实主题角色…

Flutter 安装,配置,运行第一个app 1

起因&#xff0c; 目的: flutter, 其实几年前&#xff0c;我就写过。 当时纯属是个人兴趣&#xff0c;随意探索。 当时我也写了几篇笔记: 比如这一篇还有这个 flutter&#xff0c;其实不难&#xff0c;比较繁琐&#xff0c;小的知识点很多. flutter&#xff0c; 又是环境配…

如何使用 C# 解决 Cloudflare Turnstile CAPTCHA 挑战

处理 CAPTCHA 挑战的复杂性可能是一项艰巨的任务&#xff0c;尤其是在涉及 Cloudflare 的 Turnstile 时。作为一名经验丰富的开发人员&#xff0c;我多年来遇到了许多 CAPTCHA 系统&#xff0c;但 Cloudflare Turnstile 由于其旨在阻止自动化系统的复杂算法&#xff0c;提出了独…

Mac 搭建仓颉语言开发环境(Cangjie SDK)

文章目录 仓颉编程语言通用版本SDK Beta试用报名仓颉语言文档注册 GitCode登录 GitCode 下载 Cangjie SDK配置环境变量VSCode 插件VSCode 创建项目 仓颉编程语言通用版本SDK Beta试用报名 https://wj.qq.com/s2/14870499/c76f/ 仓颉语言文档 https://developer.huawei.com/c…

ad18学习笔记十七:如何正确打开别人给的工程文件

不要单独打开一个pcb文件&#xff0c;如果没有在一个工程中关联上的话&#xff0c;可能会出现无法复制粘贴焊盘的情况。一般别人给文件会给整个工程&#xff0c;要打开的话直接打开整个工程&#xff0c;那么工程里相互关联的几个文件就都可以操作了。 AD中&#xff0c;怎样把从…

Linux操作系统:GCC(GNU Compiler Collection)编译器

在 Linux 系统中&#xff0c;gcc&#xff08;GNU Compiler Collection&#xff09;是一个非常强大的编译器&#xff0c;主要用于编译 C 语言程序。 除了基本的编译和链接命令外&#xff0c;gcc还提供了许多选项和功能。 以下是一些常用的 gcc命令及其功能&#xff1a; 1. 基本…

WEB攻防-JavaWweb项目JWT身份攻击组件安全访问控制

知识点&#xff1a; 1、JavaWeb常见安全及代码逻辑&#xff1b; 2、目录遍历&身份验证&逻辑&JWT&#xff1b; 3、访问控制&安全组件&越权&三方组件&#xff1b; 演示案例&#xff1a; JavaWeb-WebGoat8靶场搭建使用 安全问题-目录遍历&身份认…

MATLAB系列09:图形句柄

MATLAB系列09&#xff1a;图形句柄 9. 图形句柄9.1 MATLAB图形系统9.2 对象句柄9.3 对象属性的检测和更改9.3.1 在创建对象时改变对象的属性9.3.2 对象创建后改变对象的属性 9.4 用 set 函数列出可能属性值9.5 自定义数据9.6 对象查找9.7 用鼠标选择对象9.8 位置和单位9.8.1 图…

Linux相关概念和重要知识点(4)(自举、vim)

1.语言和编译器的发展 &#xff08;1&#xff09;汇编语言的出现 计算机只能看懂二进制&#xff0c;但是用二进制实现一个功能就太难了&#xff0c;人们需要发明一种高效的语言。人们抽象出一套编程逻辑&#xff0c;定义了一系列操作&#xff0c;接下来就需要实现它。最初人们…

假期学习笔记总结--iOS 自动释放池

iOS 自动释放池 https://juejin.cn/post/6844904094503567368#heading-23 ARC和MRC 苹果在 iOS 5 中引入了ARC&#xff08;Automatic Reference Counting&#xff09;自动引用计数内存管理技术&#xff0c;通过LLVM编译器和Runtime协作来进行自动管理内存。LLVM编译器会在编…

Linux进阶命令-重定向

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 经过上一章Linux日志的讲解&#xff0c;我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令&am…

我的创作纪念日-20240919

何尝不是一种纪念。 话说&#xff0c;毕业之后和大学同学去深圳&#xff0c;后面回家考编制&#xff0c;现在在家里的中国邮政的代理金融网点上班。

C++:布尔类型,引用,堆区空间

1.布尔类型 #include <iostream>using namespace std;int main() {bool b13;bool b20;cout << "b1" <<b1<< endl;cout << "b2" <<b2<< endl;cout <<boolalpha<< "b1" <<b1<<…