Skip to main content
CVAT Enterprise supports Single Sign-On (SSO) and LDAP integration for centralized authentication. These features are available in the Enterprise edition.

Single Sign-On (SSO)

CVAT supports SSO using both OpenID Connect (OIDC) and Security Assertion Markup Language (SAML) protocols.

Supported Identity Providers

  • Microsoft Azure (OIDC and SAML)
  • Okta (OIDC and SAML)
  • Auth0 (OIDC and SAML)
  • Keycloak (OIDC and SAML)
  • Any OIDC or SAML compliant provider

Configuration Overview

To configure SSO:
  1. Configure your Identity Provider (IdP) application
  2. Create an SSO configuration file (auth_config.yml)
  3. Set environment variables
  4. Start or restart CVAT

SSO Configuration File

Create an auth_config.yml file with your SSO settings:

OpenID Connect Example

SAML Example

SSO Settings Reference

Identity Provider Configuration

Required Fields

Optional Fields

OIDC-Specific Fields

SAML-Specific Fields

*Either metadata_url OR both x509_cert and sso_url are required.

Callback URLs

When configuring your IdP, use these callback URL patterns: OIDC Redirect URI:
SAML Assertion Consumer Service (ACS) URL:
SAML Entity ID/Metadata URL:
Replace <idp-id> with your identity provider’s id from the configuration file.

Environment Variables

Set these environment variables before starting CVAT:
Update your docker-compose.override.yml:

Starting CVAT with SSO

The login page will now display a “Continue with SSO” button.

LDAP Authentication

LDAP integration allows users to authenticate against Active Directory, FreeIPA, or other LDAP servers. Source: site/content/en/docs/administration/community/advanced/ldap.md

Prerequisites

Install the Python LDAP library in your CVAT container:
Or build a custom Docker image with this dependency.

Configuration

Create a custom Django settings file (settings.py) that imports production settings and adds LDAP configuration.

Active Directory Example

FreeIPA Example

Deploying LDAP Configuration

Update your docker-compose.override.yml:
Restart CVAT:

LDAP Group Mapping

CVAT roles are mapped to LDAP groups:
  • admin: Full administrative access
  • user: Standard annotation user
  • worker: Limited worker access
Users are assigned the highest priority role from their LDAP group memberships.

Troubleshooting LDAP

Test LDAP Connection

Enable LDAP Debug Logging

Add to your settings.py:

Common Issues

  • Connection refused: Check firewall rules and LDAP server accessibility
  • Bind failed: Verify bind DN and password
  • User not found: Check user search base DN and filter
  • No groups assigned: Verify group search configuration and group DNs

IAM Type Configuration

Set the IAM type in your Django settings:
See cvat/settings/base.py:224 for the IAM_TYPE setting.

Additional Resources

SSO Resources

LDAP Resources

Enterprise Support

For enterprise deployments requiring SSO or LDAP integration, contact CVAT.ai: Enterprise features include:
  • SSO with OIDC and SAML
  • LDAP/Active Directory integration
  • Advanced analytics
  • Priority support with 24-hour SLA
  • Training and onboarding