SSO corporativo
O CipherVault não substitui seu IdP — integra-se com ele. Suporte nativo a SAML 2.0, OAuth 2.1/OIDC, Keycloak, LDAP e Active Directory, com provisionamento SCIM v2 para usuários e grupos.
Provedores testados
| IdP | Protocolo | SCIM | MFA delegado |
|---|---|---|---|
| Keycloak | SAML / OIDC | ✅ | ✅ |
| Microsoft Entra ID (Azure AD) | SAML / OIDC | ✅ | ✅ (Conditional Access) |
| Okta | SAML / OIDC | ✅ | ✅ |
| Google Workspace | SAML / OIDC | ✅ | ✅ |
| OneLogin | SAML | ✅ | ✅ |
| JumpCloud | SAML / LDAP | ✅ | ✅ |
| ADFS | SAML | — | ✅ |
| LDAP / Active Directory | LDAP | — | — |
| Auth0 | OIDC | ✅ | ✅ |
Configuração SAML 2.0
curl -X POST https://api.ciphervault.com.br/v1/sso/connections \
-H "Authorization: Bearer $CIPHERVAULT_TOKEN" \
-d '{
"name": "keycloak-prod",
"type": "saml",
"metadata_url": "https://keycloak.acme.com.br/realms/acme/protocol/saml/descriptor",
"default_role": "viewer",
"claims_mapping": {
"email": "email",
"name": "name",
"groups": "groups"
},
"group_to_role": {
"ciphervault-admins": "admin",
"ciphervault-vault-managers": "vault-manager",
"ciphervault-readers": "viewer"
},
"enforce_mfa": true,
"block_local_login": true
}'
A primeira vez que um usuário entra, sua conta é criada (just-in-time provisioning) com os grupos derivados das claims SAML.
SCIM v2 (RFC 7644)
Sincronização automática de users e groups via SCIM 2.0 — implementação completa desde v4.5, validada com Okta, Azure AD/Entra ID, OneLogin, JumpCloud, Google Workspace.
SCIM endpoint: https://cv.acme.com.br/scim/v2
Token: gerado em Settings → SCIM Tokens
Operações: Users (CRUD + filter + bulk), Groups (CRUD + memberships),
ServiceProviderConfig, ResourceTypes, Schemas.
📖 Setup completo, mapeamento IdP → CV e boas práticas em Integrations → SCIM.
LDAP / Active Directory
Para ambientes on-premise sem IdP federado:
{
"type": "ldap",
"url": "ldaps://ad.acme.com.br:636",
"bind_dn": "CN=ciphervault,OU=ServiceAccounts,DC=acme,DC=com,DC=br",
"bind_password_secret": "integrations/ad/bind",
"user_search_base": "OU=Users,DC=acme,DC=com,DC=br",
"user_search_filter": "(sAMAccountName={{username}})",
"group_search_base": "OU=Groups,DC=acme,DC=com,DC=br",
"group_member_attribute": "memberOf",
"tls": { "verify": true, "ca_cert_secret": "integrations/ad/ca" }
}
MFA
CipherVault suporta MFA local ou delegado ao IdP:
- Local: TOTP (RFC 6238 — Google Authenticator, Authy, 1Password) e Email OTP (6 dígitos, TTL 10min).
- Delegado: confia no MFA do IdP (Conditional Access do Entra ID, Okta MFA, etc.).
Para enforcement máximo, exija ambos: o IdP autentica com MFA, e o CipherVault exige re-MFA local para acessos a vaults críticos.
Mapeamento de roles
Roles padrão:
| Role | Permissões |
|---|---|
admin | Tudo (gerência de tenant) |
vault-manager | Criar/editar vaults, policies, AppConnections |
vault-editor | Ler e escrever secrets em vaults atribuídos |
viewer | Somente leitura |
auditor | Apenas audit logs (sem acesso a secrets) |
Roles customizadas podem ser criadas combinando policies.
Boas práticas
- Bloqueie login local em produção.
block_local_login: true. - JIT provisioning + SCIM. JIT cria conta no primeiro login; SCIM sincroniza alterações de grupo.
- Mapeie grupos, não usuários. Atribuir role direto a usuário é exceção.
- MFA duplo para admins. IdP + CipherVault.
- Auditoria cruzada. Compare logs de login do CipherVault com o IdP mensalmente — descobre desvios e contas órfãs.