Add Authentik OIDC SSO as the default human login for OpenBao #147
Reference in New Issue
Block a user
Delete Branch "benvin/auth-oidc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Human login to OpenBao is LDAP-only, so operators keep a second credential set outside Authentik and group membership is maintained twice.
How
auth_oidc_backendmodule:oidc-type JWT auth mount, Authentik discovery URL,listing_visibility: unauth, credentials fromkv/service/authentik/oidc-vault.auth_oidc_rolemodule: oidc role withuser_claimemail,groups_claimak_groups, scopesopenid profile email ak_groups, the registered redirect URIs,bound_audiences[vault].auth_oidc_groupmodule: external identity group plus group alias on the OIDC mount accessor, policies frompolicy_auth_map.config/auth_oidc_{backend,role,group}/, discovery locals inconfig/config.hcl,vault_clustervariables and wiring, and terragrunt inputs.akP-vault-adminon theoidcmount toglobal-root, alongside the existing LDAPvault_adminbinding.oidc: the registered redirect URIs embed/ui/vault/auth/oidc/oidc/callback.Requires #146, terraform-authentik #33 and #148 applied first.
Per review, the two deployer capability policies are extracted from this PR into #148 (
benvin/oidc-deployer-grants), copied verbatim —policies/auth/oidc/admin.yamlandpolicies/identity/group/admin.yaml. AppRole capabilities are fixed at login, so those grants have to be applied before the apply that creates the resources they authorise; bundling them here violated the never-bundle rule (precedent: #124 closed unmerged and split into #125/#126/#127, and #146's grant-first pattern).Head is now
7aaafb4, one additive commit doing thegit rm. Nothing else changed —policies/global-root.yamlkeeps itsoidc: akP-vault-adminentry here, since it depends on the OIDC mount this PR creates.Merge order: #146 + tf-authentik#33 + #148, all applied, then this PR. The plan here stays red by design until those dependencies apply; pre-commit is green.