Initial Oracle Deep Data Security lab kit
This commit is contained in:
90
README.md
Normal file
90
README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# Oracle Deep Data Security Lab
|
||||
|
||||
Kit interno para demonstrar Oracle Deep Data Security em cenários de segurança de dados comuns em clientes: agentes de AI, aplicações com conta compartilhada, BI ad hoc, acesso a PII e bypass por views.
|
||||
|
||||
O objetivo é permitir que qualquer pessoa do time consiga subir uma fundação OCI segura, instalar cenários de laboratório, executar testes positivos/negativos e coletar evidências de forma repetível.
|
||||
|
||||
## Visão Rápida
|
||||
|
||||
```text
|
||||
terraform/ Infraestrutura OCI segura por padrão
|
||||
scenarios/ Labs independentes em SQL e runbooks
|
||||
scripts/ Automação de bootstrap, validação, execução e reset
|
||||
docs/ Guias para arquitetura, demo e operação
|
||||
apps/ Espaço para app Spring Boot, agente AI e simulador BI
|
||||
```
|
||||
|
||||
## Cenários Incluídos
|
||||
|
||||
| ID | Cenário | Objetivo |
|
||||
| --- | --- | --- |
|
||||
| 01 | AI Prompt Injection | Demonstrar que o banco limita dados mesmo quando o agente gera SQL amplo ou malicioso. |
|
||||
| 02 | Shared App Account | Demonstrar controle por usuário final mesmo com uma conta técnica de aplicação. |
|
||||
| 03 | PII Row/Column/Cell | Demonstrar controle por linha, coluna e célula para dados pessoais e salário. |
|
||||
| 04 | View Bypass / MAC | Demonstrar Mandatory Access Control com `USE DATA GRANTS ONLY`. |
|
||||
|
||||
## Pré-Requisitos
|
||||
|
||||
- Conta OCI com permissão para criar rede, Autonomous Database, Vault opcional e Compute opcional.
|
||||
- Terraform 1.6 ou superior.
|
||||
- OCI CLI configurado, ou variáveis de autenticação do provider OCI.
|
||||
- SQLcl, SQL*Plus ou outro cliente compatível.
|
||||
- Acesso a uma versão de Oracle AI Database compatível com Deep Data Security.
|
||||
|
||||
## Execução Em 7 Passos
|
||||
|
||||
1. Clone o repositório.
|
||||
2. Copie o arquivo de exemplo:
|
||||
|
||||
```bash
|
||||
cp terraform/envs/demo/terraform.tfvars.example terraform/envs/demo/terraform.tfvars
|
||||
```
|
||||
|
||||
3. Edite `terraform/envs/demo/terraform.tfvars` com seus OCIDs e região.
|
||||
4. Valide a infraestrutura:
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File .\scripts\validate-terraform.ps1
|
||||
```
|
||||
|
||||
5. Faça o deploy:
|
||||
|
||||
```bash
|
||||
cd terraform/envs/demo
|
||||
terraform init
|
||||
terraform plan -out tfplan
|
||||
terraform apply tfplan
|
||||
```
|
||||
|
||||
6. Instale um cenário:
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File .\scripts\run-scenario.ps1 -Scenario 01-ai-prompt-injection -ConnectString "<connect_string>"
|
||||
```
|
||||
|
||||
7. Execute os testes descritos no `README.md` do cenário.
|
||||
|
||||
## Segurança Por Padrão
|
||||
|
||||
- Banco em subnet privada.
|
||||
- Sem IP público no banco.
|
||||
- NSGs dedicados para aplicação e banco.
|
||||
- mTLS obrigatório na conexão do Autonomous Database.
|
||||
- Secrets fora do Git.
|
||||
- Vault/KMS opcional para chaves gerenciadas pelo cliente.
|
||||
- Compute bastion desabilitado por padrão.
|
||||
- Evidências e logs de demo ignorados pelo Git.
|
||||
|
||||
## Como Contribuir
|
||||
|
||||
Leia [CONTRIBUTING.md](CONTRIBUTING.md). Todo novo cenário deve conter `README.md`, `metadata.yaml`, SQL numerado, testes positivos/negativos e script de reset.
|
||||
|
||||
## CI/CD
|
||||
|
||||
O repositório inclui GitHub Actions para:
|
||||
|
||||
- `terraform fmt`
|
||||
- `terraform init -backend=false`
|
||||
- `terraform validate`
|
||||
- checagem da estrutura mínima dos cenários
|
||||
- bloqueio de arquivos sensíveis como `.tfvars`, `.pem` e `.key`
|
||||
Reference in New Issue
Block a user