Skip to content

Umbrella: enterprise-auth — SSO/OIDC federation + secret/credential hardening #9930

Closed
30 of 31 issues completed

Description

@mrveiss

Mission

Deliver the enterprise identity & access tier: SSO/OIDC federation (Okta, Azure AD, Google Workspace) and the security hardening it requires — OAuth callback-URL allowlist, client-secret encryption, encrypted credential storage + tests, rate-limit test correctness, secret-migration docs, and webhook-secret encryption for channel adapters. This tier is gated on RBAC, which is gated on the schema-layer repair (U2).

Dependency edges

Members (sized)

Triage delta — 2026-06-19 (unfiled-issue sweep)

Triage delta — 2026-06-20

Triage delta — 2026-06-21

Triage delta — 2026-06-22

Triage delta — 2026-06-22

Triage delta — 2026-06-26

Activity

  1. mrveiss commented on Jun 15, 2026

    @mrveiss
    OwnerAuthor

    #8994 reframed: OIDC federation (Okta/Azure AD/Google Workspace), LDAP, SAML, JIT, secret encryption already exist. Converted #8994 to a sub-umbrella with v1 child issues #10150–#10156 (PKCE, RP-logout, group→role, vault migration, rotation, docs, health dashboard); SCIM #10157 + token-caching/step-up #10158 deferred. SSO secrets ride on unified-secrets #10088 (decision D2). PRD on branch issue-8994. Note for #9930: #9500 + #9501 appear already implemented → flag for verify-and-close; #9685→C1, #9687→E folded into the sub-umbrella.

  2. mrveiss commented on Jun 17, 2026

    @mrveiss
    OwnerAuthor

    Batch progress — enterprise-auth umbrella

    Shipped this session (PRs open):

    Verified already-implemented → recommend closing (evidence on each):

    Remaining real work (sub-umbrella #8994 v1): A2 RP-logout/revocation #10151 · A3 group→role #10152 · C1 vault migration #10153 · C2 rotation #10154 · E docs #10155. SCIM #10157 + caching/step-up #10158 deferred to v2.

    Closures are left for human action per lifecycle rule (umbrellas #9930/#8994 stay open).

  3. mrveiss commented on Jun 26, 2026

    @mrveiss
    OwnerAuthor

    Session update — 2026-06-26 (Phase C prerequisites complete + closed; C1/C2 in flight)

    Closed this session (PRs already merged to Dev_new_gui; GH does not auto-close on non-default base):

    Landed this session:

    Discovery filed — #10492 (Phase C / §4.1 integration surface): The merged /system routes require HMAC X-Service-* service-auth, but the SLM had no signer (only the shared X-Internal-API-Key). Investigation showed the HMAC infra is already shared and tested — autobot_shared/http_client.py:sign_request matches ServiceAuthManager.validate_signature, and generate_service_keys.py/export_service_keys.py provision per-service keys. Recommended resolution = Option B (per-service HMAC): the secrets vault is the crown-jewels store (#10088), so a dedicated, scoped, replay-protected, revocable SLM identity beats reusing the broad shared key. Remaining gaps are additive: add slm-backend to the two SERVICES lists + an SLM unified_vault_client signing with the shared helper.

    C1 #10153 / C2 #10154: an active parallel session is implementing both in the issue-10153 branch (vault client + sso_rotation + migrate_sso_to_unified_vault + tests) along exactly the Option-B lines documented in #10492. Left untouched to avoid collision.

    Net umbrella status: Phases A (PKCE/RP-logout/group→role), D3 (health dashboard), E (docs) shipped earlier; Phase C prerequisites now merged + closed; C1/C2 in flight. Remaining members: #10153/#10154 (in progress), #10158 (v2 deferred), #10281 (SAML SLO, spun out), #10278 (RS256 revocation, coord w/ #10193), and the #10088/#10157/#10193 sub-epics (human-call to promote).

  4. mrveiss commented on Jun 26, 2026

    @mrveiss
    OwnerAuthor

    C1/C2 shipped to PR — #10498

    PR #10498 implements both Phase-C members (continuing the owner's own WIP, Option B per #10492):

    Completion fixes over the WIP (verify-don't-trust): audit was writing non-existent AuditLog columns (silently swallowed) → now reuses create_audit_log; store/delete hard-failed when the vault key was unprovisioned → legacy fallback; missing slm-backend provisioning added. 24 tests pass. Resolves #10492. Code review in progress.

  5. mrveiss commented on Jun 26, 2026

    @mrveiss
    OwnerAuthor

    Follow-up #10507 — Critical fix found in code review of #10498

    Code review of the merged #10498 caught a Critical the stubbed unit tests masked: vault_rewrap_kek called the user-auth POST /api/v2/secrets/{id}/rewrap (Depends(principal)), so KEK rotation would 401 under service HMAC (#10437 added only the user route). PR #10507 adds the service-auth counterpart POST /system/{secret_id}/rewrap (service_principal + coordinator.service_rotate_kek, system-vault-scoped), repoints the client, and adds backend + client tests. Also folds in review M1–M3 (migration orphan-dup guard, vault-read logging/key-guard). Value rotation was unaffected. 25 SLM tests pass.

  6. mrveiss commented on Jun 27, 2026

    @mrveiss
    OwnerAuthor

    Phase C complete — all enterprise-auth members merged & verified on Dev_new_gui

    PR Scope
    #10498 C1/C2 — SSO secrets → unified System vault + rotation (Option B HMAC, backward-compat default-off)
    #10507 Critical fix — service-auth /system/{id}/rewrap + service_rotate_kek (KEK rotation 401'd under service auth) + M1–M3 hardenings
    #10520 Bandit B105 false-positive on _SECRET_TYPE (unblocked required code-quality)
    #10529 CodeQL clear-text-logging false-positive in vault_create

    Verified all four present on base. Closed: prereqs #10436/#10437/#10458; review issues #10492/#10512/#10515/#10528; deferred members #10158/#10278/#10281 (closed by other sessions).

    Remaining open under #9930 are the human-gated PRD epics only — #10088 (secrets-unification), #10157 (SCIM 2.0 v2), #10193 (identity-unification + children #10199–10203). These are explicitly no-code-until-sign-off (PRD required); they are not part of the SSO/secret-hardening deliverable and await owner prioritization. The enterprise-auth tier itself is functionally complete.

  7. mrveiss commented on Jun 27, 2026

    @mrveiss
    OwnerAuthor

    Status update (umbrella stays open per the 9919–9931 tracking convention).

    Enterprise-auth deliverables are now essentially complete:

    Remaining open children = the auth-unification EPIC (#10193 + #10199–#10203), which is PRD-stage (no code until sign-off per the arch decision), plus SCIM v2 (#10157) and the broad secrets-consolidation PRD (#10088). Keeping this umbrella open to track those.

  8. mrveiss commented on Jul 25, 2026

    @mrveiss
    OwnerAuthor

    Housekeeping (owner-approved): the enterprise-auth SSO/OIDC federation mission of this umbrella is COMPLETE (all SSO children closed). The 3 residual open items (#10200/#10201/#10203) are user-store/auth-unification work now tracked under #10193. Closing this umbrella; no orphaned work (children re-homed to #10193).

  9. 22 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions