- 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.
71 lines
1.8 KiB
Markdown
71 lines
1.8 KiB
Markdown
# 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
|
|
|
|
```mermaid
|
|
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).
|
|
|
|
## 💻 Como Executar
|
|
|
|
### Docker (Recomendado)
|
|
|
|
```bash
|
|
# Build
|
|
docker build -t security-governance-core .
|
|
|
|
# Run
|
|
docker run -p 8080:8080 --env-file .env security-governance-core
|
|
```
|
|
|
|
### Desenvolvimento
|
|
|
|
1. **Dependências**: Go 1.23+, Postgres.
|
|
2. **Setup**:
|
|
```bash
|
|
cp .env.example .env
|
|
go mod tidy
|
|
```
|
|
3. **Executar**:
|
|
```bash
|
|
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.
|