Skip to main content

Azure CLI 身份验证

warning

本教程由社区贡献,不属于 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 门户中验证这一点:

  1. 导航到您的 Azure OpenAI 资源
  2. 转到 访问控制 (IAM)
  3. 检查 角色分配 (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 配置并设置适当的环境变量:

docker-compose.yml
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 可以找到这些凭据

启动 Compose 堆栈

使用以下命令启动 Docker Compose 服务:

docker compose up

UI 配置

当您的 Docker 容器运行后:

  1. 导航到 管理员面板 (Admin Panel)连接 (Connections)
  2. 点击 添加连接 (Add Connection)
  3. 选择 Azure OpenAI 作为提供商
  4. 选择 Entra ID 作为身份验证类型
  5. 配置您的 Azure OpenAI 端点和部署详情
  6. 保存连接

故障排除

如果您遇到身份验证问题:

  1. 验证 Azure CLI 登录:运行 az account show 以确认您已登录
  2. 检查权限:确保已分配 Cognitive Services OpenAI User 角色
  3. 卷挂载:验证 .azure 目录是否已正确挂载到容器中
  4. 环境变量:确认 AZURE_CONFIG_DIR 已设置为 /app/.azure