- Use Google Distroless images for all services (Go & Node.js). - Standardize documentation with [PROJECT-NAME].md. - Add .dockerignore and .gitignore to all projects. - Remove docker-compose.yml in favor of docker run instructions. - Fix Go version and dependency issues in observability, repo-integrations, and security-governance. - Add Podman support (fully qualified image names). - Update Dashboard to use Node.js static server for Distroless compatibility.
1.8 KiB
1.8 KiB
SECURITY-GOVERNANCE-CORE
O security-governance-core é o guardião das políticas de segurança e conformidade da plataforma.
📋 Visão Geral
Este serviço centraliza a governança, garantindo que todos os tenants operem dentro dos parâmetros de segurança definidos. Ele mantém um registro de auditoria imutável e gerencia perfis de risco.
Arquitetura
graph TD
Service[Any Service] -->|Event| Queue[Audit Queue]
Queue -->|Consume| Worker[Audit Worker]
Worker -->|Store| DB[(Audit Log DB)]
Admin[Compliance Officer] -->|Define| Policy[Security Policy]
Policy -->|Enforce| Gatekeeper[Policy Engine]
🚀 Estrutura do Projeto
O projeto é escrito em Go e foca em imutabilidade e rastreabilidade:
| Diretório | Descrição |
|---|---|
cmd/api |
API de gestão. |
internal/audit |
Ingestão de logs de auditoria. |
internal/policies |
Motor de políticas (OPA-like simple engine). |
internal/compliance |
Checklists e relatórios. |
🛠️ Tecnologias e Otimizações
- Linguagem: Go 1.23.
- Database: PostgreSQL (Tabelas append-only para auditoria).
- Containerização:
- Base
distroless/static. - Segurança máxima (sem shell).
- Base
💻 Como Executar
Docker (Recomendado)
# Build
docker build -t security-governance-core .
# Run
docker run -p 8080:8080 --env-file .env security-governance-core
Desenvolvimento
- Dependências: Go 1.23+, Postgres.
- Setup:
cp .env.example .env go mod tidy - Executar:
go run ./cmd/api
🔧 Detalhes do Dockerfile
O Dockerfile é endurecido para ambientes regulados:
- Base: Distroless Static.
- User: Non-root (UID 65532).
- Network: Apenas portas necessárias expostas.