跳到主要内容

Azure CLI 认证

注意

本教程来自社区贡献,并非 Open WebUI 官方支持内容。它仅作为演示,说明如何按你的具体场景自定义 Open WebUI。欢迎贡献更多内容,可查看 contributing 教程。

本指南说明如何通过 Azure CLI 和 Entra ID 认证,让 Open WebUI 对 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. 进入 Access control (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 配置目录挂载到容器内,并设置相应环境变量:

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. 前往 管理面板连接
  2. 点击 添加连接
  3. 选择 Azure OpenAI 作为提供商
  4. 选择 Entra ID 作为认证类型
  5. 配置 Azure OpenAI 终结点和部署细节
  6. 点击保存

故障排查

若你遇到认证问题,可依次检查:

  1. 确认 Azure CLI 已登录:执行 az account show
  2. 检查权限:确保已分配 Cognitive Services OpenAI User 角色
  3. 检查 volume 挂载:确认 .azure 目录已正确挂载进容器
  4. 检查环境变量:确认 AZURE_CONFIG_DIR 已设为 /app/.azure
本内容仅供参考,不构成任何保证、担保或合同承诺。Open WebUI 按“现状”提供。请参阅您的许可协议 以了解适用条款。