Azure CLI Authentication
This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.
This guide explains how to configure Open WebUI to authenticate with Azure OpenAI using Azure CLI and Entra ID authentication.
Prerequisites
- Azure CLI: Install from Microsoft Learn
- Open WebUI: Version 0.6.30 or later
- Azure Subscription: With access to Azure OpenAI resources
- RBAC Role: Your user or group must have the
Cognitive Services OpenAI User
role assigned to your Azure OpenAI instance
Authentication Steps
1. Login with Azure CLI
Run the following command to authenticate with your Azure subscription:
az login
This will open a browser window for you to log in with your Azure credentials.
2. Verify RBAC Permissions
Ensure your user account or group has been assigned the Cognitive Services OpenAI User
role for your Azure OpenAI resource. You can verify this in the Azure Portal:
- Navigate to your Azure OpenAI resource
- Go to Access control (IAM)
- Check Role assignments to confirm you have the required role
Docker Configuration
Dockerfile
Create or modify your Dockerfile to include Azure CLI:
FROM ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
RUN pip install azure-cli
CMD [ "bash", "start.sh"]
Docker Compose
Configure your docker-compose.yml
to mount the Azure CLI configuration and set the appropriate environment variable:
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 # THIS IS THE IMPORTANT BIT, FOR WINDOWS REPLACE ${HOME}/.azure with %USERPROFILE%\.azure*
depends_on:
- ollama
ports:
- ${OPEN_WEBUI_PORT-3000}:8080
environment:
- 'OLLAMA_BASE_URL=http://ollama:11434/'
- AZURE_CONFIG_DIR=/app/.azure # THIS IS THE IMPORTANT BIT*
- 'WEBUI_SECRET_KEY='
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
volumes:
ollama: {}
open-webui: {}
This configuration:
- Mounts your local Azure CLI credentials (
~/.azure
on linux, or%USERPROFILE%\.azure
on windows) into the container - Sets the
AZURE_CONFIG_DIR
environment variable so Open WebUI can locate the credentials
Start the compose stack
Start the docker compose services using:
docker compose up
UI Configuration
Once your Docker container is running:
- Navigate to Admin Panel → Connections
- Click Add Connection
- Select Azure OpenAI as the provider
- Choose Entra ID as the authentication type
- Configure your Azure OpenAI endpoint and deployment details
- Save the connection
Troubleshooting
If you encounter authentication issues:
- Verify Azure CLI login: Run
az account show
to confirm you're logged in - Check permissions: Ensure the
Cognitive Services OpenAI User
role is assigned - Volume mounting: Verify the
.azure
directory is correctly mounted in the container - Environment variable: Confirm
AZURE_CONFIG_DIR
is set to/app/.azure