Přeskočit obsah

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 IntegracePřidat integraciMicrosoft 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:

  1. Vytvoří nový přihlašovací údaj v Entra ID
  2. Spustí post-rotation deployment akce v definovaném pořadí
  3. Uloží nový secret do nakonfigurovaných Key Vaultů, Kubernetes Secretů nebo agentem spravovaných souborů
  4. Obnoví nebo recykluje konzumentské aplikace
  5. Pokud je to nakonfigurováno, odešle webhook notifikace
  6. 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:

  1. Publikujte nový secret do externích úložišť nebo runtime souborů.
  2. Reloadujte nebo recyklujte konzumentskou aplikaci.
  3. 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/refresh po 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 jako json, yaml nebo env.

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_url zů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_name je kvůli kompatibilitě stále přijímáno, ale MazeVault ho normalizuje na app_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é