Přeskočit obsah

Role a oprávnění (RBAC)

MazeVault řízení přístupu na základě rolí — Role, oprávnění a doménová separace

Verze dokumentu: 2.1.0
Poslední aktualizace: 2026-04-19


1. Přehled

MazeVault používá systém řízení přístupu na základě rolí (RBAC) pro správu uživatelských oprávnění. Každému uživateli je přiřazena jedna nebo více rolí, které určují, co může v systému vidět a dělat.

Klíčové principy:

  • Princip nejmenších oprávnění — Uživatelé dostávají pouze oprávnění, která potřebují
  • Doménová separace — Certificate Manager nemá přístup k secrets; Secret Manager nemá přístup k certifikátům
  • Prostředí (Environment Scoping) — Roli lze přiřadit pro jedno prostředí (dev, staging, prod), jeden projekt nebo jednu organizaci. Takové přiřazení platí jen tam, ať se uživatel přihlásí jakkoli (webové rozhraní, API token, JWT). Projekt požadavku je ten, který jmenuje jeho cesta (/projects/{id}), nebo ten, kterému patří zdroj, který jmenuje (secret, i archivovaný, certifikát, žádost o schválení nebo politika schvalování, integrace projektu, synchronizační pravidlo nebo konflikt, skupina nebo varování konzistence). project_id v dotazu nebo v JSON těle je projektem požadavku jen na cestách, které s tímto projektem pracují: čtení secretu podle projektu a klíče (GET /api/v1/secrets/, GET /api/v2/secrets), vytvoření secretu (POST /api/v1/secrets/, POST /api/v2/secrets), porovnání prostředí (POST /api/v2/secrets/compare), detekce driftu (POST /api/v1/secrets/drift/detect) a skupiny konzistence projektu (GET /api/v1/consistency-groups). Na všech ostatních cestách rozsahem není a hodnota odlišná od projektu cesty se odmítne, ať má tělo jakýkoli Content-Type: kontrola čte tělo stejně jako cesta (první JSON hodnotu, klíče v libovolné velikosti písmen), project_id nebo organization_id, které nejsou řetězcem, bere jako projekt či organizaci, kde nikdo nemá omezenou roli, a zapisující tělo nad 16 MiB odmítne kódem 413 (až po ověření, že volající oprávnění vůbec má). U PUT /api/v1/certificates/{id} a PUT /api/v1/rotation/templates/{id} pole project_id v těle zdroj přesouvá: oprávnění musí platit v jeho projektu i v cílovém projektu. Úprava synchronizačního pravidla, politiky schvalování nebo konfigurační šablony nikdy nemění jejich projekt ani organizaci a synchronizační pravidlo přijme jen integraci vlastního projektu. Přiřazení omezené na projekt se nepočítá pro požadavek bez projektu, takže správa uživatelů, rolí, organizace a jejích nastavení nebo vytváření projektů vyžaduje roli přiřazenou bez projektu. Relace webového rozhraní i požadavek s API tokenem patří do výchozí organizace. Požadavek, který jmenuje jinou organizaci (cestou /organizations/{id}, parametrem dotazu nebo polem těla organization_id), potřebuje oprávnění i v ní, takže přiřazení omezené na jednu organizaci platí jen pro tuto organizaci. Cesty, které pracují s více projekty (seznam projektů, detekce driftu přes všechny projekty, migrace více secretů na zero-knowledge, kontrola pojmenování secretů organizace), přijmou roli na libovolném projektu a pak pracují po projektech: seznam projektů ukáže jen projekty, které uživatel smí číst, a ostatní vyžadují oprávnění na každém projektu, kterého se týkají. Na stránce projektu webové rozhraní ukazuje akce, které uživatel smí v tomto projektu provést. Role zobrazená u uživatele je nejvyšší role přiřazená bez omezení; je to jen označení a sama nic neuděluje. Uživatel vytvořený při prvním přihlášení (SSO, LDAP, SAML, SPNEGO) nebo přes SCIM má všude přiřazenou výchozí roli: Viewer, nebo výchozí roli nastavenou pro SPNEGO.
  • Dvouúrovňová kontrola cloudových zdrojů — Přístup k Azure zdrojům vyžaduje SOUČASNĚ MazeVault roli A Azure RBAC oprávnění

2. Systémové role

MazeVault poskytuje následující vestavěné role:

Role Popis Doména
Viewer Pouze dashboard a systémové výstupy — žádný přístup k secrets, certifikátům nebo projektům Pouze čtení
User Standardní uživatel — může vytvářet/upravovat secrets, žádat o certifikáty, prohlížet projekty Obecné
Certificate Manager Kompletní správa životního cyklu certifikátů — BEZ přístupu k secrets Certifikáty
Secret Manager Kompletní správa životního cyklu secrets — BEZ přístupu k certifikátům Secrets
Project Admin Kompletní správa projektů včetně vytváření/mazání projektů, správa nastavení Administrace
Admin Plný přístup k systému — všechna oprávnění Systém
Auditor Přístup pouze pro čtení k audit logům, seznamům uživatelů a stavu deploymentů Compliance
Finance Přístup pouze pro čtení k fakturaci a údajům o využití Fakturace

