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:
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í¶
- Přehled bezpečnosti — Bezpečnostní architektura
- Šifrování — Kryptografické standardy
- Začínáme s API — Příklady autentizace API