Azure CLI 身份验证
注意
本教程由社区贡献,Open WebUI 团队不提供官方支持。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。
本指南介绍了如何配置 Open WebUI,以使用 Azure CLI 和 Entra ID 身份验证与 Azure OpenAI 进行身份验证。
前提条件
- Azure CLI:可从 Microsoft Learn 安装
- Open WebUI:0.6.30 或更高版本
- Azure 订阅:具有访问 Azure OpenAI 资源的权限
- RBAC 角色:您的用户或组必须被分配了您 Azure OpenAI 实例的
Cognitive Services OpenAI User角色
身份验证步骤
1. 使用 Azure CLI 登录
运行以下命令以向您的 Azure 订阅进行身份验证:
az login这将打开一个浏览器窗口,供您使用 Azure 凭证进行登录。
2. 验证 RBAC 权限
确保您的用户帐户或组已被分配了您的 Azure OpenAI 资源的 Cognitive Services OpenAI User 角色。您可以在 Azure 门户中验证这一点:
- 导航到您的 Azure OpenAI 资源
- 转到 访问控制 (IAM)(Access control (IAM))
- 检查 角色分配(Role assignments)以确认您拥有所需的角色
Docker 配置
Dockerfile
创建或修改您的 Dockerfile 以包含 Azure CLI:
Dockerfile
FROM --platform=$BUILDPLATFORM ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
RUN pip install azure-cli
CMD [ "bash", "start.sh"]
Docker Compose
配置您的 docker-compose.yml 以挂载 Azure CLI 配置并设置相应的环境变量:
services:
ollama:
volumes:
- ollama:/root/.ollama
container_name: ollama
pull_policy: always
tty: true
restart: unless-stopped
image: ollama/ollama:${OLLAMA_DOCKER_TAG-latest}
open-webui:
build:
context: .
args:
OLLAMA_BASE_URL: '/ollama'
dockerfile: Dockerfile
container_name: open-webui
volumes:
- open-webui:/app/backend/data
- ${HOME}/.azure:/app/.azure # 这是重要部分,对于 WINDOWS,请将 ${HOME}/.azure 替换为 %USERPROFILE%\.azure*
depends_on:
- ollama
ports:
- ${OPEN_WEBUI_PORT-3000}:8080
environment:
- 'OLLAMA_BASE_URL=http://ollama:11434/'
- AZURE_CONFIG_DIR=/app/.azure # 这是重要部分*
- 'WEBUI_SECRET_KEY='
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
volumes:
ollama: {}
open-webui: {}该配置:
- 将您的本地 Azure CLI 凭证(Linux 上为
~/.azure,Windows 上为%USERPROFILE%\.azure)挂载到容器中 - 设置
AZURE_CONFIG_DIR环境变量,以便 Open WebUI 可以找到凭证
启动 Docker Compose 服务栈
使用以下命令启动 Docker Compose 服务:
docker compose upUI 配置
在您的 Docker 容器运行后:
- 导航到 管理面板(Admin Panel)→ 连接(Connections)
- 点击 添加连接(Add Connection)
- 选择 Azure OpenAI 作为提供商(provider)
- 选择 Entra ID 作为身份验证类型
- 配置您的 Azure OpenAI 终结点和部署详细信息
- 保存连接
故障排除
如果您遇到身份验证问题:
- 验证 Azure CLI 登录:运行
az account show以确认您已登录 - 检查权限:确保已分配
Cognitive Services OpenAI User角色 - 挂载卷:验证
.azure目录是否正确挂载在容器中 - 环境变量:确认
AZURE_CONFIG_DIR已设置为/app/.azure