跳到主要内容

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 门户中验证这一点:

  1. 导航到您的 Azure OpenAI 资源
  2. 转到 访问控制 (IAM)(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 可以找到凭证

启动 Docker Compose 服务栈

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

docker compose up

UI 配置

在您的 Docker 容器运行后:

  1. 导航到 管理面板(Admin Panel)→ 连接(Connections)
  2. 点击 添加连接(Add Connection)
  3. 选择 Azure OpenAI 作为提供商(provider)
  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
This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.