Průvodce rotací tokenů Entra ID¶
Přehled¶
MazeVault poskytuje automatizovanou správu životního cyklu přihlašovacích údajů enterprise aplikací v Microsoft Entra ID (Azure AD). Zahrnuje automatické zjišťování, monitoring expirace, dual-secret rotaci s grace period a seřazený post-rotation deployment do Azure Key Vaultu, Kubernetes, agentem spravovaných runtime souborů, IIS app poolů, Spring aplikací a webhooků.
Klíčové funkce¶
- Automatické zjišťování: Synchronizace registrací aplikací a přihlašovacích údajů z Entra ID
- Monitoring expirace: Upozornění při 30denním a 7denním prahu
- Dual-Secret rotace: Nový přihlašovací údaj vytvořen před odstraněním starého
- Grace Period: Konfigurovatelné období (výchozí 30 dní), kdy jsou oba údaje platné
- Seřazené rollout akce: Publikace nového přihlašovacího údaje do externích úložišť a následný refresh nebo recycle konzumentů v definovaném pořadí
- Multi-Target propagace: Synchronizace do Azure Key Vault, Kubernetes Secret, Spring Actuatoru, webhooků a agentů
- Kompletní audit trail: Každá rotace zaznamenána s časovými razítky a stavem
Začínáme¶
1. Konfigurace integrace Entra ID¶
Přejděte na Integrace → Přidat integraci → Microsoft Entra ID.
Zadejte: - Tenant ID: ID vašeho Azure AD tenanta - Client ID: Client ID service principalu - Client Secret nebo Managed Identity: Metoda autentizace
MazeVault nyní před uložením integrace validuje interaktivní i background autentizaci. Pokud onboarding používá delegovaný nebo OBO přístup, nakonfigurujte také kompatibilní background autentizační metodu pro synchronizaci, preflight a rotační úlohy.
2. Synchronizace registrací aplikací¶
Po konfiguraci integrace klikněte na Synchronizovat pro zjištění všech registrací aplikací ve vašem tenantovi. MazeVault importuje: - Metadata registrace aplikace - Client secrety s daty expirace - Certifikátové přihlašovací údaje
3. Zobrazení stavu přihlašovacích údajů¶
Entra Dashboard zobrazuje: - Celkový počet aktivních přihlašovacích údajů - Údaje expirující za 7/30/90 dní - Údaje v grace period - Nejnaléhavější údaje vyžadující pozornost
4. Konfigurace rotace¶
Pro každý přihlašovací údaj můžete nakonfigurovat: - Auto-rotace: Povolení automatické rotace před expirací - Dní před expirací: Kdy spustit rotaci (výchozí: 30 dní) - Grace period: Jak dlouho ponechat oba údaje aktivní (výchozí: 30 dní) - Key Vault cíle: Primární a sekundární Key Vault secrety pro uložení hodnoty - Kubernetes cíle: Namespace, název secretu a klíč k aktualizaci - Agent file cíle: Spravované runtime soubory na připojených Windows nebo Linux agentech - IIS recycle cíle: Windows IIS app pooly k recyklaci po zapsání souboru - Spring endpointy: Spring Actuator refresh endpointy - Webhook URL: Notifikační nebo deployment webhooky
5. Manuální rotace¶
Klikněte na tlačítko Rotovat u libovolného přihlašovacího údaje pro okamžitou rotaci. Proces:
- Vytvoří nový přihlašovací údaj v Entra ID
- Spustí post-rotation deployment akce v definovaném pořadí
- Uloží nový secret do nakonfigurovaných Key Vaultů, Kubernetes Secretů nebo agentem spravovaných souborů
- Obnoví nebo recykluje konzumentské aplikace
- Pokud je to nakonfigurováno, odešle webhook notifikace
- Označí starý údaj pro cleanup po grace period
Post-Rotation Deployment Akce¶
MazeVault spouští post-rotation akce v pořadí po vytvoření nového Entra přihlašovacího údaje. Pro produkční rollout používejte tento sled:
- Publikujte nový secret do externích úložišť nebo runtime souborů.
- Reloadujte nebo recyklujte konzumentskou aplikaci.
- Nakonec odešlete webhook notifikace, pokud navazující systémy potřebují potvrzení.
Podporované typy akcí:
- Azure Key Vault: Zápis otočené hodnoty do nové verze Key Vault secretu.
- Kubernetes Secret: Aktualizace dvojice namespace/secret/key novou hodnotou.
- Agent File Sync (
agent_secret_sync): Zápis otočené hodnoty do souboru na hostu spravovaném připojeným MazeVault agentem. - IIS App Pool Recycle (
iis_recycle): Recyklace Windows IIS app poolu přes připojeného MazeVault agenta. - Spring Actuator Refresh: Zavolání
/actuator/refreshpo publikaci nového secretu. - Webhook: Odeslání POST události do downstream deployment nebo notifikačního endpointu.
Agent File Sync (agent_secret_sync)¶
Použijte agent_secret_sync, pokud se má otočený client secret zapsat přímo do aplikačního konfiguračního souboru.
Povinná pole:
agent_id: ID připojeného MazeVault agenta. To je doporučený cíl, protože preflight umí ověřit připravenost agenta.target_path: Absolutní cesta k runtime konfiguračnímu souboru na spravovaném hostu.secret_key: Název pole nebo klíče, který dostane otočený secret.file_format: Formát rendereru jakojson,yamlneboenv.
Poznámky pro operátora:
- Tento krok zařaďte před jakýkoliv aplikační refresh nebo recycle.
- Legacy cílení přes přímé
agent_urlzůstává kvůli kompatibilitě podporované, ale MazeVault ho označuje jako manual review, protože cíl neumí automaticky sondovat. - Cílový agent musí mít práva k souborovému systému pro danou cestu.
Příklad:
[
{
"type": "agent_secret_sync",
"order": 10,
"on_failure": "abort",
"agent_id": "11111111-1111-1111-1111-111111111111",
"config": {
"target_path": "C:\\inetpub\\app\\appsettings.json",
"secret_key": "Entra:ClientSecret",
"file_format": "json"
}
}
]
IIS App Pool Recycle (iis_recycle)¶
Použijte iis_recycle, pokud konzument běží na IIS a po dokončení file sync kroku musí načíst nový secret.
Povinná pole:
agent_id: ID připojeného Windows MazeVault agenta s právy pro správu IIS.app_pool: Název IIS application poolu k recyklaci.
Poznámky pro operátora:
- Tento krok umístěte za
agent_secret_sync, aby k recyklaci IIS došlo až po zapsání nové hodnoty na disk. - Legacy pole
site_nameje kvůli kompatibilitě stále přijímáno, ale MazeVault ho normalizuje naapp_pool.
Příklad:
[
{
"type": "agent_secret_sync",
"order": 10,
"on_failure": "abort",
"agent_id": "11111111-1111-1111-1111-111111111111",
"config": {
"target_path": "C:\\inetpub\\app\\appsettings.json",
"secret_key": "Entra:ClientSecret",
"file_format": "json"
}
},
{
"type": "iis_recycle",
"order": 20,
"on_failure": "continue",
"agent_id": "11111111-1111-1111-1111-111111111111",
"config": {
"app_pool": "DefaultAppPool"
}
}
]
Preflight a rollout doporučení¶
- Před produkční rotací použijte Dry Run pro validaci Entra autentizace, dosažitelnosti Key Vaultu a připravenosti agenta.
- Pokud preflight hlásí manual review required pro přímé
agent_url, potvrďte dosažitelnost hostu a Windows/IIS oprávnění před spuštěním rotace. - Pokud neabortační deployment krok selže, MazeVault označí execution jako vyžadující operátorskou pozornost místo hlášení plně zdravého rolloutu.
- Po rolloutu zkontrolujte historii execution. MazeVault ukládá lidsky čitelné názvy delivery kroků a souhrn rollout plánu pro rychlejší incident triage.
- Používejte záložku Project Rotations jako souhrnný pohled napříč zdroji. Nově zobrazuje inline readiness i pro Entra přihlašovací údaje a související certifikátové rotační zdroje, které sdílejí stejnou rollout surface.
Cleanup rotačního inventáře při odebrání¶
- Odstranění Entra integrace nebo lokálně spravované registrace aplikace nyní ve stejné lifecycle operaci smaže i odpovídající záznamy rotačních zdrojů.
- Upgrade cleanup navíc odstraňuje zastaralé historické řádky Entra rotací ze starších vydání, takže inventář v Project Rotations zůstává v souladu se skutečnými Entra objekty.
6. Monitoring historie rotací¶
Zobrazte kompletní historii rotací pro libovolný přihlašovací údaj nebo registraci aplikace, včetně: - Typ rotace (manuální/automatická) - Doba trvání - Dokončené kroky - Případné chyby
Stavy životního cyklu¶
| Stav | Popis |
|---|---|
| Aktivní | Údaj je platný a používaný |
| Brzy expiruje | Údaj expiruje v rámci prahu |
| Rotuje se | Rotace probíhá |
| Grace Period | Starý i nový údaj jsou platné |
| Expirovaný | Údaj expiroval |
| Vyčištěný | Starý údaj odstraněn po grace period |
Bezpečnost¶
- Všechny hodnoty přihlašovacích údajů šifrovány v klidu pomocí AES-256-GCM
- Graph API volání používají exponenciální backoff s retry
- OData filter vstupy sanitizovány proti injection útokům
- RBAC oprávnění:
entra:read,entra:write,entra:rotate
Řešení problémů¶
Rotace selhala¶
Zkontrolujte historii rotací pro detaily chyby. Běžné příčiny: - Nedostatečná oprávnění Graph API - Přístup ke Key Vault zamítnut - Agent je offline nebo nedostupný během file deploymentu - Windows agentu chybí oprávnění pro správu IIS - Problémy se síťovým připojením
Údaje se nesynchronizují¶
Ověřte:
- Integrace je povolena
- Service principal má oprávnění Application.ReadWrite.All
- Tenant ID a Client ID jsou správné