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étodo Ideal Para
Universal Auth Qualquer workload; client ID + secret
Kubernetes Auth Pods com ServiceAccount JWT
AWS IAM Auth Lambda, EC2, ECS via AWS STS
GCP IAM Auth VMs, Cloud Run, Cloud Functions
Azure Auth VMs, AKS, Azure Functions com Managed Identity
OIDC Auth GitHub 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

Recurso Infisical HashiCorp Vault Doppler AWS Secrets Manager SOPS 1Password Connect
Open source Sim (CE) Licença BSL Não Não Sim Não
Auto-hospedado Sim Sim Não Não Sim Sim (limitado)
Criptografia E2E Sim Não Não Não Sim Sim
Interface web Sim Sim (básica) Sim Console AWS Não Sim
Rotação Sim Sim Sim Sim Não Não
Operador K8s Sim Vault Agent Não Sim (ESO) Não Não
Nível gratuito CE ilimitado Open source Limitado Por segredo Grátis Nã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