TL;DR — Resumo Rápido

Infisical é um gerenciador de segredos open source com criptografia E2E, CLI, SDKs, Operador Kubernetes e rotação automática — alternativa ao HashiCorp Vault.

Infisical é uma plataforma open source de gestão de segredos que oferece às equipes um armazenamento centralizado, auditado e criptografado para chaves de API, credenciais de banco de dados e variáveis de ambiente. Ao contrário de arquivos .env no repositório ou segredos dispersos em consoles cloud, Infisical oferece criptografia ponta a ponta, controle de acesso granular e integrações nativas com as principais plataformas CI/CD.

Pré-requisitos

  • Docker e Docker Compose ou um cluster Kubernetes com Helm 3.
  • Um domínio (para TLS em implantações auto-hospedadas).
  • Familiaridade básica com variáveis de ambiente e pipelines CI/CD.

Arquitetura do Infisical

O servidor Infisical é composto por três componentes:

  • Servidor API — Backend Node.js que gerencia todas as operações de segredos.
  • PostgreSQL — Armazena o texto cifrado, metadados e logs de auditoria.
  • Redis — Gerenciamento de sessões e fila de jobs em segundo plano.

A criptografia ponta a ponta é a decisão de design central: ao escrever um segredo, o cliente web ou o CLI o criptografa localmente usando uma chave de workspace derivada de suas credenciais antes da transmissão.


Instalação

Opção 1: Docker Compose (Auto-Hospedado)

git clone https://github.com/Infisical/infisical.git
cd infisical
cp .env.example .env

Editar .env:

ENCRYPTION_KEY=<32-bytes-hex-aleatório>
AUTH_SECRET=<32-bytes-base64-aleatório>
SITE_URL=https://segredos.seudominio.com
docker compose -f docker-compose.prod.yml up -d

Opção 2: Kubernetes com Helm

helm repo add infisical-helm-charts https://dl.infisical.com/helm-charts
helm repo update
helm install infisical infisical-helm-charts/infisical \
  --set infisical.encryptionKey="$(openssl rand -hex 16)" \
  --set infisical.authSecret="$(openssl rand -base64 32)"

Opção 3: Infisical Cloud

Cadastre-se em app.infisical.com. Sem gerenciamento de servidor, nível gratuito disponível.


Configuração: Organizações, Projetos e Ambientes

  • Organizações — Container de nível superior para sua empresa ou equipe.
  • Projetos — Correspondem a uma aplicação ou serviço.
  • Ambientesdevelopment, staging, production por padrão.
  • Pastas — Agrupam segredos relacionados dentro de um ambiente.
  • Versionamento — Cada alteração cria uma nova versão; é possível reverter pelo painel.

Uso do CLI

# Instalar no Linux/Debian
curl -1sLf 'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.deb.sh' | sudo -E bash
sudo apt-get install infisical

# macOS
brew install infisical/get-cli/infisical
infisical login
infisical secrets get DATABASE_URL --env=prod
infisical secrets set API_KEY=sk-abc123 --env=staging
infisical secrets delete SEGREDO_ANTIGO --env=staging

# Injetar em processo
infisical run --env=dev -- npm run dev
infisical run --env=prod -- python manage.py migrate

# Exportar
infisical export --env=dev > .env
infisical export --env=dev --format=json > segredos.json

SDKs: Acesso Programático

Node.js:

import { InfisicalSDK } from "@infisical/sdk";
const client = new InfisicalSDK({ siteUrl: "https://app.infisical.com" });
await client.auth().universalAuth.login({
  clientId: process.env.INFISICAL_CLIENT_ID,
  clientSecret: process.env.INFISICAL_CLIENT_SECRET,
});
const secret = await client.secrets().getSecret({
  secretName: "DATABASE_URL",
  projectId: "proj_abc123",
  environment: "prod",
});

Também disponíveis: Python, Go, Java, Ruby e .NET — todos seguem o mesmo padrão de inicialização com credenciais e chamada a GetSecret().


Machine Identities

MétodoIdeal Para
Universal AuthQualquer workload; client ID + secret
Kubernetes AuthPods com ServiceAccount JWT
AWS IAM AuthLambda, EC2, ECS via AWS STS
GCP IAM AuthVMs, Cloud Run, Cloud Functions
Azure AuthVMs, AKS, Azure Functions com Managed Identity
OIDC AuthGitHub Actions, GitLab CI, qualquer OIDC

Rotação de Segredos

  • PostgreSQL / MySQL / MongoDB — Rotaciona a senha do usuário do banco de dados.
  • AWS IAM — Cria novo par de chaves, atualiza Infisical, exclui a antiga.
  • Rotação personalizada — Invoca Lambda ou endpoint HTTP arbitrário.

Referências e Importações de Segredos

Referências: ${DATABASE_HOST}:5432 expande DATABASE_HOST no momento da leitura.

Importações: Trazem todos os segredos de outro ambiente ou caminho para o escopo atual.

Hierarquia de prioridade (maior para menor): overrides pessoais → segredos do ambiente → segredos importados.


Operador Kubernetes

helm install infisical-operator infisical-helm-charts/secrets-operator \
  --namespace infisical-operator-system --create-namespace
apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
  name: myapp-secrets
  namespace: default
spec:
  hostAPI: https://app.infisical.com/api
  resyncInterval: 60
  authentication:
    universalAuth:
      credentialsRef:
        name: infisical-machine-identity
        namespace: default
  managedSecretReference:
    secretName: myapp-synced-secrets
    secretNamespace: default
  infisicalSecret:
    environmentSlug: "prod"
    projectId: "proj_abc123"
    secretsPath: "/"

O operador cria myapp-synced-secrets como um Kubernetes Secret padrão e re-sincroniza a cada 60 segundos.


Infisical vs Alternativas

RecursoInfisicalHashiCorp VaultDopplerAWS Secrets ManagerSOPS1Password Connect
Open sourceSim (CE)Licença BSLNãoNãoSimNão
Auto-hospedadoSimSimNãoNãoSimSim (limitado)
Criptografia E2ESimNãoNãoNãoSimSim
Interface webSimSim (básica)SimConsole AWSNãoSim
RotaçãoSimSimSimSimNãoNão
Operador K8sSimVault AgentNãoSim (ESO)NãoNão
Nível gratuitoCE ilimitadoOpen sourceLimitadoPor segredoGrátisNão

Armadilhas e Casos Extremos

  • Perda da chave de criptografia — Sem ENCRYPTION_KEY todos os segredos são irrecuperáveis. Faça backup em um armazenamento separado.
  • Disponibilidade do Redis — Uma interrupção do Redis impede o login mesmo com PostgreSQL saudável.
  • Delay do Operador — O intervalo de 60 segundos introduz latência de propagação após uma rotação.
  • Docker Compose em CI — Segredos só chegam a contêineres se passados explicitamente via environment: no docker-compose.yml.

Resumo

  • Auto-hospedado com Docker Compose ou Helm — Edição Community gratuita.
  • Criptografia E2E — O servidor nunca tem texto simples.
  • CLI com infisical run — Injeta segredos em qualquer processo sem arquivos .env.
  • Operador Kubernetes — Sincronização automática com Kubernetes Secrets nativos.
  • Machine identities — Substitui tokens estáticos por OIDC, AWS IAM, Kubernetes Auth.
  • Rotação automática — Para bancos de dados, AWS IAM e webhooks personalizados.
  • Log de auditoria completo — Cada acesso e alteração é registrado.

Artigos Relacionados