Přeskočit obsah

Poznámky k verzím

Historie verzí platformy MazeVault

Verze dokumentu: 1.0.60 Poslední aktualizace: 2026-08-09


Verze 1.0.60

Datum vydání: 2026-07-20

Nové funkce

  • Správa tokenů — externí API tokeny s povinným sledováním expirace a nasazením přes agenta — Nová Enterprise funkce (licence PoC nebo Enterprise, feature token_management) pro správu externě vydaných API tokenů — například tokenů Jira nebo Signi — které lze obnovit pouze ručně v GUI zdrojového systému. Každý token se ukládá s povinným datem expirace a volitelným per-token předstihem upozornění (výchozí 30 dní); MazeVault před vypršením vyvolá incident token_expiry přes stávající notifikační kanály (e-mail, webhook, Teams, Slack, Jira, SMSEagle) a po vypršení jej eskaluje na critical. Hodnoty tokenů jsou ve standardním režimu šifrované at-rest (AES-256-GCM), nebo se v režimu Orchestrator offloadují do nakonfigurovaného externího správce tajemství (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault). Token lze volitelně navázat na projekt a nasadit na stejné typy cílů jako tajemství, přičemž se znovupoužívají sdílené doručovací exekutory MazeVault: konfigurační soubor na serveru spravovaný agentem (JSON/YAML/ENV klíč→hodnota, s volitelným povoleným post-install příkazem), Kubernetes secret, secret v Azure Key Vault nebo secret v AWS Secrets Manager (zápis do Windows registrů / IIS je záměrně odložen). Ruční akce obnovit zaznamená nově získanou hodnotu a nové datum expirace, uzavře otevřený incident expirace a znovu nasadí cíle označené pro sync-při-obnově. Správa tokenů je záměrně oddělená od projektové Správy klíčů (projektová tajemství) i od System Keys v nastavení organizace (infrastrukturní klíče MazeVault) a nachází se pod novou navigační skupinou Enterprise Functions. Přístup řídí nová oprávnění token:read / token:write / token:delete / token:admin — nasazení a obnova vyžadují token:write (admin je implikuje), zobrazení uložené hodnoty tokenu vyžaduje token:admin. Funkce je plně spravovatelná přes nový Terraform resource mazevault_token a datový zdroj mazevault_tokens.
  • Dopad na upgrade (Správa tokenů) — Přidává dvě idempotentní migrace: 000193_token_management (vytvoří tabulky managed_tokens a token_deployment_targets, naseeduje oprávnění token:* do stávajících rolí — org_admin plně; operator read/write/delete; user a auditor pouze read) a 000194_token_target_types (zobecní token_deployment_targets o target_type / integration_id / config, takže doručení tokenu znovupoužívá sdílené exekutory secret/certifikátů). Nepřidávají se žádné nové proměnné prostředí, hodnoty Helm ani změny formátu release balíčku — funkce znovupoužívá stávající infrastrukturu šifrování, offloadu tajemství, notifikací/incidentů, doručovacích rotačních kroků a licencování. Kontrola zdraví databáze nyní ověřuje obě nové tabulky. Terraform provider získává aditivní resource mazevault_token a datový zdroj mazevault_tokens; žádný stávající resource, datový zdroj, API endpoint ani kontrakt Go SDK se nemění ani neodebírá. Endpointy jsou chráněné feature token_management (PoC a Enterprise); bez ní API /api/v1/tokens vrací HTTP 403 a UI zobrazí upgrade banner.

Vylepšení

  • Admin dávkové řešení na dedikovaných stránkách problémů rotace a synchronizace — Systémový administrátor nyní může vybrat jednotlivé řádky nebo všechny aktuálně viditelné řádky na stránce Rotation Problems a v každé sekci stránky Synchronization Problems. Frontend záměrně opakuje existující auditované single-item akce s nejvýše třemi souběžnými požadavky, zobrazuje průběh i částečná selhání a po dokončení znovu načte dotčené seznamy; nevzniká žádná neauditovaná bulk mutační cesta. Selhání rotace se acknowledgeují a dostupný navázaný otevřený incident se uzavře. Sync failures a blocked-seed incidenty se acknowledgeují ve vlastních sekcích, zatímco pending sync konflikty lze dávkově pouze ignorovat, což změní lokální stav konfliktu bez zápisu kterékoli hodnoty do externího provideru. „Vše viditelné“ je záměrně omezené aktuální stránkou a každé potvrzení uvádí přesný počet dotčených položek. Jednotlivé remediation akce zůstávají dostupné neadmin operátorům se stávajícími write oprávněními; dávkové ovládání vidí pouze systémový administrátor.
  • HSM/KMS backend HashiCorp Vault Transitmazevault_hsm_device nyní podporuje provider_type = hashicorp_vault postavený na engine HashiCorp Vault Transit. Dříve validace hodnotu přijala, ale instanciace selhávala s unsupported HSM provider: hashicorp_vault, protože implementace neexistovala. Klíče Vault Transit generuje a drží Vault (RSA-2048/3072/4096, ECDSA P-256/P-384/P-521); podpis probíhá vzdáleně přes endpoint Transit sign, takže privátní klíčový materiál nikdy neopustí Vault. Implementován je test připojení zařízení, výpis klíčů, získání veřejného klíče, vzdálený podpis (používaný podpisem interní CA a dalšími operacemi směrovanými přes HSM) i mazání klíčů. Konfigurace přijímá vault_url, token a volitelný mount_path (výchozí transit). Wrapping klíč-šifrujícího-klíče (KEK) i nadále obsluhuje samostatné systémové HSM rozhraní a je mimo rozsah tohoto provideru.
  • Certifikátové šablony přizpůsobené providerovi pro externí komerční CA — Formulář certifikátové šablony se nyní přizpůsobuje schopnostem providera vybraného vydávajícího CA účtu, místo jednoho pevného sadu polí pro každou autoritu. Každá externí CA má jiné API a model vydávání, takže formulář řídí schopnosti deklarované providerem (vystavené na GET /ca-providers/{type}/schema): provideri s produktovým katalogem (SSLMarket, DigiCert) nabízejí certifikátový produkt jako dropdown ze synchronizovaného katalogu CA — typ certifikátu se odvodí z vybraného produktu a volné pole external template OID se skryje; provideri vyžadující doménovou validaci nabízejí na šabloně metodu doménové validace (email / dns / file), uloženou jako dcv_method (migrace 000191); ACME issuery dál zobrazují ACME challenge policy; interní CA ani jedno. SSLMarket provider nyní odvozuje product_code z navázaného CA produktu šablony (s fallbackem na volný kód a poté výchozí hodnotu účtu) a respektuje per-template metodu validace; DigiCert rovněž preferuje per-template metodu. Nový volitelný argument dcv_method je dostupný na Terraform resource mazevault_certificate_template. Stávající šablony nejsou dotčené: nový sloupec je nullable a prázdná hodnota znamená „použij výchozí providera/účtu".