Doménová separace

Certificate Manager a Secret Manager jsou vzájemně oddělené domény. Certificate Manager nemůže zobrazit ani spravovat secrets a Secret Manager nemůže zobrazit ani spravovat certifikáty. To zajišťuje oddělení povinností v enterprise prostředích.


3. Matice oprávnění — Navigace

Co každá role vidí v MazeVault UI:

Sekce Viewer User Cert Mgr Secret Mgr Project Admin Admin Auditor Finance
Dashboard Přehled ✅ ✅ ✅ ✅ ✅ ✅ 📖 ❌
Dashboard Certifikáty ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌
Dashboard Entra ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌
Projekty ❌ 📖 ✅ ✅ ✅ ✅ ❌ ❌
Objevené certifikáty ❌ 📖 ✅ ✅ ✅ ✅ ❌ ❌
Deployment ❌ ❌ ✅ ✅ ✅ ✅ ❌ ❌
Řízení přístupu ❌ 📖 📖 📖 ✅ ✅ 📖 ❌
Nastavení organizace ❌ ❌ ❌ ❌ ✅ ✅ ❌ ❌
Prostředí ❌ 📖 📖 📖 ✅ ✅ ❌ ❌
Využití a fakturace ❌ ❌ ❌ ❌ ❌ ✅ ❌ 📖
Archivované položky ❌ ❌ 📖 📖 ✅ ✅ ❌ ❌
Audit logy ❌ ❌ ❌ ❌ ✅ ✅ 📖 ❌
Správa KeyTab ❌ 📖 ❌ ✅ ✅ ✅ 📖 ❌
Reporty / Systémové výstupy ❌ 📖 📖 📖 ✅ ✅ 📖 ❌

📖 = Přístup pouze pro čtení


4. Matice oprávnění — Secrets

Akce Viewer User Cert Mgr Secret Mgr Project Admin Admin
Číst hodnotu secret ❌ ✅ ❌ ✅ ✅ ✅
Vytvořit secret ❌ ✅ ❌ ✅ ✅ ✅
Upravit secret ❌ ✅ ❌ ✅ ✅ ✅
Rotovat secret ❌ ✅ ❌ ✅ ✅ ✅
Archivovat secret ❌ ✅ ❌ ✅ ✅ ✅
Smazat secret ❌ ❌ ❌ ✅ ✅ ✅
Trvale smazat ❌ ❌ ❌ ❌ ❌ ✅
Import/Export ❌ ✅ ❌ ✅ ✅ ✅

5. Matice oprávnění — Certifikáty

Akce Viewer User Cert Mgr Secret Mgr Project Admin Admin
Číst certifikát ❌ ✅ ✅ ❌ ✅ ✅
Požádat o certifikát ❌ ✅ ✅ ❌ ✅ ✅
Importovat certifikát ❌ ✅ ✅ ❌ ✅ ✅
Schválit CSR ❌ ❌ ✅ ❌ ✅ ✅
Enrollovat certifikát ❌ ❌ ✅ ❌ ✅ ✅
Archivovat certifikát ❌ ❌ ✅ ❌ ✅ ✅
Revokovat certifikát ❌ ❌ ✅ ❌ ✅ ✅
Trvale smazat ❌ ❌ ❌ ❌ ❌ ✅

6. Matice oprávnění — Projekty a organizace

Akce Viewer User Cert Mgr Secret Mgr Project Admin Admin
Zobrazit projekty ❌ 📖 ✅ ✅ ✅ ✅
Vytvořit projekt ❌ ❌ ❌ ❌ ✅ ✅
Upravit projekt ❌ ❌ ❌ ❌ ✅ ✅
Archivovat projekt ❌ ❌ ❌ ❌ ✅ ✅
Smazat projekt ❌ ❌ ❌ ❌ ✅ ✅
Trvale smazat ❌ ❌ ❌ ❌ ❌ ✅
Zobrazit nastavení org. ❌ ❌ ❌ ❌ ✅ ✅
Upravit nastavení org. ❌ ❌ ❌ ❌ ❌ ✅
Spravovat uživatele/role ❌ ❌ ❌ ❌ ❌ ✅

7. Neslučitelnost rolí

Některé role mají pravidla doménové separace a redundance:

Kombinace rolí Povoleno? Důvod
Certificate Manager + Secret Manager ⚠️ Nedoporučeno Porušuje účel doménové separace
Certificate Manager + User ✅ Povoleno User přidává obecný přístup pro čtení
Secret Manager + User ✅ Povoleno User přidává obecný přístup pro čtení
Jakákoliv role + Admin ⚠️ Nedoporučeno Admin již má všechna oprávnění — další role jsou zbytečné, nepotřebné a vytvářejí složitost v audit trailech
Auditor + jakákoliv operační role ⚠️ Nedoporučeno Auditor by měl být nezávislý

Doporučení pro roli Admin

