Přeskočit obsah

Autentizace

Metody autentizace MazeVault a integrace SSO

Verze dokumentu: 1.0.0
Poslední aktualizace: 2026-02-10


1. Podporované metody autentizace

MazeVault podporuje více metod autentizace pro integraci s podnikovou identitní infrastrukturou:

Metoda Protokol Případy použití Licenční úroveň
Lokální autentizace SRP (Secure Remote Password) Samostatná nasazení Všechny
LDAP / Active Directory LDAP v3 Integrace s on-premise adresářem Enterprise+
Azure Entra ID OpenID Connect Prostředí Azure/Microsoft 365 Enterprise+
GitHub SSO OAuth 2.0 Vývojové týmy Enterprise+
GitLab SSO OAuth 2.0 Vývojové týmy Enterprise+
SAML 2.0 SAML Podnikové federace identit Custom
OAuth 2.0 Client Credentials OAuth 2.0 Komunikace služba-služba (API) Všechny
Universal Auth API Key Nástroje CLI, automatizační skripty Všechny
MazeVault Agent Auth mTLS + Bootstrap Token Komunikace agent-server Všechny
API Token Bearer Token Programatický přístup k API Všechny

2. Lokální autentizace (SRP)

MazeVault používá protokol Secure Remote Password (SRP) pro lokální autentizaci, který poskytuje zero-knowledge důkaz hesla:

  • Server nikdy neobdrží ani neuloží heslo uživatele v nešifrované podobě
  • Autentizace probíhá prostřednictvím kryptografické výzvy a odpovědi (challenge-response)
  • Odolné proti odposlechu, útokům MITM a kompromitaci serveru

Průběh autentizace

sequenceDiagram
    participant U as 🧑‍💻 Uživatel
    participant C as 🌐 Klient (Prohlížeč)
    participant S as 🖥️ MazeVault API

    rect rgb(235, 245, 251)
    Note over U,C: Zadání přihlašovacích údajů
    U->>C: Zadat přihlašovací údaje
    end

    rect rgb(232, 245, 233)
    Note over C,S: Výměna klíčů SRP
    C->>S: POST /auth/srp/init (username)
    S-->>C: Sůl + Veřejný klíč serveru (B)
    C->>C: Vypočítat veřejný klíč klienta (A) + důkaz (M1)
    C->>S: POST /auth/srp/verify (A, M1)
    end

    rect rgb(255, 248, 225)
    Note over C,S: Vzájemné ověření
    S->>S: Ověřit M1, vypočítat M2
    S-->>C: Důkaz serveru (M2) + JWT Token
    C->>C: Ověřit M2
    end

    Note over C,S: ✅ Vzájemná autentizace dokončena

3. Integrace SSO

Azure Entra ID (OpenID Connect)

Konfigurační parametry vyžadované od vašeho tenanta Azure:

Parametr Popis
Tenant ID Identifikátor tenanta Azure AD
Client ID ID klienta registrace aplikace
Client Secret Tajný klíč registrace aplikace
Redirect URI Callback URL nakonfigurovaná v MazeVault

Podporované funkce:

  • Single Sign-On a Single Log-Out
  • Automatické vytváření uživatelů při prvním přihlášení
  • Mapování skupin na role
  • Kompatibilita s politikami podmíněného přístupu

LDAP / Active Directory

Parametr Popis
Server URL Adresa LDAP serveru (doporučeno ldaps://)
Bind DN Distinguished name servisního účtu
Search Base Základní DN pro vyhledávání uživatelů
User Filter LDAP filtr pro vyhledávání uživatelů
Group Search Base Základní DN pro vyhledávání skupin (volitelné)
TLS Vyžadováno pro produkci (LDAPS nebo StartTLS)

4. Vícefaktorová autentizace (MFA)

MazeVault podporuje vícefaktorovou autentizaci založenou na TOTP:

  • Kompatibilní s Google Authenticator, Microsoft Authenticator, Authy a dalšími TOTP aplikacemi
  • Registrace prostřednictvím QR kódu
  • Záložní přístupové kódy (recovery codes)
  • MFA lze vynutit na úrovni organizace (všichni uživatelé) nebo podle role

Matice vynucení MFA

Konfigurace Popis
Zakázáno MFA volitelné pro všechny uživatele
Volitelné Uživatelé si mohou MFA sami aktivovat
Povinné pro administrátory Povinné pro role administrátorů
Povinné pro všechny Povinné pro všechny uživatele

5. Správa relací

Parametr Výchozí hodnota Konfigurovatelné
Délka relace 24 hodin
Časový limit nečinnosti 30 minut
Max. souběžných relací Neomezeno
Úložiště relací Redis (šifrované)
Zabezpečení cookies Secure; HttpOnly; SameSite=Strict

Struktura tokenů

MazeVault používá JWT (JSON Web Tokens) pro správu autentizovaných relací:

  • Algoritmus: RS256 (RSA s SHA-256)
  • Životnost tokenu: Konfigurovatelná (výchozí 24 hodin)
  • Obnovení: Automatické obnovení tokenu před vypršením
  • Odvolání: Okamžité odvolání prostřednictvím blokového seznamu podporovaného Redis
  • Claimy: ID uživatele, organizace, role, oprávnění, přístup k projektům

6. Autentizace API

OAuth 2.0 Client Credentials

Pro integrace služba-služba:

POST /api/v1/auth/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=<your-client-id>
&client_secret=<your-client-secret>

Universal Auth (API Key)

Pro nástroje CLI a automatizaci:

POST /api/v1/auth/universal
Content-Type: application/json

{
  "client_id": "<your-client-id>",
  "client_secret": "<your-client-secret>"
}

Použití Bearer tokenu

Všechny autentizované API požadavky používají získaný token:

GET /api/v1/secrets
Authorization: Bearer <access-token>

7. Autentizace agentů

Agenti MazeVault používají dvoufázový autentizační postup — nejprve bootstrap, poté certifikát:

sequenceDiagram
    participant A as 🤖 Agent
    participant S as 🖥️ MazeVault API

    rect rgb(235, 245, 251)
    Note over A,S: 🔑 Počáteční registrace
    A->>S: POST /agents/register (bootstrap_token)
    S-->>A: ID agenta + Klientský certifikát
    end

    rect rgb(232, 245, 233)
    Note over A,S: 🔒 Průběžná komunikace (mTLS)
    A->>S: mTLS spojení (klientský certifikát)
    S->>S: Validovat certifikát + extrahovat ID agenta
    S-->>A: Autorizovaná odpověď
    end

Související