Opravy chyb

  • Terraformem spravované tokeny mají platný a state-safe životní cyklus — Resource mazevault_token používal rezervované root jméno atributu provider, kvůli čemuž Terraform validace schématu resource odmítla. Štítek je nyní dostupný jako token_provider a verzovaný state upgrader zachová hodnoty existujícího stavu. Čtení a mazání tokenů nyní považuje HTTP 404 za nepřítomný resource, ale zachová stav při chybě autorizace, transportu nebo serveru. Prázdná odpověď description / project_id už nenechá ve stavu starou neprázdnou hodnotu. Nové tokeny mohou použít Terraform 1.11+ value_wo s value_wo_version, takže plaintext není v plánu ani stavu; legacy value zůstává podporované, ale je výslovně dokumentované jako stateful. Import nyní podporuje správu pouze metadat. Migrace existujícího resource z value na value_wo není automatická, protože replacement změní ID tokenu a kaskádově smaže jeho deployment cíle.
  • Rotation Failure Triage zobrazuje skutečný počet otevřených problémů a průběžnou frontu deseti položek — Widget Overview dříve zobrazoval počet incidentů ve výchozí dvacetipoložkové stránce API jako celkovou hodnotu, takže tenant s více než 20 otevřenými selháními rotace vždy viděl nesprávný počet. Widget nyní používá autoritativní total z existující paginované odpovědi incidentů, pro zobrazení načítá pouze deset nejnovějších nevyřešených rotation-failure incidentů a po každém jednotlivém uzavření znovu načte první stránku, takže se fronta okamžitě doplní dalším nevyřešeným incidentem. Zavádějící page-local badge High/Critical byl odstraněn. Overview záměrně zůstává povrchem pro jednotlivé řešení bez výběru nebo dávkového uzavření.
  • Metrika „Missing in PROD“ na Secrets Dashboardu nyní správně odráží cross-environment paritu — KPI dlaždice na Secrets Dashboardu dříve označená Missing in PROD ve skutečnosti nikdy nekontrolovala produkční prostředí ani organizační nastavení is_production. Počítá secret klíče, které existují alespoň v jednom aktivním (porovnávaném) prostředí, ale chybí v jiném aktivním prostředí — jde o signál cross-environment parity, který vyžaduje aspoň dvě aktivní prostředí. Na instancích bez produkčního prostředí (například testovací tenant pouze s development, integration, migration a testing) to vedlo k matoucí nenulové hodnotě „Missing in PROD“. Dlaždice je nyní označená Missing (Cross-Env) jak v přehledu Secrets Dashboardu, tak v pohledu Reports, čímž odpovídá tabulce Missing Secrets (Cross-Environment) pod ní. Podkladový cross-environment výpočet zůstává beze změny — opraveno bylo pouze zavádějící pojmenování a popisek.
  • Události custody klíčů v Orchestrator Mode se spolehlivě ukládají — V Orchestrator Mode se při offloadu privátního klíče (například certifikátového klíče odeslaného do Azure Key Vaultu) zaznamenávala custody audit událost, jejíž hodnota metadata byla prázdný řetězec. Protože key_custody_events.metadata je sloupec typu PostgreSQL JSONB, insert selhal s invalid input syntax for type json (SQLSTATE 22P02) a custody záznam se ztratil — pouze se zalogovalo varování — přestože samotný offload klíče proběhl úspěšně. Custody události nyní vždy ukládají syntakticky validní JSON: nenastavená nebo prázdná hodnota metadata se na hranici zápisu normalizuje na prázdný JSON objekt ({}), takže každý offload, načtení i smazání klíče vytvoří trvalý custody audit záznam. Volající, kteří už předávají strukturovaná metadata, nejsou dotčeni. Health check databáze nově validuje i sloupce key_custody_events.
  • Vydávání certifikátů přes SSLMarket opraveno na reálné SSLmarket API — Vydání certifikátu přes SSLMarket CA účet selhávalo s API request failed with status 400: {"error":["No route found"]} na standardních i Orchestrator Mode instancích. SSLMarket provider byl implementovaný proti REST tvaru, který neodpovídá zveřejněnému SSLmarket API. Provider nyní cílí na skutečné endpointy a payloady: objednávky se odesílají na POST /order/certificate/{product_code} s plochým tělem objednávky (doména, SANs, roky, CSR, povinné dv_auth_method a pole owner/authorized-contact/technical-contact/invoice, která se při nekonfigurování doplní z defaultů SSLmarket účtu); detail objednávky, stažení certifikátu (podle order id a formátu), tokeny doménové validace (DCV) a revokace nyní používají správné cesty; resolvování produktu čte reálný katalog {"products":[…]}; a odpovědi se parsují podle skutečných JSON tvarů API (stringové identifikátory, pole dns_names a stavy objednávky paid/requested). Autentizace (X-Auth-Token) a base URL byly už dříve správné a zůstávají beze změny. Vydávání certifikátů i asynchronní poller objednávek externí CA nyní proti SSLMarketu doběhnou.
  • Audit události push secretů (Orchestrator a Sync) už neselhávají na porušení cizího klíče — V Orchestrator Mode se při pushi secretu do externího provideru (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault) zaznamenávala audit událost SECRET_PUSH_CREATE / SECRET_PUSH_UPDATE, jejíž user_id bylo omylem nastaveno na ID projektu místo uživatele. Protože audit_events.user_id má cizí klíč na users(id), insert selhal s violates foreign key constraint "audit_events_user_id_fkey" (SQLSTATE 23503) a audit záznam se ztratil, přestože samotný externí push proběhl úspěšně — externí secret se tak rozešel s auditní stopou. Audit události push secretů i sync-seedu se nyní přiřazují iniciujícímu uživateli (a u systémem iniciovaných synchronizací vyřešenému systémovému aktérovi), takže se ukládají správně. Jako obrana do hloubky nově zapisovač auditu garantuje i trvanlivost: pokud by se jakákoli audit událost nepodařila uložit kvůli chybné referenci aktéra, je jednou zopakována s prázdným (nepřiřaditelným) aktérem místo zahození; a jen pokud je databáze zcela nedostupná, je celá událost vyemitována do centrálního strukturovaného logu jako poslední záchrana. Původní lokální soubor emergency logu (/var/log/mazevault/emergency_audit.log), nepoužitelný na read-only souborových systémech kontejnerů v Kubernetes, byl odstraněn. Nová metrika mazevault_audit_persist_failures_total umožňuje alertování jakékoli takové poslední záchrany.
  • Merkle integritní cache nyní sleduje změny secretů — Inkrementální Merkle integritní cache znala pouze slovník událostí certifikátů/keytabů (create / update / delete) a tiše ignorovala události secret služby v minulém čase (created / updated / deleted), logovala merkle cache updater: unknown event type a nechávala integritní cache secretů po každé změně zastaralou. Aktualizátor cache nyní přijímá obě formy, takže operace create/update/delete nad secrety správně aktualizují Merkle integritní strom.
  • Zálohy rotace jsou nyní šifrované a podporují automatický rollback — Rotační orchestrátor byl spouštěn bez zapojeného encryptoru, takže pre-rotační zálohy degradovaly na neobnovitelné odkazy na verzi a logovaly rotation backup requested but encryptor not configured — rollback will be limited. Automatický rollback selhané rotace tak nebyl k dispozici. Orchestrátor nyní při startu dostává systémový encryptor, takže se pre-rotační stav ukládá jako šifrovaná záloha a automatický rollback je obnoven. Zálohy externích names_only secretů se i nadále spoléhají na vlastní historii verzí externího provideru, stejně jako dříve.
  • Entra ID integrace přijímají workload-identity (AKS) pro background autentizaci — Konfigurace Entra ID integrace (používané pro rotaci secretů app registrací a synchronizaci Microsoft Graphu) s background_auth_method=workload_identity byla odmítnuta s unsupported background_auth_method, přestože Microsoft Graph klient i sdílená Azure credential factory federovanou workload identity na AKS už podporují. Tři samostatné validační brány — vytvoření/úprava integrace, test připojení a runtime kontrola konzistence používaná při rotaci — hodnotu ve výchozím stavu odmítaly, takže integraci nešlo vytvořit, nebo při vynucení selhala později při rotaci s configuration is inconsistent. Všechny tři brány nyní workload_identity přijímají; ta — stejně jako managed_identity — nevyžaduje v konfiguraci integrace žádné statické přihlašovací údaje: na workload-identity clusteru runtime provede federovanou výměnu tokenu pro nakonfigurované (nebo webhookem injektované) client ID managed identity. To odemyká rotaci Entra credentials na AKS workload-identity clusterech bez dedikované client-secret app registrace.
  • Krok rotace Spring Actuator Refresh už nepadá na chybné konfiguraci — Post-rotační krok spring_actuator používal nekontrolované typové asertace na actuator_url a na položkách volitelného seznamu endpoints, takže špatný konfigurační klíč (například url místo actuator_url) nebo ne-stringová položka způsobily pád workeru místo srozumitelné chyby. Krok nyní vstup validuje defenzivně a vrací strukturovanou chybu, a refresh URL sestavuje bezpečně tak, aby základní URL, koncové lomítko nebo URL, které už končí na /actuator nebo /actuator/refresh, nikdy nevytvořilo zdvojenou cestu.
  • Post-rotační doručení secretu do Key Vaultu a dalších cílů nyní dostane vyrotovanou hodnotu — Post-rotační doručovací akce (push do Azure Key Vaultu, AWS/GCP/OCI secret manager, DevOps proměnné) vyžadují čerstvě vyrotovanou hodnotu secretu, ale fáze post-rotačních akcí sestavovala kontext, který ji vynechával, takže doručovací akce logovala new_password not found in input context a zápis tiše přeskočila. Vyrotovaná hodnota se záměrně nikdy neukládá, proto se nyní řeší až v době provedení z právě aktualizovaného MazeVault secretu — shodně, ať akce běží na primary nebo je delegována na gateway (hodnotu si načte provádějící runtime a nikdy se nepřenáší v payloadu gateway úlohy). Doručení u rotací Entra credentials i nadále probíhá přes dedikované seedované doručovací workflow. Jako zpevnění se předchozí hodnota z Key Vaultu zachycená pro rollback nyní z uloženého záznamu post-akce redaguje, takže se do historie rotace nezapisuje žádný citlivý materiál.
  • Azure Managed HSM / Key Vault HSM zařízení lze nyní otestovat a používat — Instanciace zařízení azure_managed_hsm (pro test připojení i pro jakékoli podepisování CA, offload klíčů, rotaci klíčů či šifrování secretů skrz něj směrované) selhávala s CredentialFactory is required for AzureKVProvider, protože HSM device služba vytvářela Azure provider bez credential factory. Azure credential factory je nyní do HSM device služby injektována a protažena do factory provideru, takže Azure Managed HSM zařízení se inicializují se skutečným Azure credentialem.
  • Ruční synchronizace secret-manager integrace už neodmítá nekanonické hodnoty typu — Spuštění ruční synchronizace na secret-manager integraci mohlo selhat s sync not supported for integration type: secret-manager, pokud uložený typ integrace používal pomlčku místo kanonické formy s podtržítkem. Typy integrací se nyní při vytvoření kanonizují (malá písmena, ořez, pomlčky na podtržítka) a guard ruční synchronizace porovnává proti kanonické formě, takže secret-manager a secret_manager jsou brány shodně. Migrace 000192 normalizuje případné stávající nekanonické hodnoty project_integrations.type, aby exact-match kontroly (ruční sync, sync rules, key offload) zůstaly konzistentní.
  • Pull/obousměrná sync pravidla vyžadují cílové prostředí předem — Vytvoření pull nebo obousměrného sync pravidla bez target_environment bylo přijato, ale později při provedení selhalo hluboko v kanonizéru prostředí s environment slug is empty. Vytvoření sync pravidla nyní vyžaduje a kanonizuje target_environment pro každé pravidlo, které není čistý push (push pravidla odvozují prostředí ze zdrojového secretu), a vrací srozumitelnou validační chybu místo matoucího runtime selhání.
  • Vydávání ACME certifikátů nyní dokončí finalizaci (Let's Encrypt / ACME CA) — Report z v1.0.59 popisoval, že vydávání přes ACME projde validací dns-01, ale selže při finalize s chybou POST-as-GET requests must have an empty payload / must have a nil body; to bylo end-to-end reprodukováno proti lokálnímu Pebble serveru. Nalezeny a opraveny dva defekty. Zaprvé MazeVault odesílal CSR na URL objednávky (order.URI) místo na dedikovanou finalize URL objednávky (order.FinalizeURL); protože URL objednávky je read-only POST-as-GET zdroj, odeslání těla CSR tam CA odmítla. Zadruhé poté, co CSR dorazil na správný finalize endpoint, některé RFC 8555-kompatibilní servery (včetně Pebble) nevrací na finalize odpovědi hlavičku Location, takže interní post-finalize poll v ACME klientovi mířil na prázdnou URL a selhal, přestože CSR byl přijat; vydávání se nyní zotaví dotázáním známé URL objednávky a stažením vydaného certifikátu. End-to-end vydávání dns-01 přes finalize je ověřeno reprodukčním testem proti Pebble (build tag acme_pebble).
  • Dopad upgradu — Verze 1.0.60 je oprava pojmenování a popisku bez databázových migrací, environment proměnných, Helm values nebo změny formátu release balíčku. V endpointu přehledu secretů dashboardu (GET /api/v1/dashboard/secrets/overview) se pole odpovědi missing_in_prod přejmenovává na missing_cross_env. Jde o interní pole dashboardu, které konzumuje pouze frontend MazeVaultu; není součástí Go SDK ani Terraform provideru, takže žádný integrační kontrakt není dotčen. Logika cross-environment parity a výpis chybějících secretů zůstávají funkčně beze změny.
  • Dopad upgradu (Orchestrator custody a SSLMarket) — Oprava ukládání custody klíčů v Orchestrator Mode a oprava SSLMarket provideru jsou pouze backendové změny bez databázových migrací, environment proměnných, Helm values nebo změny formátu release balíčku. Pro vydávání přes SSLMarket musí integrace CA účtu nastavit správný product_code (SSLmarket účet může nabízet produkty — například trial certifikáty — které nevrací API katalog produktů, a proto se musí nakonfigurovat explicitně) a, pokud účet nemá výchozí firemní data, nastavení owner/contact/invoice vyžadovaná zvoleným produktem. dv_auth_method má při nekonfigurování výchozí hodnotu Email.
  • Dopad upgradu (šablony přizpůsobené providerovi) — Funkce certifikátových šablon přizpůsobených providerovi přidává jeden nullable sloupec přes migraci 000191 (certificate_templates.dcv_method) a jedno runtime-počítané pole (template_form) v odpovědi GET /ca-providers/{type}/schema; obojí je aditivní a zpětně kompatibilní. Žádné environment proměnné, Helm values ani změny formátu release balíčku. Terraform resource mazevault_certificate_template získává volitelný argument dcv_method; stávající konfigurace fungují beze změny.
  • Dopad upgradu (Audit, Merkle a rotace) — Oprava přiřazení aktéra u auditu push secretů, zpevnění trvanlivosti auditu, oprava Merkle integritní cache a oprava šifrování záloh rotace jsou pouze backendové změny spolehlivosti bez databázových migrací, environment proměnných, Helm values nebo změny formátu release balíčku. Přidává se jedna aditivní Prometheus metrika mazevault_audit_persist_failures_total; žádná stávající metrika, API endpoint, Go SDK ani kontrakt Terraform provideru se nemění. Lokální fallback /var/log/mazevault/emergency_audit.log byl odstraněn ve prospěch centrálního strukturovaného logu, takže poslední záchranný audit sink nyní funguje i na read-only souborových systémech kontejnerů.
  • Dopad upgradu (Entra WI, doručení rotace, HSM a validace sync) — Tyto opravy přidávají jednu idempotentní datovou migraci 000192_canonicalize_integration_type, která normalizuje stávající hodnoty project_integrations.type na kanonickou formu s malými písmeny a podtržítky; je pouze datová a zpětně kompatibilní. Žádné nové environment proměnné, Helm values ani změny formátu release balíčku. background_auth_method=workload_identity je nyní přijímaná hodnota pro Entra integrace (včetně API povrchu mazevault_integration) a pull/obousměrná sync pravidla nyní vyžadují target_environment při vytvoření. Žádný stávající API endpoint, Go SDK ani kontrakt Terraform provideru se neodstraňuje ani nepřejmenovává.
  • Dopad upgradu (Vault HSM a ACME finalize) — HashiCorp Vault Transit HSM provider a oprava ACME finalize jsou pouze backendové bez databázových migrací, environment proměnných, Helm values nebo změny formátu release balíčku. Provider hashicorp_vault pro HSM zařízení je aditivní; žádná stávající konfigurace HSM zařízení se nemění. Oprava ACME finalize opravuje pouze tok vydávání certifikátů; žádný API endpoint, Go SDK ani schéma Terraform provideru se nepřidává, neodstraňuje ani nepřejmenovává. Reprodukční test proti Pebble je za build tagem acme_pebble a v běžném CI neběží.
  • Dopad upgradu (UX řešení problémů) — Pravdivý počet v Rotation Failure Triage a administrátorské dávkové workflow jsou pouze frontendové změny. Znovupoužívají existující metadata paginace incidentů a stávající single-item mutační endpointy, oprávnění i auditní události. Nejsou potřeba žádné databázové migrace, změny API nebo Swagger kontraktu, nová RBAC oprávnění, environment proměnné, Helm values, změny release balíčku, Go SDK ani Terraform provideru.

Bezpečnost a aktualizace závislostí

  • Odstraněny Trivy CRITICAL/HIGH zranitelnosti závislostí napříč všemi moduly — Trivy filesystem sken v dev pipeline (CRITICAL,HIGH, --ignore-unfixed) selhával na opravených, ale zastaralých závislostech. Všechny dotčené balíčky byly povýšeny na opravené verze a ověřeny přes go build, go vet, unit testy modulů a govulncheck (0 dosažitelných zranitelností), plus build frontendu a kompletní Vitest sada:
    • Go — golang.org/x/text 0.37.0 → 0.39.0 (CVE-2026-56852 / GO-2026-5970, nekonečná smyčka v norm.Iter) v backend, cli, k8s-operator a terraform-provider-mazevault.
    • Go — google.golang.org/grpc 1.79.3 / 1.80.0 → 1.82.1 (GHSA-hrxh-6v49-42gf / GO-2026-6061, xDS RBAC a HTTP/2 transport) v backend a terraform-provider-mazevault.
    • Go — software.sslmate.com/src/go-pkcs12 0.7.0 → 0.7.2 (GO-2026-5052) v backend a agent; tuto dosažitelnou zranitelnost odhalil govulncheck, přestože ji Trivy kvůli severity filtru nehlásil.
    • Frontend — axios 1.16.0 → 1.19.0 (GHSA-gcfj-64vw-6mp9 a související advisories).
  • React Router povýšen na v8 (major) — Frontend byl migrován z react-router-dom 7.17.0 na react-router 8.3.0, což řeší CVE-2026-55685 a GHSA-qwww-vcr4-c8h2. React Router v8 ruší samostatný balíček react-router-dom; všechny importy byly přesunuty na react-router (aplikace je deklarativní SPA používající BrowserRouter, takže vstupní bod react-router/dom není potřeba). react a react-dom byly zvednuty na minimum 19.2.7.
  • Dopad upgradu (Bezpečnost a závislosti) — Jde pouze o změny závislostí a build-time: žádné databázové migrace, environment proměnné, Helm values ani změny formátu release balíčku a žádné změny kontraktu API, Go SDK nebo Terraform provideru. Build frontendu nyní vyžaduje Node ≥ 22.22 (deklarováno novým polem engines v frontend/package.json); CI joby frontendu i Docker image frontendu už běží na Node 24. Povýšení React Router na v8 je interní frontend migrace bez změny aplikačních rout nebo chování; kompletní sada frontend unit testů prochází beze změny.

Verze 1.0.59

Datum vydání: 2026-07-18

Vylepšení

  • Pohledy rotace secretů se po dokončení na pozadí tiše aktualizují — Záložka Secrets nyní používá existující per-secret poller stavu rotace jako detektor události. Když rotace secretu na pozadí doběhne do koncového stavu, MazeVault načte pouze dotčený secret přes GET /api/v1/secrets/{id} a aktualizuje viditelné číslo verze bez reloadu celé tabulky secretů. Pokud je pro daný secret otevřený modal Version History nebo Rotation Configuration, modal si na místě znovu načte seznam verzí nebo historii exekucí. Nepřibývá žádný globální polling, toast, zvýraznění ani refresh celé stránky.
  • Samostatné řízení přístupu pro řešení synchronizačních problémů — Synchronizační problémy nyní používají oddělenou permission hranici sync:read / sync:write místo implicitního navázání akčních tlačítek na project:write. Role project_admin, certificate_manager a secret_manager mohou synchronizační problémy aktivně řešit, zatímco auditor a běžní uživatelé zůstávají v read-only režimu. Navigace i stránka Synchronization Problems tak odpovídají skutečnému oprávnění uživatele.
  • Akce pro sync failures a blocked seed incidenty jsou dostupné přímo z problémového pohledu — Globální stránka Synchronization Problems i projektová záložka sync konfliktů nově nabízí potvrzované akce pro retry, ignorování konfliktu, acknowledgement aktuálního sync failure fingerprintu a acknowledgement incidentu typu sync_seed_blocked. Badge v levé navigaci počítá souhrnný sync_problem_count, tedy konflikty, aktuální sync failures i blocked seed incidenty.
  • Dismissals synchronizačních problémů škálují jedním dávkovým dotazem — Výpis sync failures nyní vyhodnocuje acknowledged fingerprinty aktuálních selhání jedním dávkovým dotazem místo samostatného lookupu pro každé selhané sync pravidlo. Zachovává se dosavadní fingerprint semantika podle pravidla, času a chyby i chování soft-delete, ale pohled Synchronization Problems zůstává svižný i při větším počtu selhaných pravidel.
  • Export certifikátů spolehlivěji obsahuje issuer CA chain — Export certifikátu nyní normalizuje uložené certificate bundle a podle potřeby dohledá hierarchii vydávající interní CA přes parent CA záznamy. PEM/CRT a PKCS#7 exporty obsahují leaf certifikát následovaný issuer chainem, zatímco DER zůstává jako dříve leaf-only.
  • Readiness obnovy certifikátů rozumí interním CA účtům — Eligibility obnovy, rotation preflight i metadata rotačních resources nyní resolveují interní organizační CA účty přes jejich podkladovou CertificateAuthority. Obnovy podepisované interní CA reportují CA účet i skutečnou signing CA, stejně jako runtime renewal cesta.
  • Domain validation pro externí CA je viditelná a durable — Objednávky externích CA DigiCert a SSLMarket nyní zpřístupňují DCV instrukce přes zaregistrované endpointy renewal queue DCV a projektovou tabulku certifikátů. Certifikáty s čekajícím ověřením domény zobrazují akci View Domain Validation, která otevře existující DCV status panel, kde operátor vidí DNS/HTTP/email instrukce a může spustit provider re-check přímo z certificate workflow.
  • Nové certificate requesty přes externí CA mohou čekat na validaci providera — Vydání přes externí CA už nepředpokládá, že SignCSR okamžitě vrátí PEM certifikát. Pokud provider vrátí jen order ID, MazeVault uloží pending certificate placeholder, propojí ho s requestem, založí durable submitted_to_ca queue item a nechá external CA order poller request dokončit, jakmile provider certifikát zpřístupní.
  • CA account provider settings se persistují a dají spravovat Terraformem — Create/update/sync toky CA účtů nyní zachovávají ne-tajné provider settings jako DigiCert organization_id, server_platform_id, dcv_method, certificate_dcv_scope, vlastní base_url a SSLMarket defaulty v metadatech účtu. Terraform resource mazevault_ca_account přidává mapu settings pro tyto ne-tajné hodnoty a API klíče nebo ACME EAB materiál dál drží ve write-only credentials.
  • Terraform secrety podporují write-only hodnoty pro ephemeral hesla — Resource mazevault_secret nyní podporuje value_wo a value_wo_version pro write-only vstupy v Terraform 1.11+. Operátoři mohou vytvořit heslo pomocí ephemeral Terraform resource, například ephemeral "random_password", a předat ho do MazeVaultu bez uložení plaintextu do Terraform plánu nebo stavu. value_wo_version je uložený trigger pro opětovné odeslání: navyšte ho, když má Terraform poslat novou write-only hodnotu. Starší argument value zůstává podporovaný pro existující konfigurace a server-side generate zůstává dostupný pro secrety generované MazeVaultem.
  • API pro update secretu a Go SDK podporují metadata-only updatePUT /api/v1/secrets/{id} nyní bere value jako volitelné pole: vynechání aktualizuje pouze metadata a TTL, zatímco dodaná neprázdná hodnota dál vytváří novou verzi secretu. Go SDK zachovává stávající metodu UpdateSecret(id, value, ...) a přidává request-based update cestu, která umí value záměrně vynechat. Terraform provider ji používá pro životní cyklus write-only secretů.

Opravy chyb

  • Synchronization Problems už nezůstávají bez akčních ikon pro oprávněné role — Uživatelé, kteří mohli problémy vidět přes sync:read, dříve často neměli žádnou možnost je vyřešit, protože mutace byly svázané s project:write. Nové endpointy pro acknowledge sync failure a blocked seed incidentu jsou chráněné sync:write, auditované a záměrně omezené jen na synchronizační problémový povrch.
  • Ignorování sync konfliktu už nevyžaduje zápis do externího provideru — Resolution ignore nyní pouze uzavře lokální sync_conflicts řádek stavem ignored a nezapisuje do cílového secret manageru. To umožňuje trvale odložit známý konflikt bez rizika nechtěné změny externí hodnoty.
  • Acknowledgement sync failure je stabilní jen pro aktuální selhání — Sync failures odvozené ze sync_rules.last_sync_status se ukládají jako dismissal podle fingerprintu složeného z pravidla, času posledního syncu a chyby. Pokud další běh selže jinak, problém se znovu zobrazí; acknowledgment tedy nezakrývá nové nebo změněné selhání.
  • Editace konfigurace rotace už neukazuje falešné varování o částečném načtení — Modal konfigurace rotace secretu nyní adresuje historii rotací a readiness přes kanonické ID rotačního resource (rotation_configs.id / resource.resource_id) místo ID secretu. Tím se opravuje zavádějící hláška „Some rotation sections could not be loaded. Available data is shown." při otevření Secrets → Rotations → Edit pro nakonfigurovaný secret.
  • Rollback verze secretu spolehlivě funguje nad existující historií verzí — Rollback secretu nyní ukládá archivované řádky historie s vygenerovaným primárním klíčem, zachovává původní čas verze místo času archivace a metadata rollbacku aktualizuje přes modelovou serializační cestu. Frontend navíc zobrazuje backend message / error detail jako error notifikaci místo obecné odpovědi „Rollback Failed".
  • Legacy řádky historie secretů s chybějícím UUID jsou opraveny — Migrace 000189_fix_secret_version_null_uuid doplňuje validní UUID do legacy řádků secret_versions, které měly chybějící nebo nulové ID, a model SecretVersion nyní před vložením vygeneruje ID, pokud chybí. Tím se předchází kolizím primárního klíče a selháním rollbacku v prostředích, která už dotčené historické řádky obsahují.
  • Manuální rotace secretu už ve stagingu nevytváří duplicitní lokální verze — Krok pre_rotation_sync nyní před lokálním zápisem porovnává externí hodnotu s aktuální hodnotou secretu. Pokud jsou hodnoty shodné, krok hodnotu uloží jen jako kontext pro další kroky rotace a nezvýší verzi secretu. Tím se odstraňuje staging symptom, kdy jedna manuální rotace vytvořila dvě nové verze a matoucí mezilehlou systémovou verzi.
  • Historie verzí nyní zobrazuje správného autora u aktuální verze — Řádek aktuální (aktivní) verze v modalu Version History zobrazoval původního autora secretu místo aktéra, který secret naposledy změnil. Servisní vrstva nyní odvozuje autora aktuální verze z nejnovějšího archivovaného záznamu historie, který nese aktéra poslední změny — stejně jako všechny ostatní historické řádky. Automatické rotace spuštěné schedulerem se nadále zobrazují jako System; manuální triggery ukazují uživatele, který rotaci inicioval.
  • Pole certificate chain už neduplikují leaf certifikát — Issuance, import, renewal, ACME completion i dokončení objednávek u externích CA nyní normalizují certificate PEM data na hranici zápisu. CertificatePEM zůstává aktuální certifikát, ChainPEM ukládá pouze issuer certifikáty a PublicChainPEM ukládá celý bundle leaf-plus-chain. Existující kontaminovaná chain data se při exportu defenzivně normalizují.
  • ACME issuance ukládá leaf a chain odděleně — ACME issuance nyní rozděluje certifikáty vrácené objednávkou na leaf-only certificate data a normalizovaný issuer chain. Tím se zabrání tomu, aby se plný ACME bundle ukládal dvakrát nebo byl interpretován současně jako aktuální certifikát i chain.
  • ACME bridge finalizace validuje CSR identifikátory a persistuje async ADCS certifikáty — MazeVault ACME server nyní odmítá finalize CSR, jehož DNS/IP identifikátory nejsou součástí ACME objednávky, konzistentně používá RFC 8555 certificate URL path a vytvoří sledovaný Certificate záznam, když ADCS-backed ACME objednávka doběhne po schválení CA managerem.
  • External CA polling správně řeší DCV, pending objednávky i stahování certifikátů — External CA order poller nyní počítá jako dokončenou práci pouze skutečně vyřešené objednávky, fetchuje a ukládá DCV tokeny, když provider vyžaduje validaci, stahuje certificate bundle pro DigiCert a SSLMarket před finalizací a request-originated objednávky dokončuje atomicky napříč záznamy certifikátu, queue, requestu a přiřazení agenta.
  • DCV retry už předčasně neresumuje expirované challenge — Operátorský DCV retry před znovunačtením provider instrukcí resetuje expirované nebo stale challenge, bezpečně funguje i bez audit service v testovacím/background kontextu a nechá queue item ve stavu pending_dcv, pokud stále existují expirované tokeny, místo aby nesprávně pokračoval ke stažení certifikátu.
  • ADCS DCOM odpovědi přijímají numerické i textové stavy — Backend DCOM parser nyní přijímá legacy numerické ADCS disposition kódy i agent odpovědi jako pending, issued nebo denied, takže zachovává dosavadní chování a zároveň umožňuje bezpečně sjednotit agent/backend kontrakt.
  • Obnovené certifikáty zachovávají podkladovou interní signing CA — Renewaly přes interní organizační CA účet nyní zachovávají ID podkladové CertificateAuthority na obnoveném certifikátu a zároveň dál podepisují přes nakonfigurovaný CA account provider. Renewaly přes externí CA účty interní CA pole nadále nevyplňují.
  • Audit approval continuation obsahuje rotační kontext — Automatické pokračování rotace po approval nyní zapisuje audit události s projektem rotačního intentu a iniciátorem, pokud je dostupný. Zlepšuje to dohledatelnost bez změny idempotence continuation toku nebo vynucení approval.
  • Inference HSM algoritmu u interní CA je krytá regresními testy — Interní CA HSM signer nyní používá čistší type switch pro inference RSA, RSA-PSS a ECDSA algoritmů a testy pokrývají očekávané JWA mapování.
  • Terraform update write-only secretů už při změně metadat znovu neposílá ani nerotuje hodnotu — Metadata nebo TTL update Terraformem spravovaného mazevault_secret, který používá value_wo, nyní volá backend bez plaintext hodnoty, pokud se nezmění value_wo_version. MazeVault proto při metadata-only apply zachová existující secret material, historii verzí, offload stav, stav externího provideru i propagaci. Explicitně prázdné hodnoty secretu jsou odmítnuty místo toho, aby se zaměnily za vynechané hodnoty.
  • Terraform CA account provider typy se validují konzistentně — Terraform resource mazevault_ca_account nyní odmítá prázdné, whitespace-only, mixed-case a nepodporované hodnoty provider_type ještě před voláním backend API. Akceptované kanonické hodnoty jsou sladěné s backend CA account resolvery, které se umí skutečně připojit, včetně internal, SSLMarket aliasu rapidssl a venafi; placeholder integrace I.CA/PostSignum a PSD2 zůstávají vyřazené, dokud backend nezačne hlásit connectable stav. Venafi account-backed provider resolution je nově zapojený v obou servisních cestách CA účtů, takže dokumentované Venafi CA účty už neselhávají v organization CA-account resolveru. Stávající dokumentované konfigurace s lowercase hodnotami fungují beze změny.

Poznámky k migraci

  • Migrace 000189_fix_secret_version_null_uuid opravuje neplatné hodnoty secret_versions.id tak, že chybějící nebo nulové UUID nahradí nově vygenerovanými UUID. Jde pouze o opravu dat a nemění veřejné API kontrakty.
  • Migrace 000190_sync_problem_actions přidává permission sync:write do oprávněných systémových rolí a vytváří tabulku sync_problem_dismissals pro trvalé acknowledgement aktuálních sync failure fingerprintů. Migrace je idempotentní a nemění konfigurační schéma ani environment proměnné.

Poznámky

  • Dopad upgradu — Verze 1.0.59 obsahuje dvě databázové migrace: 000189_fix_secret_version_null_uuid pro opravu legacy UUID v historii verzí secretů a 000190_sync_problem_actions pro sync remediation oprávnění a per-fingerprint dismissal tabulku. Přibývají sync-specific API endpointy pro acknowledgement aktuálních sync failures a blocked seed incidentů; nevyžadují nové environment proměnné ani změny formátu release balíčku. Terraform write-only hodnoty secretů vyžadují Terraform 1.11+, pokud se value_wo používá s ephemeral vstupy; existující konfigurace s value a generate fungují dál. Update secretu nyní přijímá metadata/TTL-only požadavky bez vytvoření nové verze, což je rozšíření kompatibility API. Refresh pohledů rotace secretů je frontend-only změna a oprava zobrazení autora v historii verzí je backend servisní změna bez konfiguračního dopadu. Změny certificate chainu, exportu, ACME, external CA DCV, async issuance nových requestů, CA account settings, renewalu, auditu approval continuation, HSM, SDK a Terraform provideru nepřidávají žádné další migrace, environment proměnné, Helm values ani změnu formátu release balíčku. Terraform validace CA account provider typů nyní odmítá neplatné hodnoty dříve; dokumentované lowercase konfigurace provider_type fungují dál. CertificateRequest.status může nově vracet submitted_to_ca, pokud request přes externí CA čeká na DCV/provider issuance, a nové renewal queue DCV endpointy používají existující certificate RBAC permissions.

Verze 1.0.58

Datum vydání: 2026-07-16

Nové funkce

  • ACME challenge policy na šablonách certifikátů — Šablony certifikátů nyní obsahují pole challenge_type (auto, dns-01, http-01, tls-alpn-01, výchozí auto), které řídí způsob ACME validace, pokud je vydávající CA účet ACME provider (Let's Encrypt, ZeroSSL, vlastní ACME). Politika se vynucuje při vydávání: dns-01 vyžaduje nakonfigurovaný DNS solver a bez něj rychle selže, http-01 odmítne wildcard identifikátory (které ACME přes HTTP neumí ověřit) a tls-alpn-01 vrací jasnou chybu „nepodporováno“ místo tichého fallbacku. auto zachovává původní chování (wildcard → DNS-01 při dostupném solveru, jinak HTTP-01). Pole je dostupné v průvodci certifikátů v Project Templates, v detailu šablony a přes Terraform provider (mazevault_certificate_template.challenge_type). U neACME vydavatelů (interní CA, DigiCert, ADCS, …) se ignoruje.
  • ACME atributy v Terraform provideru — Resource mazevault_ca_account nyní podporuje ACME pole email, directory_url, eab_kid a eab_hmac_key (HMAC klíč je označen jako citlivý/write-only). Mapují se do šifrovaného úložiště credentials na backendu a umožňují Terraformem spravované účty Let's Encrypt, ZeroSSL a vlastní/EAB ACME. Stávající atributy api_key/base_url zůstávají pro API-style providery. Provider nyní posílá backend-kompatibilní kontrakt credentials/display_name místo dřívějšího generického config, a write-only credentials se při čtení zachovávají (žádný falešný drift).

Vylepšení

  • Jedna interní CA — ucelený životní cyklus a správa — Interní certifikační autorita organizace se nyní spravuje jako jediný prvotřídní objekt v Organization Settings → Project Settings → Certificate Authorities → Internal Certificate Authority. Nové endpointy interní CA vyhledají, inicializují a opraví (GET/POST /organizations/{id}/internal-ca, POST /organizations/{id}/ca-accounts/{accountId}/initialize-ca) a vytvoření druhého interního rootu je odmítnuto (guard jedné CA). UI nabízí akci Initialize Internal CA (common name, velikost klíče, platnost) a opravnou akci Initialize CA pro interní účty dříve vytvořené bez klíčového materiálu. OCSP/CRL URL jsou editovatelné a regenerace CRL je dostupná přímo z karty interní CA. Agenti nadále beze změny distribuují certifikát CA do trust store serverů.
  • „Add CA Account“ je nyní pouze pro externí CA — Tok Add CA Account už nenabízí volbu Internal (která dříve vytvořila nefunkční „prázdný“ účet bez klíčového materiálu). Správa interní CA je výhradně v sekci Internal Certificate Authority. Interní CA je vyfiltrována z karet externích CA účtů, aby se nezobrazovala dvakrát, přičemž zůstává plně vybíratelná všude jinde (projektové integrace, vazba CA v šablonách, ACME/EAB dialogy).
  • Striktní enforcement renewal: Template + CA povinný — Pipeline pro obnovu certifikátů nyní vyžaduje, aby každý certifikát měl přiřazený TemplateID a aby přiřazená šablona měla nastavený CAAccountID. Certifikáty bez šablony nebo se šablonou bez CA účtu jsou odmítnuty s jasnou chybovou zprávou na vstupu do pipeline. Toto odstraňuje předchozí víceúrovňový fallback řetězec pro vyhledání CA (cert-level CA, project overrides, výchozí internal CA) a stanovuje template.CAAccountID jako jediný zdroj pravdy pro výběr CA při obnově.

Opravy chyb

  • Interní CA se už nehlásí jako „nenalezena“, když existuje — Záložka Certificate Authorities dříve pro zobrazení interních CA procházela CA vázané na projekty, takže org-level interní CA (bez vazby na projekt) byla neviditelná a sekce vždy ukazovala „No internal CAs found“. Sekce nyní vyhledá interní CA přes vazbu interního CA účtu organizace a správně ji zobrazí včetně OCSP/CRL konfigurace.
  • OCSP/CRL konfigurace se ukládá i pro org-level interní CA — Editace OCSP/CRL URL interní CA nyní používá endpoint na úrovni CA (PUT /ca/{id}) místo project-scoped cesty, která neuměla adresovat org-level CA (project_id = NULL). OCSP zůstává záměrně jen pro interní CA — externí CA (DigiCert, Let's Encrypt, ZeroSSL) nadále inzerují vlastní OCSP/CRL respondery přes vložené AIA/CDP ukazatele.
  • Dopad na integrace při mazání nyní ignoruje soft-deleted secrety — Raw SQL agregace za affectedSecretCount a collectOrphanedSecretIDs filtrovaly pouze archived_at IS NULL a ignorovaly GORM soft-delete (deleted_at). To mohlo nafouknout hlášený počet „celkem dotčených“ / osiřelých secretů oproti všem ostatním cestám, které se na secrets dotazují přes GORM (a deleted_at IS NULL doplní automaticky). Oba raw dotazy nyní filtrují i deleted_at IS NULL, čímž se obnovuje jednotná a konzistentní množina secretů napříč výsledkem mazání, endpointem dopadu mazání, audit logem i rozpadem podle prostředí.
  • Rotace odloženého secretu už nehlásí refresh, který neproběhlmarkDelayedSecretReauthorizing nastavoval v metadatech exekuce refresh_performed=true ještě před samotným voláním re-autorizace, takže pád nebo chyba před AuthorizeRotationConfigPublish uložily zavádějící refresh_performed=true, i když žádný refresh neproběhl. Placeholder nyní zapisuje refresh_performed=false; příznak se nastaví na true pouze na úspěšné cestě re-autorizace. Sémantika „nanejvýš jednou“ zůstává beze změny — loop guard se opírá o refresh_attempted + refresh_generation.

Odstranění

  • ProjectCAOverride odstraněn — Tabulka project_ca_overrides a veškerý přidružený kód (model, handlery, servisní metoda findProjectCAOverride) byly odstraněny. Tato funkce nebyla nikdy zpřístupněna přes API router (routes nebyly registrovány) a tabulka byla v produkci vždy prázdná. Renewal orchestrator nyní vyhledává CA výhradně ze šablony. Migrace 000188 odstraňuje tabulku.
  • buildTemplateFromCert odstraněn — Syntetický fallback pro certifikáty bez šablony byl odstraněn. Certifikáty musí mít přiřazenou řádnou šablonu, než je lze obnovit.

Údržba

  • Odstraněno mrtvé PKI UI — Tři osiřelé, nedosažitelné frontend komponenty byly smazány po ověření, že nedojde ke ztrátě funkce: CAManagementTab (jeho funkce Initialize CA / HSM / CRL nahrazuje sekce Internal Certificate Authority) a CertificateTemplatesTab + CertificateTemplateModal (nahrazeno variable-driven tokem certifikátů v Project Templates, který pokrývá subject DN a SAN přes proměnné šablony). Živý CertificateTemplateViewModal (používaný záložkou Templates v projektu) je zachován.
  • Opraven komentář v hlavičce migrace 000188 — Komentář v hlavičce 000188_drop_project_ca_overrides.up.sql chybně odkazoval na „Migration 000187“; nyní správně uvádí „000188“. Bez funkční změny.

Poznámky k migraci

  • Migrace 000188_drop_project_ca_overrides odstraňuje tabulku project_ca_overrides. Jedná se o nedestruktivní změnu, protože tabulka nikdy nebyla naplněna aplikací (API routes nebyly nikdy zaregistrovány).
  • Certifikáty bez TemplateID, které se dříve spoléhaly na fallback na interní CA, budou nyní v dashboardu rotací vykazovat stav „no template assigned" a nemohou se automaticky obnovovat, dokud jim nebude přiřazena šablona.

Poznámky

  • Dopad upgradu — Verze 1.0.58 přidává dvě databázové migrace: 000182_add_challenge_type_to_certificate_templates (přidává do certificate_templates sloupec challenge_type VARCHAR(20) DEFAULT 'auto' s CHECK omezením) a 000188_drop_project_ca_overrides (odstraňuje vždy prázdnou tabulku project_ca_overrides). Obě migrace jsou idempotentní a zpětně kompatibilní; existující šablony defaultují na auto a stávající chování ACME vydávání se nemění. Žádné změny konfiguračního schématu.
  • Terraform provider — Stávající konfigurace mazevault_ca_account fungují dál; nové ACME atributy jsou volitelné. mazevault_certificate_template získává volitelný atribut challenge_type s výchozí hodnotou. Interní CA se záměrně nespravuje přes Terraform — spravuje se v UI MazeVault.

Verze 1.0.57

Datum vydání: 2026-07-07

Opravy chyb

  • Synchronizační kroky rotace (pre/post_rotation_sync) nyní používají managed identity místo zastaralých credentials z konfigurace — Když kroky pre_rotation_sync nebo post_rotation_sync orchestrátoru rotace rozpoznávaly Azure credentials přes getAzureCredentialFromConfig, funkce automaticky detekovala pole client_secret ze zašifrovaného konfiguračního blobu integrace, i když byla integrace nakonfigurována s background_auth_method=managed_identity. To způsobovalo chyby AADSTS7000215 (neplatný client secret) během synchronizačních kroků rotace, zatímco identické připojení ke Key Vaultu úspěšně procházelo během nesouvisejících synchronizačních cest. Credential helper nyní preferuje systémovou managed identity, pokud je auth_method prázdný a systém má nakonfigurovanou MI, čímž zabraňuje zachycení zastaralých SSO app credentials. Navíc vrstva delegování přes gateway již neblokuje delegaci pouze kvůli přítomnosti managed identity a delegované synchronizační kroky nyní nesou snapshot secret_metadata, takže gateway-prováděné synchronizační kroky mohou rozpoznat cílový klíč secretu bez nutnosti přímého databázového dotazu.
  • Delegování přes gateway již není blokováno přítomností managed identitycanDelegateEnvironment() dříve bezpodmínečně vracelo false, pokud credential factory hlásila dostupnost managed identity, čímž bránilo jakémukoliv delegování synchronizace Azure KV na gateway v prostředích s nakonfigurovanou MI. Tato brána byla odstraněna; delegování přes gateway nyní závisí výhradně na párování prostředí a dostupnosti gateway, což umožňuje správné delegování synchronizačních operací autentizovaných přes MI.
  • Rotace v orchestrator mode již neprovádí duplicitní zápis do Key Vault — V orchestrator mode (storage_mode=names_only) krok mazevault_secret dříve volal SecretService.Update, který interně posílal novou hodnotu do externího trezoru přes PushSecretToEnvironment. Protože post_rotation_sync zasílá tutéž hodnotu do trezoru také, každá rotace produkovala nadbytečný duplicitní zápis. Krok nyní v orchestrator mode volá pouze BumpVersion() (lokální inkrementace čítače verze) a jedinou externí zápis přenechává kroku post_rotation_sync.
  • Compensate kroku mazevault_secret v orchestrator mode již neselhává na prázdném EncryptedValue — Když rotační sága prováděla rollback kroku mazevault_secret v orchestrator mode, Compensate() se pokoušel dešifrovat EncryptedValue předchozí verze, které je pro secrety names_only vždy NULL/prázdné. To způsobovalo falešné stavy „partially_rolled_back". Cesta kompenzace nyní pro orchestrator-mode secrety ihned vrací nil — rollback hodnoty v externím trezoru zajišťuje PostRotationSyncStep.Compensate, který má per-integration snapshot před přepsáním.
  • Pre-rotation sync již v orchestrator mode neprovádí zbytečný round-trip hodnoty zpět do Key Vault — Když pre_rotation_sync detekoval novější hodnotu v Azure Key Vault, volal UpdateSecret, který v orchestrator mode posílal tutéž hodnotu rovnou zpět do trezoru (redundantní síťové volání). V orchestrator mode krok nyní zachytí hodnotu z KV jako kontext previous_value pro následující kroky bez spouštění zápisu do lokální DB nebo externího pushe.
  • Discovery report agenta tiše nezapisoval aktualizaci metadatProcessDiscoveryReport() ukládal nalezené certifikáty do databáze, ale nikdy neaktualizoval metadata samotného agenta (last_discovery_at, discovered_certificates_count). Po úspěšném discovery běhu zůstal řádek agenta zastaralý, takže operátoři nemohli z dashboardu zjistit, zda agent kdy provedl discovery ani kolik certifikátů nalezl. Transakce nyní končí atomickým count dotazem a aktualizací řádku agenta, takže statistiky na dashboardu odrážejí realitu ihned po každém reportu.
  • Verze agenta se neukládala z health heartbeatuUpdateHealth() ukládal celý health payload do JSONB sloupce health_status a obnovoval last_seen, ale nikdy neextrahoval řetězec agent_version do jeho dedikovaného sloupce. Agenti hlásící svou verzi přes heartbeat se v UI zobrazovali jako verze-neznámá. Handler nyní kopíruje agent_version z health mapy do modelu agenta před uložením.
  • Prázdný dropdown prostředí v dialogu Bind Agent — Dialog „Bind Agent" na záložce Project Integrations načítal data prostředí z GET /projects/:id/environment-settings (který vrací ProjectEnvironmentSetting[] s polem environment), ale vykresloval seznam s očekáváním objektů Environment[] (s poli slug a name). Protože se názvy polí neshodovaly, každá položka dropdownu se zobrazovala prázdná. Dialog nyní načítá z GET /organizations/:orgId/environments, který vrací správný tvar Environment[], a dropdown se tak správně naplní.

Verze 1.0.56

Datum vydání: 2026-07-01

Vylepšení

  • Rozšířené bezpečnostní gate v release pipeline — Vývojová CI pipeline nyní skenuje všechny dodávané image včetně docs a init-certs a release pipeline nově skenuje i docs a při nálezech Trivy se závažností CRITICAL/HIGH release ukončí chybou místo pasivního reportingu. Uzavírá se tím slepé místo, kdy pomocné image mohly projít do vydání s neopravenými zranitelnostmi, i když backend, frontend a ocsp byly čisté.
  • Sjednocení base image a lokálního runtimeinit-certs se nyní v lokálním docker-compose builduje ze stejného připnutého Dockerfile.init-certs místo ad-hoc bootstrapu nad alpine:latest. Image init-certs přešla na Alpine 3.21 s upgradem balíčků během buildu a runtime stage docs image nyní před zabalením nginx obnovuje Alpine balíčky. Tím se snižuje drift mezi CI artefakty a lokálním během a zároveň expozice známým CVE v OS balíčcích.
  • Obnova backend závislostí pro dosažitelné integrační cesty — Byly připnuty opravené Go verze pro github.com/Azure/go-ntlmssp, github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream, github.com/aws/aws-sdk-go-v2/service/s3, github.com/quic-go/quic-go a go.mongodb.org/mongo-driver, což pokrývá dosažitelné volitelné cesty jako ADCS NTLM autentizaci, transport auditního archivu do S3, použití QUIC stacku a MongoDB reconciliaci a rotační kód.

Opravy chyb

  • Request ID tracing sjednocen napříč middleware a logyRequestIDMiddleware nyní plní oba Gin context klíče requestID i legacy request_id a dál vrací hlavičku X-Request-ID; warning logy rozlišení prostředí současně čtou kanonický klíč requestID. Tím se uzavírá mezera ve sledovatelnosti, kdy část logů zapisovala prázdné request ID, přestože už bylo požadavku přiřazeno.
  • Orchestrator mode guard používá přesné route patterny — Ingress guard v orchestrator mode už nespoléhá na heuristiky nad suffixy a substringy URL. Místo toho páruje registrované Gin route patterny přes c.FullPath() pro write route secretů v /api/v1/secrets i /api/v2/secrets a současně se vyhýbá false positive zásahům do vnořených flow, jako je import certifikátů. Přímé payloady secretů s polem value zůstávají v orchestrator mode blokované, ale legitimní endpointy pro import certifikátů už nejsou ohroženy náhodným zachycením.
  • Synchronizace Entra pro vybrané aplikace nyní zůstává ve stavu pending, dokud neexistují bindingy — Pokud je Entra integrace nakonfigurována se scope selected_apps, ale zatím k ní nejsou uloženy žádné bindingy vybraných aplikací, manuální synchronizace nyní vrací HTTP 409 Conflict místo obecného selhání. Integrace se zapíše s last_sync_status = pending, last_sync_error zůstane prázdné a hodinový plánovač jen zaloguje přeskočení, dokud není nakonfigurována alespoň jedna vybraná aplikace. API i provozní stav tak pravdivě odrážejí postupný onboarding.
  • Stavy synchronizačních pravidel a auditní metadata nyní zachovávají provenienci spuštění — Běhy synchronizačních pravidel nyní persistují kanonický execution záznam a promítají výsledné execution_id, trigger_source, zdrojový secret/prostředí a agregované počty výsledků do stavových polí pravidla i metadat synchronizačních logů. Obousměrná synchronizace navíc potlačuje okamžitý echo-push secretů, které byly právě nataženy nebo zůstaly po pull fázi beze změny, čímž omezuje zbytečný churn v externím systému a zároveň drží sync_rules.last_sync_status a project_integrations.last_sync_* v souladu s finálním výsledkem.
  • Krok 0 rotace (connection_validation) nyní respektuje background_auth_method integrace — Když orchestrátor rotace provádí operaci lokálně (nedelegovaná cesta), metoda TestConnection() pro integrace Azure Key Vault nyní volá prepareAzureIntegrationRuntimeConfig() před pokusem o připojení. Dříve zastaralé přihlašovací údaje client_secret v zašifrované konfiguraci integrace přebíjely nakonfigurovanou hodnotu background_auth_method=managed_identity, což způsobovalo chyby ClientSecretCredential authentication failed během rotace, zatímco synchronizace (která již používala správnou přípravnou cestu) úspěšně pokračovala. Oprava zajišťuje konzistentní rozlišení autentizační metody napříč cestami synchronizace a rotace.

Poznámky

  • Dopad upgradu — Verze 1.0.56 neobsahuje databázové migrace ani změny konfiguračního schématu. Stávající API kontrakty zůstávají stabilní; hlavní provozní změnou je přísnější release gating, takže CI a release joby nyní mohou selhat, pokud image docs nebo init-certs obsahují nevyřešené nálezy se závažností CRITICAL/HIGH.
  • Dopad na lokální vývoj — První docker compose up --build po upgradu znovu sestaví dedikovanou image client-init-certs místo stažení generické Alpine base a inline instalace balíčků. Build může být mírně delší, ale lokální chování nyní mnohem přesněji odpovídá dodávané image.

Verze 1.0.55

Datum vydání: 2026-06-29

Nové funkce

  • Správa cílů rotace secretů (Secret Rotation Targets) — Plná CRUD správa cílů rotace secretů je nyní dostupná přes API, frontend, Go SDK a Terraform. Cíle definují cílová umístění nasazení (Kubernetes secrets, rotace databázových hesel, synchronizace agenta, proměnné DevOps pipeline, cloudové trezory), do nichž MazeVault zasílá aktualizované přihlašovací údaje ihned po dokončení rotace. Nová komponenta SecretRotationTargetList na záložce Secrets umožňuje operátorům přidávat, upravovat a odstraňovat cíle bez opuštění pohledu projektu. Terraform resource mazevault_secret_rotation_target umožňuje plně deklarativní správu; argument config_json přijímá JSON objekt zakódovaný pomocí jsonencode() popisující konfiguraci specifickou pro daný cíl.
  • Aktualizace konfigurace interní CA a doplnění AIA (Backfill) — Dva nové API endpointy umožňují aktualizovat měnitelná pole na účtu interní CA bez nutnosti jeho opětovného vytvoření: PUT /api/v1/ca/:id a PUT /api/v1/projects/:id/ca/:caId přijímají ocsp_url, crl_url a ocsp_responder_cert_id s patch sémantikou (vynechaná pole zůstanou nezměněna). Doprovodný endpoint POST /api/v1/admin/certificates/backfill-aia zpětně kopíruje aktuální OCSP a CRL URL z účtu CA do všech existujících certifikátů, které vydal. Rozšíření OCSP URL, CRL Distribution Points a Issuer Certificate URL jsou nyní správně vkládána do šablony x509 v rámci InternalCAProvider.SignCSR() pro všechny nově vydávané certifikáty.
  • Výběr agenta v konfiguraci rotaceSecretPostRotationActionsPanel a SecretRotationTargetEditor nyní zobrazují rozbalovací nabídku, která operátorovi umožňuje svázat konkrétního registrovaného agenta s cílem rotace. Tím je zajištěna přesná kontrola nad tím, který on-premise agent provede krok nasazení, bez nutnosti spoléhat se výhradně na směrování dle prostředí.
  • Modal pro zobrazení šablony certifikátu — Nová komponenta CertificateTemplateViewModal poskytuje podrobné zobrazení šablony certifikátu jen pro čtení (SAN vzory, key usage, extended key usage, platnost, vazba na CA účet) bez nutnosti opustit aktuální stránku. Modal je přístupný jak ze záložky CertificateTemplatesTab na úrovni organizace, tak ze záložky TemplatesTab na úrovni projektu. Zobrazení nyní také ukazuje algoritmus podpisu (s návratem na výchozí hodnotu CA, pokud není nastaven) a název ACME profilu a označuje omezení sloužící pouze k validaci a pole řízená externí CA, takže operátoři rozumí tomu, která nastavení vynucuje MazeVault a která vydávající CA.
  • Šablony certifikátů nyní řídí vydávání od začátku do konce — Šablony certifikátů byly povýšeny z částečně dekorativního metadatového záznamu na autoritativní governance „kuchařku" pro vydávání certifikátů v celém životním cyklu. Pole šablony, která byla dříve ukládána, ale nikdy aplikována, jsou nyní respektována podpisovým enginem a generátorem CSR: max_path_length (s explicitním zpracováním path-length-zero pro CA certifikáty), policy OID certifikátů (policy_identifiers / certificate_policies), signature_algorithm, výchozí šablona common-name (cn_template) a subjektový email. Nová záložka Governance v CertificateTemplateModal zpřístupňuje požadavky na schválení, povolená prostředí a povolené velikosti klíčů a vyhrazená sekce Renewal & Rotation umožňuje nezávisle nastavit politiku opětovného použití klíče. Výchozí hodnoty šablon jsou nyní normalizovány při vytvoření/aktualizaci (validity_days → 365, key_size → 256/2048 dle algoritmu, okna minimální/maximální platnosti), takže šablona nikdy nemůže uložit neúčinné nulové hodnoty.
  • Modaly pro zobrazení šablon projektů a konfigurací — Dva nové modaly s detailem jen pro čtení, ProjectTemplateViewModal a ConfigTemplateViewModal, přinášejí stejný způsob rychlé inspekce, který je již dostupný pro šablony certifikátů, i k šablonám projektů (obecná nastavení, pravidla prostředí, schéma proměnných, konfigurace protokolu) a šablonám konfigurací (metadata, souhrn definice, surový JSON). Oba jsou dostupné přes akci zobrazení (ikona oka) v příslušných záložkách správy.
  • Terraform: Certificate Rotation Config, Entra Rotation Config a datový zdroj Rotation Resources — Tři nové Terraform povrchy doplňují IaC pokrytí rotační platformy: mazevault_certificate_rotation_config spravuje plánování automatického obnovení a seznamy akcí po rotaci pro konkrétní certifikát; mazevault_entra_rotation_config spravuje nastavení rotace přihlašovacích údajů Entra ID včetně prahu dní před expirací a chování postupné rotace; mazevault_rotation_resources je datový zdroj, který vypisuje všechny rotací spravované zdroje s jejich aktuálním stavem, filtrovatelný podle kind a environment_scope.

Reforma identity prostředí

  • Identifikátory prostředí jsou nyní ukládány doslovně a párovány přesně — Identifikátory prostředí zadané v Nastavení organizace jsou jediným zdrojem pravdy. Systém je nyní ukládá doslovně (se zachováním velikosti písmen) a páruje je přesně (s ohledem na velikost písmen) všude — RBAC, secrety, synchronizační pravidla, směrování gateway, úlohy gateway, zámky prostředí i frontend. Identifikátory, které se liší pouze velikostí písmen (například developmentA, DeveLopmentB, DeveLopmentC), jsou považovány za odlišná prostředí. Systém nikdy tiše nepřepisuje, nepřevádí na malá písmena, neořezává ani nemapuje aliasy toho, co operátor zadal.
  • CanonicalizeEnvironment je nyní pouze validační: odmítá prázdné/jen z mezer složené, rezervované (*, default, all, system, none), příliš krátké/dlouhé a chybně tvarované identifikátory (povolený tvar ^[A-Za-z][A-Za-z0-9_-]{1,31}$) a při úspěchu vrací vstup beze změny.
  • Mapa aliasů prostředí gateway (proproduction, nprnonproduction atd.) byla odstraněna z backendu i frontendu. SupportsEnvironment(), GetEnvironmentMode(), směrování gateway, failover health-monitoru a frontendový pomocník environments nyní porovnávají identifikátory přesně. Frontendový pomocník prostředí již neaplikuje toLowerCase()/normalizaci tokenů a všechny selektory prostředí získávají své volby výhradně ze seznamu prostředí organizace.
  • Dopad: existující data prostředí zákazníků jsou jednotně malými písmeny, takže přesné párování dle velikosti písmen je pro stávající záznamy no-op — nulová regrese RBAC/secret/sync. Identifikátory se smíšenou velikostí písmen jsou podporovány pouze do budoucna.

Vylepšení

  • Úplnost prověření před spuštěním rotace (gateway, agent a runtime Entra) — Orchestrátor rotace nyní ověřuje, že každý požadovaný cíl provedení je dosažitelný před prvním mutujícím krokem, a vrací strukturovanou chybu HTTP 412, pokud rotaci nelze bezpečně zahájit. Místo neprůhledné chyby 500/409 jsou nyní zobrazovány tři nové chybové kódy — rotation_blocked_no_gateway, rotation_blocked_agent_offline a rotation_blocked_runtime_unavailable. Prověření nyní zohledňuje certifikáty (správně rozpozná cíle CertificateRotationConfig), shromažďuje všechna požadovaná ID agentů napříč všemi kroky workflow využívajícími agenta a je vynucováno také uvnitř executeCertificateWorkflow. Rotace přihlašovacích údajů Entra spouští stejné prověření runtime v RotateCredentialWithRequest dříve, než životní cyklus přejde do stavu rotating, takže blokovaný runtime nikdy nezanechá přihlašovací údaj rotovaný jen napůl. Změna přihlašovacího údaje nebo certifikátu, kterou nelze nasadit, nyní selže rychle a viditelně namísto toho, aby se spustila a zasekla.
  • Delegování synchronizace Azure Key Vault přes gateway — Operace synchronizace push a pull s Azure Key Vault jsou nyní delegovány na příslušnou gateway, pokud backend zjistí, že přímá síťová cesta k endpointu Key Vault není dostupná. Úlohy gateway nesou konfiguraci integrace a provádějí skutečná volání Azure SDK; primární backend zaznamenává pouze výsledný stav synchronizace. Spuštění plánovače synchronizačních pravidel bylo odloženo až po úplné inicializaci delegování přes gateway, čímž se zamezuje přechodným chybám DNS při startu backendu.
  • Automatické doplnění cílového prostředí v konfiguraci rotace — Když GetConfigBySecretID vytváří novou konfiguraci rotace pro secret, který ji dosud nemá, pole target_environment je nyní automaticky doplněno z prostředí daného secretu. Tím odpadá ruční krok aktualizace, který byl dříve vyžadován před prvním spuštěním rotace.

Opravy chyb

  • Párování prostředí gateway přepracováno na doslovnou/přesnou identitu — Dříve v tomto vydávacím cyklu se párování prostředí gateway spoléhalo na mapu aliasů bez ohledu na velikost písmen (proproduction, nprnonproduction atd.), která mohla tiše mapovat nesouvisející identifikátory dohromady a mutovat hodnoty zadané operátorem. Tento přístup byl nahrazen doslovným/přesným modelem identity prostředí (viz Reforma identity prostředí výše): SupportsEnvironment() a GetEnvironmentMode() nyní porovnávají přesně, mapa aliasů byla odstraněna a dříve plánovaná migrace normalizace aliasů 000176 byla neutralizována na no-op (nikdy nebyla dodána zákazníkům). Dopředné migrace 000178/000179 odstraňují CHECK constrainty vynucující malá písmena a unikátní indexy bez ohledu na velikost písmen, takže jsou přijímány identifikátory lišící se velikostí písmen.
  • Rozšíření AIA nevkládána do vydávaných certifikátůInternalCAProvider.SignCSR() načítalo ocsp_url a crl_url ze záznamu CA, ale nikdy je nezapisovalo do šablony certifikátu x509, takže každý certifikát vydaný interní CA měl prázdná rozšíření Authority Information Access a CRL Distribution Points. Obě rozšíření jsou nyní správně vkládána do všech nových certifikátů. Existující certifikáty lze zpětně aktualizovat prostřednictvím nového backfill endpointu.
  • Device Fingerprint — souběžná podmínka (race condition) při vkládání — Služba detekce anomálií mohla produkovat porušení constraints s duplicitním klíčem, pokud se dvě souběžné autentizační požadavky od stejného dříve neviděného zařízení pokoušely současně zaregistrovat jeho otisk. Cesta vkládání nyní používá upsert vzor s ochranou ON CONFLICT DO NOTHING pro korektní zpracování souběžných registrací.
  • Plánovač synchronizačních pravidel — chyby DNS při startu backendu — Na backendech nakonfigurovaných s delegováním přes gateway mohlo první naplánované spuštění plánovače synchronizačních pravidel selhat s chybami DNS, protože se spustil dříve, než subsystém delegování gateway dokončil inicializaci. Spuštění plánovače je nyní odloženo až po připravenosti delegační vrstvy.
  • Terraform resource organizace — tiché spolknutí chyb při mazání — Metoda Delete v Terraform resource mazevault_organization vracela úspěch i v případě, kdy backend odpověděl stavovým kódem jiným než 2xx. Chyby backendu jsou nyní zobrazovány jako Terraform diagnostiky, takže terraform destroy viditelně selže namísto ponechání resource v nekonzistentním stavu.
  • Policy OID certifikátů tiše vynechány z vydaných certifikátů (Go 1.24+)InternalCAProvider.SignCSR() vyplňoval pouze zastaralé pole x509.Certificate.PolicyIdentifiers. Go 1.24+ x509.CreateCertificate vydává rozšíření Certificate Policies místo toho z nového pole Policies ([]x509.OID), takže policy OID deklarované v šabloně byly tiše vynechány z každého vydaného certifikátu. SignCSR nyní vyplňuje obě pole — moderní slice Policies (pro současné enkodéry) i legacy slice PolicyIdentifiers (pro starší parsery) — takže policy OID jsou spolehlivě vkládány.
  • Podpisová a subjektová pole šablony certifikátu byla neúčinnámax_path_length, signature_algorithm, policy OID certifikátů, výchozí šablona common-name a subjektový email byly v šablonách certifikátů ukládány, ale nikdy se nedostaly do vydaného certifikátu ani vygenerovaného CSR. Všechna tato pole šablony jsou nyní aplikována při podpisu a generování CSR, čímž se uzavírá rozdíl mezi tím, co šablona deklaruje, a tím, co certifikát skutečně obsahuje.
  • Import šablony z externí CA ukládal nulové validity_days / key_size — Šablony importované z externích poskytovatelů CA (ADCS, SmallStep) byly ukládány s validity_days = 0 a key_size = 0, což se následně projevovalo jako neplatné výchozí hodnoty v editoru šablon. Importované šablony nyní nesou rozumné výchozí hodnoty (key_size = 2048, valid_days = 365) a servisní vrstva normalizuje veškeré zbylé nulové hodnoty při vytvoření/aktualizaci jako obranu do hloubky.

Databázové migrace

  • 000176_normalize_gateway_environmentsNeutralizováno na no-op (SELECT 1). Tato migrace původně normalizovala legacy aliasy prostředí na kanonické identifikátory, ale reforma identity prostředí tento směr obrátila (identifikátory jsou nyní ukládány doslovně). Protože migrace nebyla nikdy vydána žádnému zákazníkovi, jsou nyní její .up.sql i .down.sql zdokumentované no-opy, které ponechávají data gateway zákazníků nedotčená.
  • 000177_certificate_templates_signature_algorithm — Přidává sloupec signature_algorithm VARCHAR(50) do certificate_templates (idempotentní ADD COLUMN IF NOT EXISTS), aby šablony mohly fixovat algoritmus podpisu při vydávání. Odpovídající .down.sql sloupec odstraňuje. ExpectedColumns["certificate_templates"] v database_health.go byl odpovídajícím způsobem aktualizován.
  • 000178_relax_canonical_environment_check — Odstraňuje 11 CHECK constraintů chk_*_canonical (přidaných migrací 000125), které vyžadovaly column = LOWER(column) na každém sloupci nesoucím prostředí. Tyto constrainty by odmítaly identifikátory lišící se velikostí písmen, což odporuje doslovnému kontraktu; validace na straně aplikace (CanonicalizeEnvironment) nadále vynucuje pravidla tvaru, délky a rezervovaných slov. Dolní migrace constrainty znovu přidává. Idempotentní (DROP CONSTRAINT IF EXISTS).
  • 000179_case_sensitive_environment_indexes — Nahrazuje unikátní pojistky LOWER() bez ohledu na velikost písmen z migrace 000122 přesným unikátním indexem s ohledem na velikost písmen uniq_environments_org_slug (organization_id, slug) a obnovuje běžné vyhledávací indexy nad surovými sloupci pro každý sloupec nesoucí prostředí. Existující unikátnost na úrovni projektu (idx_project_env) je již přesná. Dolní migrace obnovuje indexy LOWER(). Idempotentní.

Verze 1.0.54

Datum vydání: 2026-06-27

Opravy chyb

  • Watchdog Entra přihlašovacích údajů — detekce zaseknutí trvale obcházena hodinovou synchronizací — PostgreSQL trigger trg_entra_creds_updated obnovuje updated_at = NOW() při každém UPDATE záznamu v tabulce entra_credentials, včetně zápisů do nesouvisejících polí prováděných hodinovou synchronizační smyčkou (syncedEntraCredentialUpdates). Podmínka updated_at < now() - 30min proto nebyla nikdy splněna pro žádné přihlašovací údaje, které prošly synchronizačním cyklem, a watchdog se nikdy nespustil. Nový sloupec rotation_started_at TIMESTAMPTZ (migrace 000175) je nastaven při přechodu lifecycle_state na rotating a vymazán při rollbacku nebo zotavení watchdogem. Watchdog dotaz nyní používá rotation_started_at IS NULL OR rotation_started_at < cutoff; podmínka IS NULL pokrývá přihlašovací údaje zaseknuté před aplikací migrace.
  • Monitor expirace Entra — chyba GORM Preload("") při každé hodinové kontrolecheckExpiringCredentials volal .Preload("") (prázdný řetězec) na GORM dotazu. GORM v2 toto odmítá chybou unsupported relations for schema EntraCredential, každou hodinu loguje chybu a zabraňuje nastavení stavu expiring_soon u přihlašovacích údajů, které skutečně expirují. Neplatné volání .Preload("") bylo odstraněno; chování je jinak nezměněno.
  • Sync Rule Pull — porušení FK secret_versions_created_by_fkey pro systémové aktorySyncRuleService.executePull volá SecretService.Update s req.UserID = uuid.Nil (žádný autentizovaný uživatel). Update bezpodmínečně ukládal &req.UserID jako created_by do nového záznamu SecretVersion; GORM serializuje *uuid.Nil jako řetězec '00000000-...' namísto SQL NULL, což porušuje non-null FK odkazující na tabulku users. Oprava přidává nil-guard: created_by je nastaven na NULL, pokud volající předá zero-value UUID, v souladu s kontraktem nullable sloupce.
  • Azure KV Integrace — synchronizované secrets zobrazeny jako „Uloženo lokálně"syncAzureKeyVaultLocal vytvářel a aktualizoval secrets v tabulce secrets, ale nikdy nevkládal záznam SecretIntegrationLink s link_purpose = 'sync_source'. GetSecretSyncStatus proto vrátil local_only pro každý KV-synchronizovaný secret a uživatelské rozhraní zobrazovalo „Uloženo lokálně" místo „Synchronizováno z KV". Oprava vkládá inline stejnou logiku upsert jako SyncRuleService.upsertPullLink přímo v IntegrationService pomocí s.db a clause.OnConflict, čímž se předchází závislosti napříč službami.

Vylepšení

  • Oprávnění rolí — agent:admin přidáno do rolí secret_manager a certificate_manager — Operace správy agentů (agent:admin) byly přidány do systémových rolí secret_manager a certificate_manager (migrace 000174). Operátoři vlastnící pouze jednu z těchto rolí nyní mohou registrovat a konfigurovat agenty bez nutnosti přiřazení samostatné role admin.

Databázové migrace

  • 000174_agent_admin_for_managers — Uděluje oprávnění agent:admin vestavěným rolím secret_manager a certificate_manager.
  • 000175_entra_credentials_rotation_started_at — Přidává rotation_started_at TIMESTAMPTZ do entra_credentials. Obsahuje partial index idx_entra_creds_rotation_started přes (rotation_started_at) pro stavy rotating a pending_verification.

Verze 1.0.53

Datum vydání: 2026-06-26

Opravy chyb

  • OCSP — existence certifikátu neověřena před staplingem — Služba OCSP odpovídala na požadavky staplingu bez ověření, zda odkazované sériové číslo v lokálním úložišti certifikátů existuje. Útočník s podělátým nebo znovu použitým sériovym číslem mohl získat platnou OCSP odpověď pro neexistující certifikát. Služba nyní ověřuje existenci certifikátu před sestavením odpovědi a pro neznámá sériová čísla vrací stav Unknown.
  • Krok rotace — PostgreSQL GRANT/REVOKE zranitelný SQL injekcírotation_steps/postgres_db.go sestavoval příkazy GRANT/REVOKE přímým řetězovým spojením jména role a seznamu oprávnění bez escapování. Jména databázových rolí jsou nyní uzavřena do dvojitých uvozovek pomocí identifikátorového escapování podle pgx, což zavírá cestu SQL injekce.
  • SSH klíče — ExportPrivateKey bez autorizační kontrolyExportPrivateKey neověřoval, zda žádající uživatel má vlastnictví nebo správcovská práva na SSH klíč, před vrácením šifrovaného privátního materiálu. Handler nyní vynucuje stejnou kontrolu členství v projektu a vlastnictví jako ostatní mutation endpointy SSH klíčů.
  • SSH rotace — chybné mapování polí API odpovědi pro páry klíčů — Handler odpovědi SSH rotace přímo prohazoval pole páru klíčů z API odpovědi, což způsobovalo vrácení prohozeného nebo prázdného public_key a key_id po úspěšné rotaci. Mapování polí bylo opraveno.
  • Rotace keytabu — nestrukturované logování obcházející pipeline — Chyby rotace keytabu byly emitovány přes legacy balíček log, který obchází strukturovaný logovací pipeline a ztrácí kontextová pole požadavku. Všechna volání logů v keytab_rotation_executor.go jsou nyní směrována přes slog.
  • CA účty — ca_authority_id neuložen při aktualizaciUpdateCAAccount tiše zahazoval ca_authority_id při aktualizaci existujícího CA účtu, protože pole chybělo v mapě Updates pro GORM. Pole je nyní zahrnuto a pokryto novým testem.
  • Drift schématu CRL / revokace — OCSP vrací 500 — Tabulky revocation_entries a certificate_revocation_lists byly vytvořeny migrací 000005 s legádními názvy sloupců (reason_code, crl_pem), které se odchylují od aktuálních názvů polí GORM modelu (revocation_reason, raw_content). GORM přidává deleted_at IS NULL ke každému dotazu; protože deleted_at v produkčním schématu chyběl, vracel celý subsystém CRL/OCSP chyby SQLSTATE 42703. Migrace 000173 přidává všechny chybějící sloupce idempotentně pomocí ADD COLUMN IF NOT EXISTS a doplní hodnoty z legádních sloupců.

Vylepšení

  • Spuštění rotace — tělo požadavku volitelné — Endpointy spouštění rotace nyní přijímají požadavky s prázdným nebo chybějícím tělem; reason se v takovém případě nastaví na "manual".
  • CA Interní — podepisování OCSP přes HSM odloženo s explicitní dokumentací — Podepisování OCSP odpovědí přes HSM je explicitně odloženo; kódová cesta nyní obsahuje jasně označený komentář odložení a mezitím vrací odpověď podepsanou softwarově.
  • Feature flags — zpříbnění režimu gateway a validace licencefeatures.go zpřesňuje logiku vyhodnocování gateway_mode a funkcí chráněných licencí, eliminuje třídu falešně pozitivních výsledků enabled při částečně zpracovaném payloadu licence.
  • SRP — dokumentace pořadí kroků MFA — Tok ověřování SRP nyní obsahuje explicitní komentář dokumentující řazení kroků MFA a zdůvodnění aktuálního pořadí TOTP/záložních kódů.
  • Průvodce pojmenováním secretů — kontext autentizace pro správu tokenůSecretNamingPolicyWizard nyní předává kontext autentizovaného uživatele voláním správy tokenů, čímž opravuje potenciálně neautentizovanou cestu volání v procesu ukládání průvodce.

Databázové migrace

  • 000173_fix_revocation_crl_schema_drift — Přidává chybějící sloupce do revocation_entries (crl_id, revocation_reason, updated_at, deleted_at) a certificate_revocation_lists (raw_content, updated_at, deleted_at). Doplní hodnoty z legádních sloupců reason_code a crl_pem. Plně idempotentní.

Verze 1.0.52

Datum vydání: 2026-06-23

Opravy chyb

  • Schéma Renewal Policy — chybějící sloupce key_reuse_enabled a validity_duration — Tabulka certificate_renewal_policies byla vytvořena migrací 000010 se sloupcem reuse_private_key; Go model byl následně přejmenován na key_reuse_enabled bez doprovodné migrace, čímž každý zápis dotýkající se tohoto pole selhal na databázové vrstvě. Migrace 000172 přidává key_reuse_enabled BOOLEAN NOT NULL DEFAULT FALSE (s doplněním hodnot z legacy sloupce reuse_private_key) a validity_duration INT NOT NULL DEFAULT 0. Stejná migrace převádí notify_emails z JSONB na TEXT pomocí třífázového přístupu (přidání TEXT staging sloupce → UPDATE přes set-returning funkci → drop JSONB sloupce → přejmenování), čímž obchází omezení PostgreSQL, které zakazuje subquery uvnitř ALTER COLUMN TYPE … USING.
  • Fronta obnov — sloupec certificates.organization_id neexistujeGetRenewalQueue filtroval WHERE certificates.organization_id = ?, ale tabulka certificates obsahuje pouze project_id; organizaci lze dosáhnout přes certificates.project_id → projects.organization_id. Služba nyní provádí druhý JOIN (JOIN projects ON projects.id = certificates.project_id) a filtruje podle projects.organization_id.
  • SDK a Terraform Provider — sémantická neshoda notify_days_before []int — Go SDK (sdks/go/models.go) a Terraform provider (internal/resources/renewal_policy.go) deklarovaly pole notify_days_before []int, které v backendu nikdy neexistovalo. Backend ukládá prostý čárkami oddělený řetězec pod klíčem notify_emails. Obě komponenty byly přepsány na notify_emails string a byla přidána dvě nová pole key_reuse_enabled a validity_duration pro sladění s živým API kontraktem. Acceptance testy blokované pomocí t.Skip z důvodu těchto nedostatků jsou nyní aktivní.

Databázové migrace

  • 000172_fix_certificate_renewal_policy_schema — Přidává key_reuse_enabled BOOLEAN NOT NULL DEFAULT FALSE (doplněno z reuse_private_key), validity_duration INT NOT NULL DEFAULT 0 a převádí notify_emails JSONB → TEXT v tabulce certificate_renewal_policies.

Verze 1.0.51

Datum vydání: 2026-06-22

Nové funkce

  • Potvrzení selhání rotace (Acknowledge Rotation Failure) — Operátoři nyní mohou trvale odložit (dismiss) prověřené selhání rotace z dashboardu Rotation Problems bez smazání záznamu spuštění. Nový endpoint POST /api/v1/dashboard/rotation/failures/{id}/acknowledge (RBAC: dashboard:write) zapíše acknowledged_at a acknowledged_by do řádku spuštění. Dashboard dotaz filtruje potvrzené řádky a udržuje tak přehled zaměřený na položky stále vyžadující pozornost. Uživatelské rozhraní zpřístupňuje akci „Označit jako prověřeno" v panelu detailu selhání.
  • Watchdog pro zaseknuté Entra přihlašovací údaje — Nový background watchdog (RecoverStuckEntraCredentials) běží každých 5 minut a resetuje Entra přihlašovací údaje zaseknuté ve stavu rotating nebo pending_verification déle než 30 minut. Zabraňuje nekonečným stálům způsobeným restartem backendu nebo zrušením goroutiny uprostřed rotace. Každé zotavení zapíše stuck_watchdog_recovered_at do záznamu přihlašovacích údajů pro auditní sledovatelnost.
  • Stav Entra přihlašovacích údajů — pending_verification — Constraint entra_credentials_status_check byl rozšířen o hodnotu pending_verification, kterou zapisuje RotateCredentialWithRequest po každé rotaci, jsou-li nakonfigurované downstream propagační cíle. Bez tohoto rozšíření by jakákoli rotace s propagací produkovala porušení constraintu a zanechávala by přihlašovací údaje v nekonzistentním stavu.
  • CA účet — počet přiřazených certifikátů — Odpovědi pro seznam a detail CA účtu nyní obsahují assigned_certificates_count, tedy počet aktivních certifikátů vydaných přes šablony certifikátů svázané s daným CA účtem. Operátoři tak okamžitě vidí aktivní záběr CA účtu bez dalšího dotazu.
  • Terraform Provider — User, User Role, Keytab, Project Settings, Shared Secret — Pět nových Terraform zdrojů doplňuje pokrytí providera o správu uživatelů a konfigurace projektů: mazevault_user (CRUD platformních uživatelů), mazevault_user_role (přiřazení rolí uživatelům v organizaci), mazevault_keytab (správa Kerberos keytab souborů připojených k projektu), mazevault_project_settings (projektová konfigurační nastavení) a mazevault_shared_secret (secrets sdílené napříč více projekty).

Vylepšení

  • Rotation Problems — filtr potvrzených selhání — Stránka Rotation Problems a služba platformního přehledu nyní vylučují potvrzená spuštění z počtů selhání a seznamů, a to s využitím partial indexu idx_rotation_executions_unacknowledged zavedého migrací 000170.

Databázové migrace

  • 000169_entra_credentials_status_pending_verification — Rozšiřuje constraint entra_credentials_status_check o hodnotu pending_verification.
  • 000170_rotation_execution_acknowledgement — Přidává acknowledged_at TIMESTAMPTZ a acknowledged_by UUID REFERENCES users do rotation_executions. Obsahuje partial index idx_rotation_executions_unacknowledged pokrývající pouze nepotvrzené řádky.
  • 000171_entra_credential_stuck_watchdog — Přidává stuck_watchdog_recovered_at TIMESTAMPTZ do entra_credentials. Přidává partial index idx_entra_creds_stuck_watchdog přes (lifecycle_state, updated_at) pro dva in-flight stavy.

Verze 1.0.50

Datum vydání: 2026-06-21

Nové funkce

  • Šablony konfigurace rotace (Rotation Config Templates) — Nový systém opakovaně použitelných šablon rotační politiky umožňuje operátorům definovat sdílená nastavení rotace (interval, lead days, retention window, max. počet opakování, timeout), která lze aplikovat na více secrets a certifikátů. Spravováno přes pět nových API endpointů GET|POST /api/v1/rotation/templates a GET|PUT|DELETE /api/v1/rotation/templates/{id} s plným RBAC (rotation:read / secret:rotate). Nový Terraform zdroj mazevault_rotation_template umožňuje správu přes IaC. Frontend zpřístupňuje plnou CRUD stránku na /rotation/templates. Migrace 000168 přidává tabulku rotation_config_templates a cizí klíč template_id na rotation_configs.
  • Sync Rule — obousměrný režim a strategie konfliktuSyncRuleModal nyní zobrazuje konfigurovatelný směr synchronizace (pull / push / bidirectional) a synchronizační režim (incremental / full_sync). Oba atributy jsou persistovány na straně serveru a zdokumentovány v novém Terraform zdroji mazevault_sync_rule. Operace pull-sync nyní zapisují last_pulled_at, link_purpose a external_secret_path do secret_integration_links (migrace 000167), čímž umožňují zobrazení stavového odznaku synced_from_external u secrets vytažených z externího poskytovatele.
  • Dry-run pro rotaci certifikátů — Záložka Rotace certifikátů nyní obsahuje tlačítko „Dry Run" vedle existující akce „Trigger Rotation Now". Dry-run provede kompletní validaci workflow rotace — včetně preflight post-rotačních akcí a gateway probing — bez potvrzení jakýchkoli změn. Příznak dry_run je propagován end-to-end přes API a všechny kroky rotace.
  • Post-rotační akce — přímé napojení na gateway a přepsání prostředíPostRotationAction nyní přijímá volitelné pole gateway_id, které připne akci na konkrétní gateway a obchází routing na základě prostředí. Doprovodné pole target_environment přepisuje kontext prostředí při rozlišování cílové gateway. Obě pole jsou dostupná v Go SDK (PostRotationActionWF) i v Terraform zdroji mazevault_rotation_workflow.
  • Terraform Provider — Sync Rules a Rotation Templates — Dva nové Terraform zdroje pokrývají kompletní životní cyklus create/read/update/delete: mazevault_sync_rule (směr synchronizace, strategie konfliktu, transformace klíče, prefix cesty) a mazevault_rotation_template (interval, lead days, retence, politika opakování). Oba jsou registrovány v provideru a zdokumentovány v docs/resources/.
  • Rotation Problems — detail zobrazení selhání — Stránka Rotation Problems nyní zobrazuje detailní tabulku neúspěšných spuštění s drill-down na jednotlivé zdroje, koláčový graf rozložení podle druhu zdroje a přehled chybějících secrets. Navigace v postranním panelu zvýrazňuje sekci ikonou varování.

Vylepšení

  • Distribuovaný synchronizační semafor přes RedisSyncRuleService nyní používá distribuovaný zámek podporovaný Redis (SET NX PX) prostřednictvím nového páru TryAcquireLock / ReleaseLock na CacheService. Pokud Redis není dostupný, služba přejde na in-process zámek pomocí sync.Map. Tím se zabraňuje duplicitním souběžným synchronizacím pro stejné pravidlo v deploymentech s více replikami.
  • Dry-run guard ve všech krocích rotace — Všech sedm vestavěných kroků rotace (generátor hesel, Azure Key Vault, Spring Actuator, agent command, shell script, IIS recycle, Kubernetes secret) nyní kontroluje příznak dry_run před jakýmkoli mutujícím externím voláním a místo toho vrátí náhledový výsledek.
  • Rozšířený rozsah validace připojení — Krok rotace connection_validation byl rozšířen na pokrytí typů providerů mimo databáze (Azure Key Vault, Kubernetes, LDAP, GitHub, GitLab, generický webhook), čímž jsou zajištěny pre-execution kontroly konektivity i pro secrets napojené na tyto integrace.
  • Guard pro secrets s names_only storage mode — Orchestrátor rotace nyní odmítá požadavky na rotaci secrets s storage_mode = names_only s jasnou chybovou zprávou, čímž zabraňuje zavádějícím záznamům o spuštění pro secrets, jejichž životní cyklus hodnoty je zcela řízen externím poskytovatelem.
  • Stav synchronizace secretu — indikátor synced_from_externalGetSecretSyncStatus nyní vrací synced_from_external, pokud byl secret úspěšně vytažen z externího poskytovatele. Záložka Secrets zobrazuje tuto informaci jako informační odznak „Synced from KV".
  • Compliance report — statistiky pokrytí nasazení a synchronizacePasswordPolicyStats je rozšířen o čítače secrets_with_deployment_target, secrets_with_external_sync a secrets_with_template. Compliance report service je shromažďuje v jediném dalším DB průchodu.
  • Gateway Task Service — přímé připnutí na gateway IDGatewayTaskService.CreateTask nyní přijímá volitelný GatewayID, který při nastavení zcela přeskočí vyhledávání v routing service a odešle úlohu přímo na pojmenovanou gateway. Tím jsou podpořeny připnuté post-rotační akce bez nejednoznačnosti routingu.
  • Čitelnost kódu — Pole struct interních služeb a modelů byla přeformátována pro konzistenci. Parametry resolveRotationResourceIncidentTarget byly zjednodušeny odstraněním redundantních mezilehlých proměnných.

Opravy chyb

  • Dashboard Dismiss — TypeScript zúžení typů — Obslužná rutina dismiss pro položky akciovatelných rotací nyní správně zužuje item.status z 'overdue' | 'failed' | 'running' na serverem přijímaný union 'overdue' | 'failed' před odesláním požadavku, čímž opravuje TypeScript chybu kompilace, která se objevila po přidání 'running' do typového výčtu stavů položky.
  • Chybějící routes pro Rotation Templates po refaktoru — Pět registrací routes /api/v1/rotation/templates bylo neúmyslně odstraněno při průchodu formátováním kódu. Všech pět routes bylo obnoveno s původním RBAC middleware (rotation:read / secret:rotate).
  • Swagger path drift pro Rotation Templates — Swagger anotace @Router v handlers_rotation_templates.go nesprávně používaly /rotation-templates místo skutečné gin cesty /rotation/templates. Všech pět anotací bylo opraveno a OpenAPI spec byl vygenerován znovu.
  • Chybějící audit logging pro operace se Secret Links — Handlery CreateSecretLink a DeleteSecretLink nyní emitují záznamy auditního logu SECRET_LINK_CREATED a SECRET_LINK_DELETED se správným typem zdroje, ID a IP volajícího.

Databázové migrace

  • 000167_secret_integration_links_pull_tracking — Přidává sloupce last_pulled_at TIMESTAMPTZ, link_purpose VARCHAR(64) a external_secret_path VARCHAR(512) do secret_integration_links. Obsahuje unikátní constraint uq_sil_secret_integration a partial index pro aktivní linky.
  • 000168_rotation_config_templates — Přidává tabulku rotation_config_templates s kompletními CRUD sloupci (název, popis, org scope, výchozí příznak, interval rotace, lead days, retention days, politika opakování, timeout). Přidává template_id UUID REFERENCES rotation_config_templates do rotation_configs.

Verze 1.0.49

Datum vydání: 2026-06-20

Nové funkce

  • Panel akciovatelných rotací na dashboardu — Přehledový dashboard nyní obsahuje vyhrazený panel „Rotation operations", který zobrazuje rotační zdroje po splatnosti nebo ve stavu selhání vyžadující okamžitou pozornost. Každá položka ukazuje druh, projekt a stavový odznak a podporuje jednoklikové odložení (Dismiss) s auditní poznámkou. Zobrazuje se nejvýše pět položek, seřazených podle stáří (po splatnosti) a aktuálnosti (selhání).
  • Expirující certifikáty na dashboardu — filtr 30 dnů — Sekce „Direct actions" na přehledovém dashboardu nyní filtruje expirující certifikáty na příštích 30 dní, čímž je seznam okamžitě akciovatelný místo zobrazení všech budoucích expirací. Sekce se nyní jmenuje „Expiring certificates (next 30 days)". Endpoint GET /api/v1/dashboard/certificates/expiring přijímá nový volitelný parametr days (1–3650) pro omezení rozsahu; vynechání parametru vrátí všechny budoucí expirace (zpětně kompatibilní).
  • Entra — staged rotace a dry-run — Rotace Entra přihlašovacích údajů nyní podporuje staged rotaci (staged_rotation_enabled) s konfigurovatelným soak window (soak_window_hours). Obě pole jsou persistována v metadatech rotačního zdroje a správně se přenášejí při GET/PUT cyklu rotační konfigurace. Dry-run cesta validuje workflow rotace vůči živému Entra tenantu bez aplikace jakýchkoli změn.
  • Entra integrace — Instance ID a verzování protokolu — Entra integrace nyní nesou identifikátor instance a pole verze protokolu, umožňující přesnější cílení a budoucí kompatibilitu ve scénářích s více tenanty a delegovanou orchestrací.
  • Rotation scheduler — obnova zaseknutých položek — Rotation scheduler nyní detekuje zdroje zaseknuté ve stavu „running" nebo „approval-pending" po překročení konfigurovatelného limitu a resetuje je do znovu spustitelného stavu, čímž zabraňuje tichým nekonečným stálům. Orchestrace obnovení rovněž získala explicitní koordinační logiku pro zdroje procházející oknem obnovení.
  • Rotace certifikátů — výpočet příštího data splatnosti — Logika výpočtu data splatnosti rotace certifikátů je nyní pokryta dedikovanými unit testy. Příští datum splatnosti je počítáno z efektivní politiky lead days napříč vrstvami certifikátu, šablony a CA účtu, čímž je zajištěno konzistentní chování okna obnovení.

Vylepšení

  • Odolnost načítání dat dashboardu — Načítání dat dashboardu nyní používá Promise.allSettled místo Promise.all. Selhání jednotlivých widgetů (síťová chyba, 401, 404) již nezahazují data ze všech ostatních widgetů. Každé selhání je logováno přes strukturovaný logger pro observabilitu.
  • RBAC oprávnění pro rotační endpointy — Oprávnění pro čtení a zápis rotačních zdrojů jsou nyní konzistentně aplikována na všech nových dashboard a rotačních endpointech, včetně filtrování archivovaných zdrojů v dotazech servisní vrstvy.
  • Dashboard — vyloučení archivovaných zdrojů — Dotazy platformního přehledu rotací a akciovatelných rotací nyní explicitně vylučují archivované zdroje, čímž se brání nafukování počtů po splatnosti nebo ve stavu selhání historickými daty.

Opravy chyb

  • Editace Entra rotační konfigurace — regrese zakázaného stavu — Editace existující rotační konfigurace Entra přihlašovacích údajů již nezobrazuje všechna pole jako zakázaná pro ne-primární přihlašovací údaje. GET odpověď nyní vrací rotation_enabled z uložené uživatelské preference (metadata.rotation_enabled) namísto ze scheduler gate (resource.Enabled = RotationEnabled && IsPrimary), která byla vždy false pro ne-primární přihlašovací údaje.
  • Entra rotační konfigurace — staged pole se neobnovovala při editacistaged_rotation_enabled a soak_window_hours jsou nyní zahrnuty v metadatech projektoru rotačního zdroje a jsou proto správně obnoveny při otevření existující rotační konfigurace pro editaci.
  • Entra scope binding — Tenant ID není povinné — Vytvoření Entra scope bindingu již nevyžaduje tenant_id, pokud integrace používá autentizaci managed identity. Backend validace i frontend průvodce byly aktualizovány tak, aby tenant_id bylo pro managed identity flow volitelné.

Infrastruktura

  • Step-CA network policy — Přidáno pravidlo network policy umožňující příchozí provoz na Step-CA na portu 9000 z interního clusteru, čímž se odblokují ACME issuance flow na stagingu routované přes interní Step-CA provisioner.

Verze 1.0.48

Datum vydání: 2026-06-16

Nové funkce

  • Domain Control Validation (DCV) pro objednávky externích CA — Poskytovatelé externích CA (DigiCert CertCentral v2, SSLMarket), kteří vyžadují doklad vlastnictví domény před vydáním certifikátu, nyní mají plnou podporu životního cyklu DCV. Nová tabulka certificate_dcv_tokens (migrace 000166) ukládá ověřovací tokeny pro každou doménu. Backend automaticky načítá tokeny po odeslání objednávky, přepne položku ve frontě obnovení do stavu pending_dcv a provádí polling každých 5 minut. Frontend komponenta DCVStatusPanel zobrazuje detaily výzvy pro každou doménu (název/hodnota DNS TXT záznamu, cesta/obsah HTTP souboru nebo e-mail schvalovatele) s tlačítky pro kopírování do schránky, indikátorem průběhu a ručním spuštěním ověření. Nové API endpointy GET /api/v1/renewal-queue/{id}/dcv a POST /api/v1/renewal-queue/{id}/dcv/retry zpřístupňují stav DCV s RBAC (certificate:read / certificate:write).
  • ADCS čekající na schválení — neblokující DCOM odeslání — Metoda ADCS DCOM již neblokuje goroutinu HTTP handleru smyčkou 5 × 5 s opakovaných pokusů, pokud správce CA ještě neschválil požadavek (stav ADCS 5). Nyní okamžitě vrátí ErrADCSPendingApproval; stávající background job ADCSApprovalPoller zajistí asynchronní načtení certifikátu po schválení.
  • Možnosti kompatibilního profilu PFX — Export certifikátu do PFX nyní podporuje výběr kompatibilního profilu (legacy / modern), který řídí šifrovací a MAC algoritmy použité v PKCS#12 kontejneru. legacy cílí na OpenSSL 1.x, nástroje Java KeyStore a starší Windows endpointy; modern cílí na OpenSSL 3.x, .NET 6+ a aktuální Go runtime.
  • Žádost o certifikát — rozšířená pole Subject DN — Modal Žádost o certifikát nyní nabízí volitelná pole Subject DN: Organizace (O), Organizační jednotka (OU), Lokalita (L), Stát/Provincie (ST) a Země (C). Vyplněné hodnoty jsou odeslány jako strukturovaný objekt requested_subject v payload CSR požadavku.
  • Žádost o certifikát — přepis algoritmu klíče — Pro páry klíčů generované MazeVault mohou operátoři nyní přepsat algoritmus klíče (RSA, ECDSA, Ed25519) a velikost klíče přímo v modalu Žádost o certifikát. Výběr je odeslán jako requested_key_algorithm a requested_key_size v payload CSR.

Vylepšení

  • Redakce logů — zachování původní URL požadavku — Middleware redakce logů nyní uchovává původní RequestURI v Gin kontextu před jakýmkoli přepisováním nebo normalizací cesty. Tím se zajistí, že auditní a strukturované log záznamy odráží URL, kterou klient skutečně odeslal, nikoli artefakt po-zpracování. Regresní test pokrývá kontrakt zachování URL.
  • Stahování binárních souborů — ArrayBuffer a odložené odvolání URL — Stahování certifikátů a binárních souborů agentů nyní používá typ odpovědi arraybuffer a oddaluje odvolání object URL dokud stahování není spolehlivě doručeno do prohlížeče, čímž se eliminuje race condition na pomalých připojeních, kde odvolání proběhlo dříve než dokončení stahování.

Aktualizace závislostí

  • form-data a hasown — Aktualizovány balíčky form-data a hasown na nejnovější patch vydání, řeší drobná upozornění na kompatibilitu s aktuálními verzemi Node.js runtime.

Verze 1.0.47

Datum vydání: 2026-06-14

Nové funkce

  • Sdílené Entra rollout akce a readiness kontroly — Rotace Entra přihlašovacích údajů nyní podporuje seřazené rollout akce nad sdílenou rotační platformou, včetně Azure Key Vault, Kubernetes Secretů, agentem spravovaných runtime souborů, Spring refresh a webhook doručení a recycle IIS app poolu na Windows cílech. Dry-run a preflight kontroly validují stejné runtime cesty ještě před produkčním execution.
  • Per-certifikátová politika obnovy klíče — Operátoři nyní mohou pro každý certifikát určit, zda obnova vygeneruje nový privátní klíč, nebo pokud to provider a custody cesta dovolí, znovu použije stávající klíčový materiál. Pořadí zpracování rotačních cílů je nově zachováno explicitně v renewal workflow.
  • Silnější validace autentizační konfigurace Entra integrace — Integration Wizard i backend nyní společně validují interaktivní a background Entra autentizační nastavení, takže už nelze uložit konfiguraci, která by nefungovala pro background sync, dry-run nebo post-rotation execution.

Vylepšení

  • Sjednocený pohled na readiness v Project Rotations — Pohled Project Rotations nyní zobrazuje inline readiness a preflight stav pro Entra přihlašovací údaje, zdroje obnovy certifikátů i deployment zdroje certifikátů, včetně čitelnějšího surfacování stavů manual review required u rollout cílů, které nelze ověřit automaticky.
  • Sladění rolí a kontraktů pro rotační operace — RBAC migrace a permission kontroly na projektových surface byly sladěny s rozšířenými rotačními a konfiguračními workflow, takže se snižuje počet situací, kdy operátor otevře obrazovku bez oprávnění potřebných k dokončení akce.
  • Obnova Swaggeru a provozních signálů — Generovaný Swagger nyní odráží rozšířenou slovní zásobu severity stavů a lepší práci s host konfigurací, zatímco kontroly zdraví certifikátů a databáze vracejí přesnější diagnostiku pro rotation readiness a exportní cesty.
  • Obnovený kontrakt Secret Rotation API — Secret rotation API i generovaný Swagger nyní přesněji popisují explicitní lifecycle create/edit/delete, včetně perzistence post-rotation akcí a čisté reset cesty po odstranění rotace secretu.

Opravy chyb

  • Konzistentní cleanup Entra lifecycle záznamů — Smazání Entra integrace nebo lokálně spravované registrace aplikace nyní ve stejné lifecycle operaci odstraní i související rotační zdroje Entra přihlašovacích údajů. Upgrade migrace 000155 navíc odstraňuje historické osiřelé řádky a repository čtení obranně skrývá zastaralé entra_credential záznamy, které cleanup předcházely.
  • Výchozí chování rotace certifikátů po importu — Pokud je importovaný certifikát způsobilý pro spravovanou obnovu, MazeVault nyní připraví rotační konfiguraci bez tichého zapnutí automatizace. Počáteční lead days se navíc určují z efektivní politiky certifikátu, šablony a CA účtu místo přepsání modelovým defaultem.
  • Robustnější validace rolloutu a exportu — Validace kroků s agent_id versus přímým agent_url je přísnější a exporty certifikátů nyní vracejí čitelnější chyby pro PFX a soukromé klíče místo částečně maskovaných selhání.
  • Mazání a znovuvytvoření secret rotace — Smazání secret rotace nyní odstraní rotační konfiguraci, kanonický secret rotation resource i navázané rotační integrace, aniž by smazalo samotný secret. Po smazání zobrazují secretové status surface stav Rotation not configured a opětovné otevření modalu zůstává v create režimu, dokud operátor explicitně neuloží novou konfiguraci.

Verze 1.0.46

Datum vydání: 2026-06-09

Nové funkce

  • Základ pro External CA Order Poller — MazeVault přidal background polling pro externě vydávané objednávky certifikátů, takže asynchronní workflow třetích stran mohou dokončit issuance a propsat změnu do životního cyklu certifikátu bez ručního sledování.

Poznámky

  • Upřesnění release notes — Entra rotation rollout, sjednocení UI rotace certifikátů a související readiness a preflight práce, které byly dříve rozepsané pod v1.0.46, byly dokončeny až po tagu a jsou proto zdokumentovány pod v1.0.47.

Verze 1.0.45

Datum vydání: 2026-06-09

Nové funkce

  • Registr rotačních zdrojů a rozšíření platformního vlastnictví — Rotační platforma se rozšiřuje z certifikátové orchestrace na model zdrojů postavený nad registry. Nové control-plane služby zavádějí druhy zdrojů, registry cílů a sdílené vlastnictví plánování rotací, takže budoucí rotace secrets, certifikátů i Entra přihlašovacích údajů budou stát na stejných platformních primitivech.
  • Discovery policy bundle pro agenty a perzistentní index konfigurací — Agenti nyní dostávají discovery policy bundle generovaný backendem z aktivních konfiguračních šablon. Filesystem discovery ukládá lokální metadata index a znovu používá kešované nálezy konfigurací i certifikátů mezi běhy, aniž by se ztrácela autorita změn politik.
  • Odesílání výsledků konfigurační discovery — Agenti nyní umí odesílat výsledky discovery konfigurací zpět do backendu včetně klasifikace a metadat rewrite plánu s využitím stávajícího modelu discovery výsledků.
  • Deduplikace kódů certifikátových šablon a řešení konfliktů — Správa certifikátových šablon na úrovni organizace nyní deduplikuje kódy šablon a blokuje nejednoznačné konflikty. Migrační krok zároveň normalizuje existující duplicity, aby routování šablon a issuance zůstaly deterministické.
  • Klasifikace systémových certifikátů — Certifikáty nyní nesou příznak is_system pro interní mTLS a identity-management materiál. MazeVault tyto certifikáty může nadále používat interně, aniž by se míchaly do běžného operátorského inventáře.
  • Integrační skupiny — Projekty nyní podporují pojmenované integrační skupiny mapující logická seskupení na integrační cíle se strukturovanou JSONB konfigurací. Skupiny lze vytvářet, prohlížet, aktualizovat a mazat prostřednictvím nových API endpointů /api/v1/projects/{id}/integration-groups a /api/v1/integration-groups/{id} (migrace 000152).
  • Reálné Slack notifikace incidentů — Správa incidentů nyní odesílá real-time Slack notifikace prostřednictvím nakonfigurovaného Incoming Webhooku. Při vzniku incidentu u projektu s aktivní Slack integrací platforma odešle typ incidentu a název zdroje do nakonfigurovaného kanálu.
  • Testy konektivity GCP Secret Manager a Kubernetes — Kontroly zdraví integrace nyní ověřují živé připojení k GCP Secret Manager API (výpis secrets v daném projektu) a dosažitelnost Kubernetes API serveru pomocí in-cluster nebo kubeconfig přihlašovacích údajů, doplňují tak stávající testy providerů.
  • Operace s klíči HSM — HSM provideři (PKCS#11, AWS CloudHSM, GCP Cloud HSM, Azure Managed HSM) nyní poskytují úplné lifecycle operace s klíči: GetPublicKey (rekonstruuje RSA/EC PKIX DER z hardware), DeleteKey (zničí všechny objekty klíče na zařízení), ListKeys (výpis všech spravovaných key handle) a GetKeyInfo (vrací typ, velikost a příznak exportovatelnosti klíče).
  • Vault PKI – úplný lifecycle — HashiCorp Vault CA provider nyní implementuje kompletní CA rozhraní: RenewCertificate, GetCertificateStatus (kontrola časového razítka revokace), ListIssuedCertificates (výpis přes PKI list endpoint), GetOrderStatus a CancelOrder (revokuje podkladový certifikát).
  • ADCS – načtení odloženě vydaného certifikátu — ADCS (WCCE) provider nyní načítá certifikáty vydané CA asynchronně prostřednictvím SOAP Renew požadavku. Dříve nevyřízené certifikáty jsou po dokončení issuance načteny a vráceny ve formátu PEM.
  • Venafi VaaS – úplný lifecycle — Venafi CA provider nyní implementuje RenewCertificate, GetOrderStatus (načítá stav pick-up z VaaS) a CancelOrder.
  • Hlášení rate limitů DigiCert — Provider DigiCert nyní dotazuje živé rate limit hlavičky (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) a zpřístupňuje je přes rozhraní GetRateLimits.
  • Injekce konfigurací s živými hodnotami secretů — Verzování konfigurací nyní při vytváření snapshotu nahrazuje tokeny ${VAULT:<placeholder>} skutečnými hodnotami MazeVault secretů, takže injektované konfigurační soubory obsahují reálné přihlašovací údaje, aniž by byly ukládány do historie verzí konfigurace.

Vylepšení

  • Projektově vázané politiky viditelnosti zdrojů — Azure discovery endpointy nyní aplikují filtrování resource_visibility_policy v kontextu vybraného projektu. Výběr v Integration Wizardu tak odpovídá scope projektu i pro ne-admin operátory.
  • Auditovatelnost správy konfigurace — Workflow správy konfigurace nyní zaznamenávají auditovatelné aktivity rewrite plánů, takže provozní změny jsou dohledatelné stejně jako ostatní lifecycle události platformy.
  • Metadata generovaného CSR a custody klíče — Certificate request flow nyní nese metadata o generovaném CSR a custody soukromého klíče dál do dalších lifecycle kroků, takže je zřejmé, zda MazeVault klíč vlastní, znovu používá, nebo musí zachovat externí správu.
  • Delegovaný krok synchronizace secretu přes agenta — Rotační a execution pipeline nyní mají explicitní krok synchronizace secretu přes agenta, což zlepšuje soulad mezi platformní orchestrací a tím, co agent skutečně aplikuje na cílových systémech.
  • Navigace certifikátů na vlastnické surface — Odkazy na certifikáty z hlavního dashboardu, projektových rotací i certifikátového inventáře nyní vedou přímo na vlastnickou surface. Projektové certifikáty otevírají detail v projektu, zatímco nezařazený inventář otevírá Discovered Certificates přes lookup podle managed_certificate_id, čímž se nahrazuje duplicitní legacy flow /certificates.
  • Konzistence dat na Secrets Dashboardu — Záložka Secrets Overview nyní používá sdílené dashboard API, znovu zpřístupňuje drill-in pro chybějící secrets a drží overview počty i dešifrované názvy v souladu s hlavní dashboard datovou vrstvou.
  • Filtr lookupu objevených certifikátů — Discovery API a generovaná Swagger dokumentace nyní podporují filtrování podle managed_certificate_id, což umožňuje cílené deep linky z certifikátových přehledů na odpovídající discovered certificate záznam.

Opravy chyb

  • Převzetí vlastnictví plánování rotací — Scheduling obnov se přesouvá pod sdílený model platformního vlastníka rotací, aby navazující workflow pracovaly s aktuálním certifikátovým zdrojem místo zastaralých anchorů před obnovou.
  • Konzistence project contextu v discovery — Integration discovery helpery nyní konzistentně předávají project context, čímž mizí prázdné nebo příliš široké Azure discovery výsledky při zapnutém filtrování viditelnosti zdrojů.
  • Autentizace Detect DriftPOST /api/v1/secrets/drift/detect se nyní vykonává uvnitř autentizované secrets route group, což opravuje 401 chyby způsobené chybějícím auth kontextem při detekci driftu.
  • Regrese dashboard drill-in odkazů — Opraveny zastaralé odkazy na certifikáty mířící na odstraněnou globální stránku certifikátů a obnoveny odkazy na chybějící secrets v Secrets Dashboard overview.

Verze 1.0.44

Datum vydání: 2026-05-25

Nové funkce

  • Post-akce po rotaci certifikátu — Rotace certifikátů nyní podporuje explicitní řetězení post-rotation akcí včetně webhooků a dalších registrovaných post-processing kroků, takže po úspěšné obnově nebo deploymentu lze spustit navazující refresh a rollout workflow.
  • Delegovaná obnova a publish kontroly rotace — Orchestrace obnov získala delegované execution cesty, runtime probe validace a publish-gate ochrany, které lépe oddělují readiness validaci od side-effecting deployment práce.
  • Lifecycle enforcement Archive Centeru — Obnova z archivu a permanentní mazání jsou nyní chápány jako centralizované archive-lifecycle operace s admin-only vynucením v runtime RBAC i při editaci rolí.
  • Rozšířené pokrytí binárek agentů — Distribuce MazeVault agentů nyní zahrnuje širší ARM64 pokrytí a silnější build validaci pro heterogenní Windows i Linux prostředí.

Vylepšení

  • Sledování key custody u objevených certifikátů — Adoptované discovered certifikáty nyní zachovávají explicitní stav key custody, takže MazeVault tiše nepřebírá vlastnictví privátních klíčů během obnovy nebo deploymentu.
  • Vyšší robustnost issuance a renewal certifikátů — Flows vydávání certifikátů, zpracování CSR a obnov nyní používají silnější locking, normalizované post-action payloady a jasnější actor attribution napříč cross-project secret operacemi.
  • Širší pokrytí providerů pro CA účty — Správa CA účtů a EAB přihlašovacích údajů nyní pokrývá více inicializačních cest providerů včetně Smallstep fallback polí používaných při zakládání a validaci účtu.

Opravy chyb

  • Inicializace Smallstep CA účtu — Vytváření Smallstep CA účtu nyní správně fallbackuje na credential pole jako server_url a metadata provisioneru místo selhání ještě před kontaktem s CA.
  • Sladění kontraktu rotačních akcí — Certificate post-action handling nyní nabízí jen typy akcí podporované certificate rotation executorem, takže se v UI neobjevují neplatné volby a nesoulad názvů kroků.

Verze 1.0.43

Datum vydání: 2026-05-11

Nové funkce

  • Podpora Managed Identity pro Azure Key Vault — Integrace Azure Key Vault nyní podporují Managed Identity a Workload Identity jako způsob autentizace vedle Service Principal. Při výběru Azure Key Vault v průvodci integrací se metoda autentizace pro synchronizaci na pozadí automaticky nastaví na managed_identity. Konkrétní klientské ID managed identity nastavte přes AZURE_MANAGED_IDENTITY_CLIENT_ID, nebo proměnnou ponechte prázdnou — platforma identitu rozpozná z prostředí (AZURE_FEDERATED_TOKEN_FILE + AZURE_CLIENT_ID + AZURE_TENANT_ID pro workload identity).
  • Instalace agenta jako systemd služba — Instalační skript agenta nyní nasazuje MazeVault agenta jako správnou systemd službu. Automaticky se vytvoří dedikovaný systémový uživatel mazevault-agent a adresáře se omezujícími oprávněními (/etc/mazevault, /var/lib/mazevault, /var/log/mazevault) s vlastnictvím a právy 0750. Služba je nakonfigurována s automatickým restartováním při selhání. Stávající nasazení by měla znovu spustit deployment skript pro získání aktualizované service unit.
  • Endpoint pro stažení binárního souboru agenta — Nový endpoint vázaný na deployment GET /deployments/:id/agent-binary obsluhuje binární soubor agenta pro dané nasazení. UUID deploymentu slouží jako autentizační token (náhodný 128-bitový identifikátor, který nelze uhodnout), shodně s endpointy /script a /config. Starší pravidla přepisu pro stahování agenta v reverzní proxy byla odstraněna.
  • Podpora více endpointů Redis — Správa Redis připojení nyní podporuje konfiguraci více adres endpointů pro nasazení s vysokou dostupností a záložním přepínáním. Primární endpoint se konfiguruje přes REDIS_URL, záložní adresy přes REDIS_FALLBACK_URLS (oddělené čárkou, středníkem nebo novým řádkem). Klient automaticky přechází na další dostupný endpoint při výpadku, a pokud jsou nedostupné všechny Redis endpointy, přepne se na in-memory fallback.
  • Politika složitosti hesel v nastavení organizace — Nastavení organizace nyní obsahuje vyhrazený editor Politiky složitosti hesel. Pravidla jsou vynucována při změně hesla (minimální délka, požadavky na třídy znaků, hloubka historie). Při upgradu jsou organizace automaticky migrovány ze zastaralého pole secret_complexity_policy.

Vylepšení

  • Historie rotace Entra přihlašovacích údajů — Operace rotace Entra ID přihlašovacích údajů nyní vytvářejí trvalý záznam historie rotace pro každou událost. Historie zachycuje typ rotace, staré a nové identifikátory klíčů, workflow a execution ID, průběh po krocích, finální stav, případné chybové detaily a trvání. Umožňuje plnou sledovatelnost životního cyklu rotace Entra přihlašovacích údajů.
  • Sladění RBAC oprávnění — Oprávnění rolí aktualizována dle dohodnuté produktové politiky:
    • secret_manager — přidáno keytab:read a config:read (stránky Správa KeyTab a Správa konfigurace jsou nyní přístupné)
    • certificate_manager — přidáno config:read (stránka Správa konfigurace je nyní přístupná)
    • auditor — odebráno keytab:read (Správa KeyTab již není viditelná pro auditní role; pro auditní přístup ke KeyTab přiřaďte explicitně oprávnění keytab:read)
  • Rozšíření typů referencí admin přihlašovacích údajů — Admin přihlašovací údaje k databázi nyní podporují dva nové typy referencí: mazevault (přihlašovací údaje uložené jako MazeVault spravované tajemství) a external (obecné externí reference). Úplná sada podporovaných typů: internal, mazevault, external, keyvault, aws_sm.
  • Asynchronní seedování synchronizace tajemství s přehledem stavu — Operace seedování synchronizace nyní běží asynchronně a ihned vrací odkaz na průběh s detailním přehledem stavu (tajemství vytvořena, aktualizována, přeskočena, selhala). Zablokované seed incidenty jsou nyní zobrazeny na stránce Řešení konfliktů.
  • Vydávání certifikátů propojeno s agentem — Certifikáty vydané registrovanému agentovi jsou nyní při vydání propojeny se záznamem vydávajícího agenta, čímž je životní cyklus certifikátu propojen s agentem v dashboardu a rotační orchestraci.
  • Bezpečnostní vylepšení — obsluha bootstrap a KeyTab — Handlery pro aktualizaci a mazání KeyTab nyní vynucují kontrolu vlastnictví organizace (ochrana proti IDOR): přístup ke KeyTab patřícímu jiné organizaci vrátí 404. Endpoint pro změnu hesla při bootstrapu je uzamčen po dokončení prvotního bootstrapu a odmítá další volání s kódem 403 Forbidden. Do CI pipeline byl přidán DAST (Dynamic Application Security Testing) workflow.
  • Aktualizace kontaktu pro obnovu licence — Kontaktní e-mail pro obnovu licence je nyní info@mazevault.com ve všech notifikačních bannerech a modalech exspirace.

Opravy chyb

  • SSO Provider Modal: zachování ID poskytovatele při uložení — Opravena chyba, při níž uložení stávající konfigurace SSO poskytovatele způsobilo ztrátu ID poskytovatele, což vedlo k vytváření duplicitních poskytovatelů při dalším uložení.
  • Zpětné doplnění politiky složitosti hesel — Organizace, které měly nakonfigurovanou politiku složitosti tajemství přes starší pole secret_complexity_policy, byly chybně vyhodnoceny jako nemající žádnou politiku hesel, což způsobovalo falešná selhání kontrol souladu s PCI-DSS 8.3. Politika je nyní při upgradu automaticky propagována do vyhrazeného pole politiky složitosti hesel. Organizace bez jakékoliv nastavené politiky navíc při upgradu obdrží bezpečnou výchozí politiku (minimálně 16 znaků, všechny třídy znaků povinné, historie 10 hesel, rotace každých 30 dní).

Verze 1.0.42

Datum vydání: 2026-05-11

Nové funkce

  • Metadata certifikátů — Certifikáty nyní podporují tři uživatelsky editovatelné pole metadat dostupná z detailu certifikátu a přes PUT /api/v1/certificates/:id:
    • Tagy — Volně zadávatelné textové štítky pro seskupování a filtrování certifikátů. Tagy nastavené při importu jsou nyní uloženy a zůstávají editovatelné po importu. Odešlete prázdné pole pro smazání všech tagů.
    • URL dokumentace — Volitelný odkaz (http/https) na externí dokumentaci, runbooky nebo záznamy CMDB pro certifikát. Maximálně 500 znaků.
    • Poznámky — Krátká volně editovatelná anotace (maximálně 256 znaků). Odešlete prázdný řetězec pro smazání poznámky.
    • Všechny změny metadatových polí jsou zaznamenány do auditního logu.

Vylepšení

  • Vynucení kanonizace prostředí při vytváření úkolů — Vytváření gateway úkolů nyní vynucuje kanonizaci slugů prostředí. Všechny gateway úkoly jsou ukládány s malými písmeny slugů prostředí bez ohledu na velikost písmen volajícího, navazujíc na kanonizační infrastrukturu zavedenou ve v1.0.41. Proměnná MAZEVAULT_ENV_CANONICAL_ENFORCE (nastavením na true se přejde do fail-closed režimu pro nekanonické vstupy) platí pro vytváření úkolů od tohoto vydání.

Verze 1.0.41

Datum vydání: 2026-04-26

Vylepšení

  • Synchronizace dokumentace — Komplexní aktualizace dokumentace pro soulad s kódovou základnou v1.0.41. Reference proměnných prostředí rozšířena o pět nových sekcí: Registrace licence/organizace, Režim Orchestrátora, ACME DNS-01, Správa KeyTab a Proxy binárních souborů agenta. Všechny stávající sekce doplněny o dosud chybějící proměnné.
  • Opraven název proměnné Office 365 — Opraven nesprávný název proměnné O365_ENABLEDO365_EMAIL_ENABLED v celé dokumentaci. Zdokumentována kompletní konfigurace autentizace Office 365 (metody: client secret, certifikát a managed identity).
  • Reference API pro KeyTab — Zveřejněna kompletní dokumentace API pro všech 14 endpointů správy KeyTab. Viz API pro KeyTab.
  • Reference API pro reporty — Zveřejněna kompletní dokumentace API pro týdenní reporty exspirace. Viz API pro reporty.
  • Synchronizace verze platformy — Všechny stránky dokumentace aktualizovány tak, aby odrážely aktuální verzi platformy.

Verze 1.0.40

Datum vydání: 2026-04-25

Nové funkce

  • Vynucení nonce OIDC — Nový příznak MAZEVAULT_ENFORCE_OIDC_NONCE povoluje přísné ověření nonce v OIDC tokenech. Při nastavení na true jsou tokeny bez platného nároku nonce odmítnuty, což chrání před útoky opakovaným přehráním tokenu. Doporučeno pro všechna produkční prostředí.
  • Řízení trust store agenta — Nové proměnné prostředí MAZEVAULT_AGENT_INSTALL_CHAIN_TO_TRUSTSTORE a MAZEVAULT_AGENT_TRUST_STORE_PATH řídí, zda agent MazeVault nainstaluje interní řetězec CA do systémového úložiště důvěryhodných certifikátů a umožňují přepsat výchozí cestu trust store na Linuxu.

Vylepšení

  • Stav synchronizace cílů rotace certifikátůGET /api/v1/certificates/:id/targets/:targetId/status nyní vrací úplné detaily výsledků každého kroku, což usnadňuje diagnostiku neúspěšných synchronizací cílů.
  • Stabilita registrace gateway — Vylepšená logika opakování pro výměnu bootstrap tokenů snižuje počet neúspěšných registrací způsobených přechodnými síťovými problémy při prvním nastavení gateway.
  • Validace URL OCSP — Proměnná OCSP_URL nyní ověřuje formát URL při spuštění, aby se zabránilo tichému selhávání OCSP v důsledku špatné konfigurace.

Opravy chyb

  • Opravená rezoluce AGENT_VERSION=latest, aby vždy načítala nejvyšší označenou verzi namísto nejnovějšího commitu.
  • Opraveno překrývání zobrazení v modalu importu certifikátů v režimu Orchestrátora při současné viditelnosti sekcí keytab i soukromého klíče.

Verze 1.0.39

Datum vydání: 2026-04-22

Nové funkce

  • Řízení distribuce binárních souborů agenta — Nové konfigurační proměnné umožňují podrobné řízení distribuce aktualizací agenta. AGENT_ROLLOUT_PERCENTAGE omezuje, které procento agentů dostane notifikaci o aktualizaci (0–100), což umožňuje postávkové zavedení. AGENT_MAX_CONCURRENT_DOWNLOADS omezuje paralelní stahování binárních souborů.
  • Proxy binárních souborů agenta — MazeVault nyní může zprostředkovávat stahování binárních souborů agenta z privátního repozitáře GitHub, čímž odpadá požadavek na přímý přístup hostů agenta k veřejnému GitHub Releases. Konfigurujte přes AGENT_BINARY_GITHUB_TOKEN, AGENT_BINARY_CACHE_DIR, AGENT_DOWNLOAD_BASE_URL a AGENT_VERSION.
  • Semenáření prostředí primárního backendu — Nová proměnná MAZEVAULT_PRIMARY_ENVIRONMENTS před-nasévá seznam prostředí obsluhovaných přímo primárním backendem při prvním spuštění, což zjednodušuje počáteční konfiguraci nasazení s více prostředími.

Vylepšení

  • Obnovování dashboardu KeyTab — Opraven graf souladu šifer, který se neaktualizoval po importu keytabu se zastaralými šiframi.
  • Spolehlivé vícekanálové doručení týdenního reportu — Opravena podmínka plánovače, která mohla tiše vynechat jeden doručovací kanál při současném povolení více kanálů.

Opravy chyb

  • Opravena chyba, kdy časové razítko heartbeatu gateway nebylo správně aktualizováno po obnovení ze síťové partice.

Verze 1.0.38

Datum vydání: 2026-04-19

Nové funkce

  • Správa KeyTab — kompletní životní cyklus Kerberos — Enterprise správa Kerberos KeyTab souborů s kompletní podporou životního cyklu. Import, discovery a správa keytab souborů napříč infrastrukturou. Klíčové schopnosti:
    • Import a parsování — Import MIT Kerberos v2 keytab binárních souborů s automatickou extrakcí principálů, realmů, verzí klíčů (KVNO) a šifrovacích typů. Podporuje nahrání v base64 kódování.
    • Discovery agentem — Agenti automaticky objevují .keytab soubory na spravovaných hostech, hlásí cestu k souboru, oprávnění, vlastníka a otisk šifrovacího typu. Objevené keytaby lze importovat do spravovaného inventáře jedním kliknutím.
    • Vynucování šifrovacích politik — Definujte šifrovací politiky na úrovni organizace s povolenými a zastaralými šifrovacími typy Kerberos. Tři režimy vynucení: audit (pouze reportování), warn (povolit s varováním), block (zakázat neshody). Výchozí politika blokuje starší šifry (DES, RC4-HMAC) a povoluje moderní AES a Camellia.
    • Historie verzí — Všechny aktualizace keytabů vytvářejí neměnitelné záznamy verzí se sledováním důvodu změny pro plný auditní soulad.
    • Dashboard a analytika — Vyhrazený dashboard KeyTab zobrazující celkový/aktivní/exspirovaný počet, rozpad souladu s šiframi (vyhovující/varování/kritický), prognózy exspirace a distribuci typů šifer.
    • Podpora režimu Orchestrátora — V režimu Orchestrátora se binární data keytab odesílají do externího poskytovatele; lokálně se ukládají pouze metadata.
  • Týdenní report exspirací — Automatické týdenní reporty zobrazující certifikáty a secrets exspirující do 60 dnů, doručované na více kanálů současně:
    • Email — HTML formátovaný report na konfigurovaný seznam příjemců
    • Slack / Microsoft Teams — Notifikace přes webhook se souhrnem exspirací
    • JIRA — Automatické vytvoření úkolu s detaily exspirace pro sledování
    • Generický webhook — HTTP POST s kompletním payloadem reportu pro vlastní integrace
    • Reporty lze před odesláním zobrazit jako náhled a spustit ručně na vyžádání.
  • Registrace lokální gateway — Primární backend se nyní může zaregistrovat jako lokální gateway, což umožňuje jednotné UI správy gateway pro lokální i vzdálené gateway. Unikátní omezení zajišťuje pouze jednu lokální gateway na nasazení.

Vylepšení

  • Podpora více prostředí na gateway — Gateway nyní mohou obsluhovat více prostředí současně, čímž se odstraňuje předchozí omezení jedna-gateway-na-prostředí.
  • RBAC oprávnění pro reporty — Nová oprávnění report:read a report:write poskytují jemné řízení přístupu k reportovacímu systému. Všechny standardní role (User, Certificate Manager, Secret Manager, Auditor) získávají report:read; Admin a Project Admin navíc získávají report:write.
  • RBAC oprávnění pro KeyTab — Nová oprávnění keytab:read, keytab:write, keytab:delete a keytab:admin řídí přístup ke správě keytabů. Standardní uživatelé a auditoři získávají přístup pro čtení; operátoři a org admini získávají zápis a mazání; org admini navíc získávají admin přístup pro správu politik.

Opravy chyb

  • Čistění pravidel synchronizace Entra — Odstraněna osiřelá sync pravidla ponechaná smazanými integracemi a vyčištěna duplicitní sync pravidla pro typ poskytovatele entra_id (nyní řešeno dedikovaným Entra Sync Schedulerem). Opravuje opakující se chyby „sync failed for rule" v produkčních prostředích.

Verze 1.0.37

Datum vydání: 2026-04-16

Vylepšení

  • Šifrování payloadu úloh gateway — Citlivé payloady úloh vyměňované mezi primárním backendem a gateway jsou nyní šifrovány v klidu v databázi. Příznak payload_encrypted na úlohách gateway zajišťuje, že JSONB payloady obsahující přihlašovací údaje a soukromé klíče jsou chráněny i v případě kompromitace přístupu k databázi.
  • Exponenciální backoff fronty zápisů — Fronta zápisů pro více datových center nyní sleduje časové razítko každého pokusu o opakování, což umožňuje správný výpočet exponenciálního backoff pro neúspěšné synchronizační operace. Zlepšuje spolehlivost a snižuje zbytečnou zátěž vzdálených gateway během výpadků konektivity.

Bezpečnostní aktualizace

  • Šifrování payloadu gateway v klidu — Výsledky úloh a payloady ve frontě úloh gateway jsou nyní šifrovány před uložením do databáze, čímž se uzavírá potenciální vektor expozice dat v nasazeních s více datovými centry.

Verze 1.0.36

Datum vydání: 2026-04-15

Nové funkce

  • Databázové schéma KeyTab — Nové databázové tabulky pro správu keytab: keytabs (šifrované úložiště keytab se sledováním souladu šifer), keytab_versions (neměnitelná historie verzí), keytab_cipher_policies (vynucování šifer na úrovni organizace) a discovered_keytabs (výsledky discovery agentů s detekcí zastaralých záznamů).
  • RBAC oprávnění KeyTab — Nová sada oprávnění (keytab:read, keytab:write, keytab:delete, keytab:admin) přiřazená příslušným systémovým rolím pro správu životního cyklu keytab.

Vylepšení

  • Vylepšení API tokenů gateway — Vylepšená autentizace gateway s dedikovanými API tokeny a podporou bootstrapového provisioningu.
  • Discovery KeyTab agentem — Agenti nyní mohou objevovat Kerberos keytab soubory na spravovaných hostech a hlásit zjištění včetně cesty k souboru, oprávnění, vlastníka, typů šifrování a SHA-256 otisku.

Verze 1.0.35

Datum vydání: 2026-04-14

Opravy chyb

  • PEM Import — Zachování soukromého klíče — Opravena kritická chyba, kdy import PEM souboru obsahujícího řetěz certifikátů a soukromý klíč tiše zahodil soukromý klíč. Systém správně detekoval klíč při náhledu souboru, ale ztratil ho během vlastního importu, což způsobovalo selhání následných exportů do PFX/JKS. Parser PEM bundlů nyní správně extrahuje PKCS#8, RSA a EC soukromé klíče.
  • Import certifikátu — Název projektu v chybových zprávách — Při importu certifikátu, který již existuje, chybová zpráva nyní obsahuje název projektu, kde se duplikát nachází (např. „certifikát již existuje … project=MůjProjekt"), což usnadňuje identifikaci konfliktů.

Vylepšení

  • Viditelnost soukromého klíče v UI — Certifikáty nyní zobrazují stav soukromého klíče ve všech pohledech:
    • Seznamy certifikátů zobrazují zelenou ikonu štítu, když je uložen soukromý klíč.
    • Dashboard certifikátů zobrazuje zelenou ikonu klíče u certifikátů se soukromým klíčem.
    • Detail certifikátu zobrazuje chip indikující, zda je klíč uložen lokálně, externě, nebo není k dispozici.

Verze 1.0.34

Datum vydání: 2026-04-10

Nové funkce

  • Discovery skupin Identity Provideru — Nový API endpoint GET /identity-providers/{id}/groups načítá skupiny přímo z nakonfigurovaného poskytovatele identity (Entra ID přes Microsoft Graph, LDAP přes adresářové vyhledávání). Podporuje filtrování pomocí vyhledávání podle názvu skupiny pro snadné mapování rolí.
  • Test pokrytí Identity Provideru — Přidáno komplexní pokrytí unit testy pro CRUD operace poskytovatele identity, test-connection flow a endpointy pro discovery skupin.

Vylepšení

  • JKS Export — Čistá Go implementace — Nahrazena externí závislost na keytool (JDK) nativní Go implementací pomocí keystore-go/v4. Export JKS nyní funguje v jakémkoliv prostředí bez nutnosti Java runtime, obsahuje kompletní řetěz certifikátů a má komplexní pokrytí testy.
  • Autentizace Gateway API tokenem — Nová tabulka gateway_api_tokens a middleware pro autentizaci gateway-to-backend API. Gateway se nyní mohou autentizovat pomocí dedikovaných API tokenů s automatickým provisioningem při bootstrapu.
  • Fronta zápisů Gateway — Přidána tabulka gateway_write_queue pro bufferování zápisových operací z gateway, což umožňuje spolehlivou synchronizaci dat v nasazeních s více datovými centry.
  • Posílení bootstrapu Gateway — Vylepšený bootstrap flow gateway s rozšířenou validací, kontrolami konektivity Azure SQL a spolehlivější počáteční registrací.
  • Terraform pro Azure testovací prostředí — Nová konfigurace Terraformu pro automatizovaný provisioning Azure testovacího prostředí, včetně Entra ID enterprise aplikací, Key Vaultů a Azure SQL.

Bezpečnostní aktualizace

  • Middleware autentizace Gateway — Nový dedikovaný middleware validuje API tokeny gateway se správnými kontrolami scope a propagací kontextu požadavku.

Verze 1.0.33

Datum vydání: 2026-04-09

Nové funkce

  • Endpointy pro kontrolu Azure oprávnění — Přidány nové API endpointy pro validaci přístupů a viditelnosti zdrojů v Azure:
  • POST /api/v1/admin/azure/mi-permissions-check
  • GET /api/v1/azure/user-permissions-summary
  • GET /api/v1/azure/subscriptions/{subscriptionId}/sql-servers
  • Validace oprávnění Managed Identity — Nový kontrolní tok Managed Identity ověřuje přístup ke konfigurovaným Azure integracím a vrací stav po jednotlivých integracích.
  • Souhrn uživatelských oprávnění — Přidán konsolidovaný přehled Azure zdrojů viditelných pro přihlášeného uživatele na úrovni subscription, včetně Key Vault a SQL server discovery.

Vylepšení

  • RBAC integrace pro Azure permission checks — Endpointy kontroly Azure oprávnění jsou nyní chráněné MazeVault RBAC pomocí guardů integration:read a integration:write.
  • Pokrytí Swagger schémat — Definice OpenAPI nyní obsahuje response modely pro Azure permission check (MIPermissionsCheckResponse, MICheckResult) pro přesnější generování API klientů.

Bezpečnostní aktualizace

  • Sjednocení oprávnění rolí — Migrace 000109_add_audit_settings_permissions přidává oprávnění audit:read a project:write rolím certificate_manager a secret_manager pro konzistentní chování řízení přístupu.

Verze 1.0.32

Datum vydání: 2026-04-08

Nové funkce

  • Integrace Azure Managed HSM — Plná podpora pro ukládání a manipulaci klíčů v Azure Managed HSM s automatickými aktualizacemi certifikátů a rotací klíčů. Všechny operace se soukromými klíči se provádějí v HSM s metadaty vrácenými do databáze.
  • Zásady hesel na úrovni organizace — Definujte pravidla pro vynucování hesel (minimální délka, složitost, doba platnosti) pro všechny uživatele organizace. Pravidla se vynucují při vytvoření a změně hesla s kompatibilitou pro staré integrace.

Vylepšení

  • Výkon synchronizace CRDT — Optimalizované řešení konfliktů pro datasety >100k záznamů, zlepšení rychlosti o 40% na setupech s více datovými centry.
  • Rozšířené auditní protokoly — Komplexní zaznamenávání všech operací týkajících se hesel, certifikátů a administrativních akcí.

Opravy chyb

  • Opraveno časování zneplatnění cache v clusterových nasazeních.
  • Vyřešena selhání synchronizace s velkými CSR transakcemi.

Verze 1.0.31

Datum vydání: 2026-04-07

Nové funkce

  • Režim Orchestrátora — Uchovávání klíčů externě — MazeVault nyní může běžet v režimu, kde jsou všechny soukromé klíče a tajemství ukládány výhradně v externích úschovnách klíčů (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault). Místní databáze obsahuje pouze metadata.
  • Sledování souladu s licencí — Dashboard zobrazuje stav licence v reálném čase, včetně použitých licencí, nadcházejících vypršení a stavů varování.

Vylepšení

  • Migrace ze standardního režimu do režimu Orchestrátora — Nové příkazy CLI pro bezpečnou migraci existujících systémů v standardním režimu do režimu Orchestrátora.
  • UI režimu Orchestrátora — Přepínač v průvodci onboardingem a v nastavení organizace.

Opravy chyb

  • Opraveno selektivní kopírování certifikátů v režimu Orchestrátora.

Verze 1.0.30

Datum vydání: 2026-04-07

Nové funkce

  • ACME Server — plná implementace RFC 8555 — MazeVault nyní funguje jako plně kompatibilní ACME certifikační autorita. Jakýkoliv standardní ACME klient (cert-manager, Certbot, acme.sh, Kubernetes) může přímo od MazeVault získávat a obnovovat certifikáty bez manuálního zásahu. Podporované typy výzev: HTTP-01, DNS-01, TLS-ALPN-01.
  • External Account Binding (EAB) — Registrace ACME účtů lze omezit pouze na autorizované klienty pomocí předsdílených EAB přihlašovacích údajů (HMAC). Zabraňuje neoprávněnému vydávání certifikátů neznámými ACME klienty.
  • Dashboard synchronizace — Nová sekce dashboardu zobrazuje stav synchronizace v reálném čase: přehled konfigurací, aktivní konflikty a selhání synchronizace s návodem pro řešení jednotlivých položek.
  • Oprávnění sync:read — Nové oprávnění sync:read umožňuje členům projektů, auditorům a držitelům rolí přístup k stavovým endpointům synchronizace bez potřeby zvýšených oprávnění.

Vylepšení

  • Posílení ACME Authorization Nonce — Vyhrazená tabulka nonce (acme_server_nonces) s TTL exspirací zajišťuje přísnou ochranu replay-nonce dle RFC 8555 §6.5.
  • Indexování ACME challenge tokenů — Challenge tokeny nyní využívají vyhrazený indexovaný sloupec pro validaci s O(1) dotazy místo skenování JSON, čímž se zvyšuje propustnost při vysokém objemu ACME požadavků.
  • RBAC — sjednocení oprávnění synchronizace — Role project_admin, certificate_manager, secret_manager, user a auditor nyní zahrnují sync:read pro konzistentní přístup ke sync dashboard endpointům.

Opravy chyb

  • Opravena race condition v přechodech stavu ACME order při souběžných finalize požadavcích.
  • Vyřešen problém s pořadím vytváření ACME authz tabulek (idempotentnost migrace).

Verze 1.0.29

Datum vydání: 2026-04-06

Nové funkce

  • Rozhraní pro správu konfigurace — Nové záložkové UI pro správu životního cyklu konfiguračních souborů: discovery YAML/JSON/INI souborů napříč prostředími, přípravná oblast pro koncepty a propagace konfigurací do produkce. Poskytuje přehled o počtu discoveredvs. spravovaných konfigurací.
  • Polymorfní konfigurace rotace certifikátů — Záznamy rotace nyní podporují jak rotaci secretů, tak certifikátů v unified modelu. Pole config_type rozlišuje oba typy, čímž eliminuje samostatné tabulky workflow.
  • Sledování zdroje nastavení obnovení — Každý certifikát nyní zaznamenává, zda jeho nastavení obnovení pochází z projektové šablony (template) nebo bylo nastaveno ručně (manual), což poskytuje jasnou auditní stopu pro chování rotace.

Vylepšení

  • Organizační izolace žádostí o certifikáty — Žádosti o podpis certifikátů (CSR) jsou nyní vázány na organizaci původce. Pole organization_id je zpětně doplněno z projektových asociací, čímž se zabraňuje úniku CSR dat mezi organizacemi.
  • Databázová schémata ACME serveru — Databázové schéma pro ACME serverový protokol (autorizační objekty a nonce tabulky) bylo připraveno pro vydání ACME serveru v 1.0.30.
  • Čistění workflow rotace — Odstraněny zastaralé tabulky rotation_workflows a rotation_step_executions nahrazené unified modelem spuštění rotace.

Opravy chyb

  • Opraveno přejmenování sloupce rotation_configs.next_rotation na next_rotation_at — dotazy plánovače nyní používají správný název sloupce.
  • Vyřešeno omezení cizího klíče na rotation_executions.config_id, které bránilo polymorfním odkazům na konfiguraci rotace.

Verze 1.0.28

Datum vydání: 2026-04-05

Nové funkce

  • Zásady pojmenování secretů — Definujte celoorganizační konvence pojmenování secretů pomocí regex pravidel se třemi úrovněmi vynucení: block (zakáže vytvoření), warn (povolí s varováním) a disabled (informativní). Zásady jsou spravovány jako konfigurační šablony a validovány v reálném čase při vytváření secretu.
  • Dashboard souladu s pojmenováním — Nová záložka v Secrets Dashboardu zobrazuje heat mapu porušení zásad, míru souladu na úrovni jednotlivých pravidel a automaticky generované návrhy pravidel na základě existujících vzorců pojmenování secretů.
  • Framework konzistence — Vytvořte skupiny konzistence pro ověření existence specifikovaných secretů ve všech požadovaných prostředích. Endpoint POST /projects/{id}/consistency/groups a záložka dashboardu povrchně zobrazují chybějící hodnoty a mezery v prostředích s podporou resolve-warning pro dokumentované výjimky.
  • Výchozí nastavení zabezpečení databáze — Organizace nyní mohou konfigurovat TLS/šifrování pro databázové integrace na úrovni prostředí. Produkční prostředí výchozím nastavením vyžaduje přísné TLS (verify-full, encrypt, TCPS); neprodukční prostředí využívají permisivní výchozí nastavení. Podporovatelé: Oracle, MSSQL, PostgreSQL, MongoDB, MySQL.
  • Vylepšené sdílené secrety — Sdílené secrety nyní podporují volitelnou ochranu heslem (bcrypt), recipient_email pro sledování záměru, automatické označení typu obsahu (secret nebo certificate) a atribuci zdroje rotace (source_type, source_id) pro automatizovanou distribuci po rotaci.

Bezpečnostní aktualizace

  • Oprávnění RBAC pro konzistenci — Nová oprávnění consistency:read a consistency:write řídí přístup ke skupinám konzistence a řešení varování. Přiřazena rolím project_admin, certificate_manager, secret_manager, user a auditor.
  • Zpřesnění role auditora — Role auditor již nemá přístup k deployment dashboardu ani obecným dashboard pohledům, čímž se role striktně zaměřuje na audit logy, správu uživatelů, stav gateway a agentů — redukuje útočnou plochu účtů pouze pro čtení.

Opravy chyb

  • Opraveno ukládání zásad pojmenování secretů: zásady jsou nyní persistovány v config_management_templates místo zastaralého JSONB sloupce organizations.secret_complexity_policy.

Verze 1.0.27

Datum vydání: 2026-04-04

Nové funkce

  • Nové role: Certificate Manager a Secret Manager — Dvě nové specializované role poskytují jemné řízení přístupu bez udělení viditelnosti napříč doménami:
  • certificate_manager — Plná správa životního cyklu certifikátů, CA účtů, šablon, discovery a deploymení. Bez přístupu k secretům.
  • secret_manager — Plná správa životního cyklu secretů, rotace, deploymení a integrací. Bez přístupu k certifikátům.
  • Vzor autorizačního kódu SSO — Přístupové tokeny se již nepředávají přes URL parametry při SSO callbacku. Callback nyní doručuje krátkodobý kód (sso_code, 60sekundová TTL), který frontend vymění za tokeny prostřednictvím POST /auth/sso/exchange. Eliminuje se tím expozice tokenů v historii prohlížeče, serverových přístupových lozích a hlavičkách Referer. Platí pro poskytovatele SSO: Entra ID, GitHub a GitLab.
  • Konsolidace mapování skupin Entra — Mapování skupin Entra ID na role jsou nyní uložena v unified tabulce group_role_mappings se sloupcem source (local nebo entra). To umožňuje konzistentní správu skupin z lokálních LDAP skupin i cloudových skupin Entra ID z jednoho rozhraní.

Bezpečnostní aktualizace

  • Validace OIDC Nonce — OAuth2 stav nyní nese serverem generovaný nonce validovaný při výměně tokenu. Zabraňuje CSRF/únosu tokenu prostřednictvím cross-site OAuth substituce stavu.
  • Odebrání zastaralých rolí — Starší role (operator, developer, org_admin, secret_editor, secret_viewer, certificate_admin, system_admin) byly odebrány. Stávající uživatelé s těmito rolemi byli automaticky migrováni: operatorproject_admin, developeruser. Integrace používající zastaralé názvy rolí v API voláních musí být aktualizovány.
  • Integrita dat uživatelských rolí — Opravena korupce primárního klíče s nulovou UUID v tabulce user_roles způsobená chybějícím hookem BeforeCreate. Byl přidán kompozitní unikátní index k zabránění duplicitním přiřazením rolí. Postižené záznamy byly zpracovány deduplikací během migrace.
  • Index soft-delete emailu uživatele — Omezení unikátnosti emailu je nyní partial index (WHERE deleted_at IS NULL). Soft-smazaní uživatelé již neblokují vytvoření nového účtu ani SSO registraci se stejnou emailovou adresou.

Opravy chyb

  • Opravena duplikace mapování skupin Entra po opětovném přihlášení SSO.
  • Vyřešena selhání přiřazení rolí pro uživatele vytvořené prostřednictvím LDAP group sync.

Verze 1.0.26

Datum vydání: 2026-04-03

Nové funkce

  • Vylepšení importu PFX/PKCS#12 — Vylepšený import PFX certifikátů s lepším parsováním a validací
  • Opravy šablon certifikátů — Vyřešeny problémy s konfigurací šablon ovlivňující workflow enrollmentu certifikátů
  • Úpravy mapování rolí — Aktualizovaná logika mapování skupin na role pro lepší SSO integraci
  • Rozšíření auditních logů — Rozšířené auditní logování s dalšími typy událostí a vylepšenou sledovatelností

Bezpečnostní aktualizace

  • Komplexní remediace zranitelností — Vyřešeno 18 z 24 identifikovaných zranitelností napříč všemi komponentami platformy prostřednictvím systematického skenování a aktualizace závislostí
  • Oprava obejití SAML podpisu (KRITICKÉ) — Opravena kritická zranitelnost obejití XML podpisu v SAML SSO autentizačním toku (goxmldsig v1.3.0 → v1.6.0)
  • Oprava HTTP/2 CONTINUATION flood (KRITICKÉ) — Vyřešena aktivně zneužitelná HTTP/2 denial-of-service zranitelnost v Kubernetes Operátoru (golang.org/x/net v0.19.0 → v0.52.0)
  • Oprava obejití autorizace gRPC — Opraveno obejití autorizace gRPC přes chybějící lomítko v cestě (google.golang.org/grpc → v1.80.0)
  • Opravy JOSE/JWE Denial-of-Service — Vyřešeny 3 samostatné DoS zranitelnosti v JSON Web Encryption (go-jose/v3 v3.0.0 → v3.0.4)
  • Kritická oprava Node.js SDK — Eliminováno 8 kritických Handlebars.js advisories včetně JavaScript injection a prototype pollution
  • Posílení bezpečnosti CI/CD — Připnutí Trivy security scanneru na konkrétní verzi (ochrana supply chain), povolení bezpečnostního skenování na všech CI událostech

Vylepšení

  • Přepracování Kubernetes Operátoru — Velká aktualizace závislostí na controller-runtime v0.22.5 a k8s.io/* v0.34.3 s vylepšením kvality kódu včetně extrahovaných reconciliačních metod, konfigurovatelných intervalů obnovení, správné propagace watch a strukturovaného logování
  • Oprava Terraform Provideru — Opravena chyba kompilace a aktualizovány všechny závislosti na nejnovější stabilní verze (terraform-plugin-framework v1.19.0, grpc v1.80.0)
  • Vylepšení Go SDK — Přidáno pole Environment do modelu Project pro vylepšenou správu projektů
  • Posílení Docker obrazů — Připnutí základního obrazu OCSP Responderu na alpine:3.21 (reprodukovatelné buildy), přepnutí Frontendu na npm ci pro deterministickou instalaci závislostí
  • Sjednocení závislostí — Sjednocení golang.org/x/crypto, golang.org/x/net a dalších standardních knihoven napříč všemi 7 Go moduly na nejnovější stabilní verze

Verze 1.0.25

Datum vydání: 2026-04-01

Nové funkce

  • Přepracování Swagger API dokumentace — Kompletní regenerace Swagger/OpenAPI dokumentace s úplným pokrytím endpointů, vylepšenými definicemi schémat a přesnými příklady požadavků/odpovědí
  • Konfigurace prostředí Entra ID SSO — Nové proměnné prostředí pro konfiguraci Entra ID SSO a Azure Managed Identity v .env.example pro zjednodušené nasazení

Vylepšení

  • Konfigurace LDAP a OAuth poskytovatele — Vylepšené nastavení SSO poskytovatele s lepším zpracováním LDAP bind DN a konfigurací OAuth2 flow
  • Endpoint stavu emailů — Nový endpoint GET /api/v1/system/email-status pro monitorování stavu doručení emailových notifikací
  • Handlery rotace certifikátů — Nové API handlery pro provádění rotace certifikátů a sledování stavu
  • Vylepšení integrace agentů — Vylepšené handlery pro discovery a integraci agentů s lepším hlášením chyb
  • Správa SSH klíčů — Rozšířená služba SSH klíčů s vylepšeným importem a rotačními schopnostmi

Bezpečnostní aktualizace

  • Aktualizovaná autentizační služba s vylepšenou validací tokenů a správou sessions
  • Vylepšený Entra ID Graph klient s dodatečnými bezpečnostními hlavičkami

Verze 1.0.24

Datum vydání: 2026-03-30

Opravy chyb

  • Oprava Entra ID SSO — Vyřešen kritický problém s autentizací Entra ID SSO ovlivňující přihlašovací flow a obnovu tokenů
  • Vyčištění kódu — Odstraněn zastaralý kód handlerů a nepoužívané endpointy mapování Entra pro čistší codebase

Vylepšení

  • Aktualizované modely schématu s dodatečnými definicemi polí pro lepší integritu dat

Verze 1.0.23

Datum vydání: 2026-03-30

Vylepšení

  • Šablony certifikátů a správa expirace — Vylepšená konfigurace šablon certifikátů s lepším sledováním expirace, optimalizacemi plánovače a lepšími indikátory stavu CA integrace
  • Validace importu certifikátů — Vylepšená služba importu certifikátů s přísnější validací řetězce a lepšími chybovými zprávami
  • Synchronizace SSLmarket CA — Rozšířený poskytovatel SSLmarket CA s vylepšenou synchronizací produktů a sledováním stavu certifikátů
  • Rozšířené logování — Vylepšené logování napříč certifikátovými službami pro lepší troubleshooting a audit trail

Opravy chyb

  • Opravena kalkulace stavu certifikátu v X.509 utility funkcích
  • Vyřešeny problémy se zobrazením dashboardu pro expirující certifikáty
  • Opraven modal editace certifikátu zachovávající nesprávné hodnoty při uložení

Verze 1.0.22

Datum vydání: 2026-03-30

Nové funkce

  • Podpora multi-gateway prostředí — Nová databázová migrace a servisní vrstva pro multi-gateway nasazení s konfigurací gateway specifickou pro prostředí, monitorováním zdraví a prováděním úloh
  • Monitor zdraví gateway — Real-time monitorování zdraví gateway s sledováním heartbeatu, automatickou detekcí failoveru a Prometheus metrikami
  • Služba routování gateway — Inteligentní routování požadavků napříč více instancemi gateway s load balancingem a povědomím o prostředí
  • Exekutor úloh gateway — Distribuovaný framework pro provádění úloh gateway s retry logikou a sledováním stavu
  • Správa identity providerů — Nové API handlery pro konfiguraci a správu identity providerů

Vylepšení

  • Posílení cipher key resolveru — Kompletní testovací pokrytí pro rozlišení cipher klíčů s 715+ řádky nových testů eliminujících nekonzistence duálního úložiště
  • Kontroly zdraví databáze — Aktualizované očekávané tabulky a sloupce pro nové databázové schéma související s gateway
  • Průvodce integrací — Nové vícekrokové UI průvodce integrací pro konfiguraci CA providerů, správců secrets a externích integrací
  • Oprava derivace klíčů — Vyřešen problém s derivací klíčů ovlivňující šifrovací operace

Bezpečnostní aktualizace

  • Eliminována zranitelnost duálního úložiště cipher klíčů prostřednictvím migrace 000089
  • Vylepšená autentizační služba s lepší správou sessions

Opravy chyb

  • Opraveny selhání testů v orchestrátoru certifikátů a službách správy konfigurace
  • Vyřešen problém s přesměrováním EntraID SSO na některých konfiguracích prohlížeče

Verze 1.0.21

Datum vydání: 2026-03-26

Nové funkce

  • Azure Resource Discovery — Nové API handlery pro discovery cloudových zdrojů Azure s enumerací Key Vault, certifikátů a secrets
  • UI průvodce integrací — Vícekrokový průvodce pro konfiguraci integrací s CA providery a správci secrets, včetně výběru typu, konfigurace poskytovatele a kroků revize

Vylepšení

  • Služba CA účtů — Vylepšená správa CA účtů s lepším zpracováním chyb a sledováním stavu
  • Aktualizace schémat modelů — Aktualizované datové modely napříč SSH klíči, MFA, OAuth, CRL a zero-trust moduly pro lepší konzistenci a validaci
  • Testovací pokrytí — Rozšířené testovací pokrytí pro poskytovatele integračních služeb, službu offloadu klíčů a operace offloadu secrets

Opravy chyb

  • Opravena nekonzistence modelu audit událostí certifikátů
  • Vyřešeny problémy se zarovnáním polí modelu objevených certifikátů

Verze 1.0.20

Datum vydání: 2026-03-23

Nové funkce

  • Office365 OAuth2 emailové notifikace — Odesílání emailových notifikací přes Microsoft Graph API pomocí OAuth2 client credentials flow místo legacy SMTP; podpora 3 autentizačních metod (client secret, certifikát, managed identity); využívá existující Entra ID infrastrukturu s cachováním spojení a retry logikou; transparentní náhrada — všech 6 email trigger bodů (upozornění na expiraci, incidenty, týdenní reporty, selhání rotace, souhrny discovery, testovací notifikace) funguje automaticky; nový endpoint GET /api/v1/system/email-status a frontend status indikátor v System Outputs → záložka Notifications
  • SmallStep CA poskytovatel — Integrace open-source step-ca jako backend certifikační autority s podporou provisioners JWK, X5C a OIDC; mTLS autentizace, podepisování, obnova, revokace certifikátů a podepisování CRL s ověřením otisku kořenového certifikátu; ideální pro zero-trust architektury s krátkodobými certifikáty
  • Multi-target rotace certifikátů — Nasazení certifikátů na 5 typů cílů: Secret Managers (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault), Kubernetes Secrets (TLS/Opaque), Agent Keystores (JKS, PKCS12, Windows), Agent Files (PEM) a Database Wallets (Oracle OCI); výběr režimu obsahu (veřejný, veřejný+řetězec, kompletní řetězec s klíčem, pouze klíč), automatická detekce formátu, politiky opakování s konfigurovatelným počtem pokusů a prodlevami, spouštění post-install příkazů
  • Enterprise Entra ID správa životního cyklu přihlašovacích údajů — Kompletní správa životního cyklu se stavy (vytvořen, aktivní, expirující, expirovaný, odvolaný, grace period), konfigurovatelná lhůta odkladu (výchozí 30 dní), sledování historie rotace se starými/novými ID klíčů a trasováním workflow, dashboard monitoringu expirace, ochrana idempotence proti duplicitním rotacím a řešení synchronizačních konfliktů lokálního vs. vzdáleného stavu
  • Prohlížeč compliance reportů — Generování a zobrazení compliance reportů s formátováním na základě šablon, analýza shody certifikátů na úrovni organizace a exportovatelný výstup reportů
  • Historie provádění rotace — Detailní historie rotace per certifikát s časovými značkami provádění, sledováním stavu (úspěch/selhání/čekání) a vizualizací stavu synchronizace na úrovni cíle
  • Sledování fáze životního cyklu certifikátu — Nové fáze životního cyklu (stabilní, obnovování, rotace, revokace) brání duplicitním CA požadavkům během probíhajících operací; nezávislé na stavu certifikátu, certifikáty zůstávají platné během přechodů fází

Vylepšení

  • Cíle audit streamů — Nový Elasticsearch cíl se správou index šablon, podpora cluster módu a CosmosDB; nový Syslog cíl s TCP/UDP transportem, podporou formátů CEF a Syslog; rozšířená služba log streamů s validací konfigurace specifickou pro jednotlivé cíle
  • Vylepšení LDAP autentizace — Rozšířená LDAP služba s vylepšeným zpracováním bind DN, rozlišením členství ve skupinách, flexibilitou konfigurace schématu a lepší diagnostikou chyb připojení
  • Redesign plánovače notifikací — Vylepšená logika plánování notifikací o expiraci certifikátů s podporou dávkování pro snížení zahlcení výstrahami, integrace JIRA pro vytváření incidentních tiketů a vylepšení e-mailových notifikací
  • Služba týdenních reportů expirace — Přepracované generování reportů se správou příjemců, přizpůsobitelným obsahem a zlepšenou spolehlivostí doručení
  • Vylepšení šablon projektů — Rozšířená konfigurace šablon s integrací konvencí pojmenování, pokročilými výchozími nastaveními a vylepšeným workflow aplikace šablony na projekt
  • Služba konvencí pojmenování — Rozšířený engine konvencí pojmenování s podporou dalších vzorů, validačních pravidel a propojení konvencí se šablonami pro automatické vynucování
  • Prometheus metriky — Nové histogram a counter metriky pro rotaci certifikátů, compliance reporting a monitorování výkonu audit streamů
  • CI/CD pipeline — Nový GitHub Actions workflow pro automatizovaný build, testování a nasazení
  • SSO Provider Modal — Přidána konfigurace LDAP poskytovatele se serverem, bind DN a nastavením schématu přímo z rozhraní konfigurace SSO
  • WebLogic Deploy krok rotace — Nový typ kroku rotace pro nasazení keystore na Oracle WebLogic Server s automatickou aktualizací konfigurace domény

Bezpečnostní aktualizace

  • Rotace přihlašovacích údajů Entra ID s kompletním audit trailem — každá rotace zaznamenána s aktérem, časovým razítkem, starými/novými ID klíčů a stavem provádění
  • Operace SmallStep CA logovány do audit streamu s kompletními metadaty požadavku/odpovědi
  • Fáze životního cyklu certifikátu brání souběžným CA operacím, eliminující race conditions ve workflow obnovy a rotace
  • Detekce synchronizačních konfliktů Entra s automatickým sledováním nesrovnalostí lokálního vs. vzdáleného stavu

Verze 1.0.19

Datum vydání: 2026-03-20

Nové funkce

  • Nasazení Azure Gateway — Multi-regionální infrastruktura Azure Gateway s Terraform moduly pro AKS, Key Vault, PostgreSQL, Redis, síťování, monitoring a správu identit; Helm chart values pro konfiguraci gateway; Azure DevOps CI/CD pipeline pro automatizované nasazení
  • Key Vault RBAC služba — Granulární řízení přístupu na základě rolí pro operace Azure Key Vault s oprávněními na úrovni jednotlivých tajemství a certifikátů
  • Key Vault Watch Connector — Real-time synchronizace mezi MazeVault a Azure Key Vault s detekcí změn a automatickou aktualizací tajemství
  • Engine konvencí pojmenování — Doménově specifická pravidla pojmenování s wildcard pattern matchingem, řazením priorit a vynucováním na úrovni šablon pro konzistentní pojmenování zdrojů napříč projekty
  • Dashboard záložka reportů — Přepracovaný dashboard reportů se statistikami přehledu certifikátů, interaktivními grafy a exportovatelnými daty reportů
  • Node.js SDK — Oficiální MazeVault SDK pro Node.js s TypeScript definicemi, podpora autentizace (SRP), organizací, projektů a správy tajemství

Vylepšení

  • Audit log scoping na projekt — Auditní události nyní obsahují vazbu na projekt pro efektivní filtrování per projekt a compliance reporting; existující události zpětně doplněny z vazeb entit
  • Oprava storage mode pro Orchestrator Mode — Normalizovány nekonzistentní hodnoty storage mode pro nasazení Orchestrator Mode, vyřešeny porušení omezení
  • Entra Group Mappings — Vylepšená spolehlivost mapování skupin na role s lepším zpracováním chyb a zpětnou vazbou v UI
  • Zpevnění šifrování konfigurace — Rozšířená služba šifrování konfigurace s dodatečným pokrytím testy a vylepšeným zpracováním chyb pro okrajové případy
  • Validace importu certifikátů — Vylepšená služba importu certifikátů s přísnější validací řetězce
  • Aktualizace Go SDK — Aktualizované definice projektů a modelů pro konzistenci s nejnovějším API
  • Aktualizace Python SDK — Zarovnání modelů s nejnovějším API schématem

Opravy chyb

  • Opraveno zbytečné vytváření prostředí pro nepoužívané projekty
  • Vyřešen problém s přesměrováním SSO přihlášení Entra ID na určitých konfiguracích prohlížečů
  • Opraven modál šablony projektu nezachovávající vazby na prostředí při uložení

Verze 1.0.18

Datum vydání: 2026-03-14

Vylepšení

  • Zákaznická dokumentace aktualizována — Kompletní návod pro automatizaci certifikátů pomocí ACME s postupem nastavení Kubernetes krok za krokem, příklady cert-manager ClusterIssuer, směrování ACME profilů, řešení problémů a kompletní end-to-end YAML příklady; aktualizovaná API reference certifikátů s ACME endpointy a správou EAB; poznámky k verzím přeformátovány na správné verzovací schéma 1.0.x
  • Vylepšená integrace Azure Entra ID — Vylepšené zpracování obnovení tokenů, spolehlivější mapování skupin na role, rychlejší přihlašování SSO se sníženou latencí přesměrování a lepší chybové hlášky pro špatně nakonfigurovaná nastavení tenanta

Verze 1.0.17

Datum vydání: 2026-03-14

Nové funkce

  • ACME Server (RFC 8555) — MazeVault nyní funguje jako plnohodnotná ACME certifikační autorita, umožňující automatické vydávání certifikátů přes cert-manager a další ACME klienty
  • External Account Binding (EAB) — Bezpečná registrace clusterů pomocí jednorázových přihlašovacích údajů propojujících ACME klienty s organizacemi a projekty
  • Směrování ACME profilů — Mapování názvů profilů cert-manageru na šablony certifikátů MazeVault pro automatický výběr CA backendu (cert-manager v1.18+)
  • Pravidla domén — Konfigurace pravidel pro směrování domén na šablony s podporou wildcardů a priorit
  • Automatické schválení interních domén — Certifikáty pro domény .local, .internal, .lan a .corp jsou vydány okamžitě bez HTTP-01 výzvy
  • ADCS most přes ACME — Vydávání certifikátů z Microsoft Active Directory Certificate Services přes standardní ACME protokol
  • Vylepšení ADCS agenta — DCOM logika opakování pro čekající žádosti o certifikáty s konfigurovatelným intervalem
  • UI pro správu EAB přihlašovacích údajů — Generování, výpis a odvolání EAB přihlašovacích údajů z webového rozhraní s příklady YAML pro cert-manager

Vylepšení

  • ACME directory endpoint s meta profily pro automatické vyhledávání klienty
  • JWS middleware s ověřením podpisů ES256 a RS256
  • Ochrana proti opakování na bázi nonce dle RFC 8555 §6.5
  • Doručení kompletního PEM řetězce certifikátů pro ACME klienty
  • Tabulka EAB přihlašovacích údajů se sledováním stavu (Dostupný / Použitý / Odvolaný)
  • Kopírování jedním kliknutím pro URL ACME adresáře a vygenerované přihlašovací údaje

Bezpečnostní aktualizace

  • EAB HMAC klíče šifrovány v úložišti pomocí AES-256-GCM
  • EAB přihlašovací údaje jsou jednorázové a podporují expiraci a odvolání
  • Ověření JWK Thumbprint (RFC 7638) pro vazbu účtu
  • Všechny ACME operace zaznamenány v auditním logu

Verze 1.0.16

Datum vydání: 2026-02-28

Vylepšení

  • Redesign nastavení organizací s navigací pomocí záložek
  • Karty účtů certifikačních autorit se stavovými indikátory synchronizace
  • Vylepšené zjišťování produktů CA a spouštění synchronizace přes UI
  • Optimalizace intervalu heartbeatu agentů pro velké flotily
  • Ladění pool připojení k databázi pro nasazení s vysokou souběžností

Opravy chyb

  • Opravena validace řetězce certifikátů pro intermediate CA certifikáty
  • Vyřešen race condition při souběžném plánování rotace tajemství
  • Opravena invalidace cache OCSP responderu při revokaci certifikátu

Verze 1.0.15

Datum vydání: 2026-02-14

Vylepšení

  • Import PFX/PKCS#12 s konfigurovatelným úložištěm klíčů (software / HSM)
  • Podpora přepsání šablony certifikátu pro výchozí hodnoty na úrovni CA účtu
  • Vylepšená logika opětovného připojení agenta po přerušení sítě
  • Rozšířené filtrování auditního logu podle typu události a časového rozsahu

Opravy chyb

  • Opraven export certifikátu s řetězcem pro cross-signed intermediate
  • Vyřešeno neukládání nastavení šablony projektu po uložení
  • Opravena deduplikace zjišťování SSH klíčů pro rotované klíče

Verze 1.0.14

Datum vydání: 2026-01-31

Vylepšení

  • Vylepšení správy SSH klíčů — sledování a zjišťování autorizovaných klíčů
  • Vylepšení spouštěčů rotace s ošetřením referenční integrity
  • Sdílení tajemství po rotaci s automatickým přešifrováním
  • Vylepšené chybové hlášky pro selhání ověření proxy agenta

Opravy chyb

  • Opraveno zpracování časových zón plánovače rotace pro instalace mimo UTC
  • Vyřešen nesoulad počtu certifikátů na dashboardu po hromadném importu
  • Opravena kontrola expirace API tokenu pro servisní identity

Verze 1.0.13

Datum vydání: 2026-01-24

Vylepšení

  • Modernizace React importů — optimalizované MUI importy pro tree-shaking
  • Snížení velikosti frontend buildu (~15% menší bundle)
  • Vylepšené vyhledávání certifikátů s wildcard SAN matchingem
  • Rozšířené Prometheus metriky monitoringu s histogram buckety

Opravy chyb

  • Opravena kontrola RBAC oprávnění pro vnořená prostředí projektů
  • Vyřešeno formátování Terraform exportu pro komplexní hodnoty tajemství
  • Opraven health check endpoint vracející zastaralý stav Redis

Verze 1.0.12

Datum vydání: 2026-01-17

Vylepšení

  • Integrace skenování kontejnerových obrazů Trivy v CI/CD pipeline
  • Remediace bezpečnostních zranitelností v řetězci závislostí
  • Vylepšená konfigurace TLS cipher suite s profilem Mozilla Intermediate
  • Rozšířený rate limiting s algoritmem posuvného okna

Opravy chyb

  • Opraveno plánování obnovy certifikátů s vlastní platností
  • Vyřešen konflikt synchronizace pro současně editovaná tajemství mezi datacentry
  • Opravena validace registračního tokenu agenta pro znovu registrované agenty

Verze 1.0.11

Datum vydání: 2026-01-10

Vylepšení

  • Monitoring zdraví připojení PostgreSQL s automatickým opětovným připojením
  • Vylepšení architektury obousměrné synchronizace pro multi-region nasazení
  • Opravy instalačního skriptu agenta pro air-gapped prostředí
  • Vylepšení onboarding procesu pro scénáře vzdáleného nasazení

Opravy chyb

  • Opraven rollback databázové migrace při selhání upgradu
  • Vyřešena synchronizace LDAP skupin nereflektující změny členství
  • Opravena paginace seznamu certifikátů pro projekty s > 1000 certifikáty

Verze 1.0.10

Datum vydání: 2026-01-03

Vylepšení

  • Rozšířená detekce externích změn pro certifikáty spravované CA
  • Vylepšená dokumentace hodnot Helm chartu s inline komentáři
  • Dávkování notifikací o expiraci certifikátů pro snížení únavy z alertů
  • Aktualizované Go závislosti s bezpečnostními záplatami

Opravy chyb

  • Opraven CRDT merge pro souběžné vytváření verzí tajemství
  • Vyřešena logika opakování synchronizace Azure Key Vault pro přechodné selhání
  • Opraven OCSP responder vracející nesprávný stav pro obnovené certifikáty

Verze 1.0.9

Datum vydání: 2025-12-15

Nové funkce

  • Systém šablon certifikátů — Předkonfigurované certifikátové profily pro běžné případy použití (Web Server, Client Auth, Code Signing, Email/S-MIME)
  • Hromadné operace s certifikáty — Import a správa certifikátů hromadně přes PEM bundly
  • Vylepšené zjišťování agentů — Automatické zjišťování certifikátů v infrastruktuře spravované agenty
  • Vylepšení synchronizace — CRDT synchronizace mezi více datacentry s vylepšeným řešením konfliktů
  • Export do Terraform — Export konfigurací projektů jako Terraform HCL pro infrastructure-as-code workflow

Vylepšení

  • Vylepšená validace importu certifikátů a hlášení chyb
  • Zvýšený výkon OCSP responderu s cachováním odpovědí
  • Aktualizovaný RBAC s granulárními oprávněními pro správu certifikátů
  • Vylepšené auditní logování se strukturovaným JSON výstupem
  • Rozšířené endpointy kontroly zdraví se stavem na úrovni komponent

Bezpečnostní aktualizace

  • TLS 1.3 jako výchozí protokol
  • Vylepšená CSRF ochrana s double-submit cookie pattern
  • Rozšířený rate limiting s konfigurací per endpoint
  • Aktualizované kryptografické závislosti

Verze 1.0.8

Datum vydání: 2025-11-20

Nové funkce

  • Integrace s externí CA — Propojení s DigiCert, Venafi, Microsoft ADCS a dalšími externími certifikačními autoritami
  • Podpora HSM — Integrace Hardware Security Module pro ochranu klíčů (PKCS#11, Azure Managed HSM)
  • ACME protokol — Automated Certificate Management Environment pro automatizované vydávání certifikátů
  • Vícefaktorová autentizace — MFA založená na TOTP pro zvýšenou bezpečnost účtů

Vylepšení

  • Přepracované rozhraní pro správu certifikátů
  • Vylepšené plánování rotace tajemství
  • Rozšířený API rate limiting
  • Rozšířená integrace s Azure Key Vault

Verze 1.0.7

Datum vydání: 2025-09-10

Nové funkce

  • Zero-Knowledge šifrování — Šifrování na straně klienta pro tajemství osobního trezoru
  • Podpora SCEP protokolu — Simple Certificate Enrollment Protocol pro správu certifikátů zařízení
  • Podpora EST protokolu — Enrollment over Secure Transport pro moderní registraci certifikátů
  • Proxy agenta — Agenti mohou zprostředkovat přístup k tajemstvím pro lokální aplikace

Vylepšení

  • Vylepšený systém databázových migrací
  • Rozšířené logování a monitoring
  • Aktualizované manifesty pro Kubernetes nasazení
  • Vylepšení výkonu pro velká úložiště certifikátů

Verze 1.0.6

Datum vydání: 2025-06-15

Nové funkce

  • Synchronizace více datacenter — Obousměrná synchronizace mezi instalacemi MazeVault
  • Azure Entra ID SSO — Single Sign-On s Azure Active Directory
  • RBAC na úrovni projektů — Granulární řízení přístupu na základě rolí per projekt
  • Distribuce CRL — Automatizované generování a distribuce Certificate Revocation List

Vylepšení

  • Vylepšený dashboard s aktualizacemi stavu v reálném čase
  • Rozšířené vyhledávání a filtrování certifikátů
  • Aktualizovaná API dokumentace se specifikací OpenAPI 3.0
  • Vylepšená bezpečnost kontejnerových obrazů

Verze 1.0.5

Datum vydání: 2025-03-20

Nové funkce

  • OCSP Responder — Real-time Online Certificate Status Protocol responder
  • Verzování tajemství — Kompletní historie verzí s možností rollbacku
  • Správa agentů — Centralizovaná registrace a monitoring agentů
  • LDAP integrace — Podpora autentizace přes adresářové služby

Verze 1.0.4

Datum vydání: 2024-12-10

Nové funkce

  • Interní certifikační autorita — Kompletní PKI s podporou root a intermediate CA
  • Správa životního cyklu certifikátů — Žádost, schválení, vydání, obnova a revokace certifikátů
  • Helm charty — Standardizované nasazení v Kubernetes přes Helm

Verze 1.0.3

Datum vydání: 2024-09-15

Nové funkce

  • Integrace s Azure Key Vault — Synchronizace tajemství s Azure Key Vault
  • Rotace tajemství — Automatizovaná a manuální rotace tajemství
  • Kubernetes nasazení — AKS nasazení s Terraform

Verze 1.0.2

Datum vydání: 2024-06-20

Nové funkce

  • Řízení přístupu na základě rolí — Uživatelské role a oprávnění
  • Správa projektů — Organizace tajemství do projektů
  • API v1 — Kompletní REST API pro správu tajemství

Verze 1.0.1

Datum vydání: 2024-03-01

Úvodní vydání

  • Šifrované úložiště tajemství s AES-256-GCM
  • Webové správcovské rozhraní
  • PostgreSQL backend s Redis cachováním
  • Docker Compose nasazení
  • Lokální autentizace s SRP protokolem

Zásady podpory

MazeVault podporuje aktuální verzi a jednu předchozí minor verzi. Zákazníkům na starších verzích doporučujeme provést upgrade pro získání bezpečnostních aktualizací a nových funkcí.