Role Admin zahrnuje všechna oprávnění v systému. Přiřazení dalších rolí vedle Admin neposkytuje žádný dodatečný přístup a není doporučeno. Komplikuje to auditování rolí a může vytvářet nejasnosti ohledně skutečného zdroje oprávnění. Pokud uživatel potřebuje Admin přístup, přiřaďte pouze roli Admin.


8. Přístup ke cloudovým zdrojům Azure — Dvouúrovňová kontrola

Když je MazeVault integrován s Azure Key Vault, přístup ke cloudovým zdrojům vyžaduje dvě současné podmínky:

  1. MazeVault RBAC — Uživatel musí mít příslušnou MazeVault roli a oprávnění
  2. Azure RBAC — Uživatel musí mít odpovídající přiřazení Azure role na Key Vaultu

Managed Identity vs přístup uživatele

Managed Identity se používá VÝHRADNĚ pro automatické operace (plánované rotace, synchronizace na pozadí). Pro VŠECHNY operace iniciované uživatelem (čtení secrets, ruční rotace, editace) se používá vlastní Azure identita uživatele prostřednictvím On-Behalf-Of (OBO) token flow. MazeVault nikdy nepoužívá Managed Identity k obcházení Azure RBAC pro uživatelské operace.

Operace Typ tokenu Vyžadované Azure RBAC
Plánovaná rotace secrets Managed Identity MI musí mít přístup ke Key Vaultu
Uživatel čte secret z KV OBO (uživatelský token) Uživatel musí mít Key Vault Secrets User
Uživatel edituje secret v KV OBO (uživatelský token) Uživatel musí mít Key Vault Secrets Officer
Agent discovery certifikátů Managed Identity MI musí mít přístup pro čtení
Admin importuje secrets z KV OBO (uživatelský token) Uživatel musí mít Key Vault Secrets Officer

9. Mapování skupin

MazeVault podporuje mapování skupin externích identity providerů na systémové role:

  • Entra ID (Azure AD) — Mapování Entra bezpečnostních skupin na MazeVault role
  • LDAP / Active Directory — Mapování LDAP skupin na MazeVault role
  • SPNEGO / Kerberos — Mapování Kerberos skupin přes LDAP fallback

Mapování skupin se spravuje v záložce Řízení přístupu → Skupiny. Každé mapování specifikuje:

  • Identifikátor externí skupiny
  • Cílovou MazeVault roli
  • Volitelný scope (organizace, projekt, prostředí): omezené mapování uděluje roli jen v tomto rozsahu

10. Vlastní role

Administrátoři mohou vytvářet vlastní role s konkrétními sadami oprávnění. Vlastní role mohou kombinovat jakákoliv dostupná oprávnění podle potřeb vaší organizace.

Dostupné kategorie oprávnění:

  • secret:read, secret:write, secret:delete, secret:archive, secret:rotate
  • certificate:read, certificate:write, certificate:revoke, certificate:approve, certificate:archive
  • project:read, project:write, project:delete, project:archive
  • rotation:read, rotation:write, rotation:execute
  • audit:read, role:read, role:write, billing:read
  • keytab:read, keytab:write, keytab:delete, keytab:admin
  • token:read, token:write, token:delete, token:admin — Správa tokenů (Enterprise funkce)
  • config:read, config:write — Správa konfigurací (Enterprise funkce)
  • report:read, report:write
  • sync:read, consistency:read, consistency:write
  • integration:read, integration:write
  • A mnoho dalších...

Kontaktujte svého MazeVault administrátora pro vytvoření vlastní role.


11. Matice oprávnění — Správa KeyTab

Od verze v1.0.38

Akce Viewer User Cert Mgr Secret Mgr Project Admin Admin Auditor
Zobrazit keytaby ❌ ✅ ❌ ✅ ✅ ✅ ✅
Importovat keytab ❌ ❌ ❌ ✅ ✅ ✅ ❌
Aktualizovat keytab ❌ ❌ ❌ ✅ ✅ ✅ ❌
Smazat keytab ❌ ❌ ❌ ✅ ✅ ✅ ❌
Spravovat šifrovací politiku ❌ ❌ ❌ ❌ ✅ ✅ ❌
Zobrazit objevené keytaby ❌ ✅ ❌ ✅ ✅ ✅ ✅
Importovat objevený keytab ❌ ❌ ❌ ✅ ✅ ✅ ❌
Zobrazit dashboard ❌ ✅ ❌ ✅ ✅ ✅ ✅

12. Matice oprávnění — Reporty

Od verze v1.0.38

Akce Viewer User Cert Mgr Secret Mgr Project Admin Admin Auditor
Zobrazit nastavení reportů ❌ ✅ ✅ ✅ ✅ ✅ ✅
Náhled reportu ❌ ✅ ✅ ✅ ✅ ✅ ✅
Spustit report ❌ ❌ ❌ ❌ ✅ ✅ ❌
Aktualizovat nastavení reportů ❌ ❌ ❌ ❌ ✅ ✅ ❌