Translate lab documentation to English
Some checks failed
Repo Quality / structure (push) Has been cancelled
Terraform Validate / validate (push) Has been cancelled

This commit is contained in:
Rodrigo Pace
2026-05-08 14:50:52 -03:00
parent cde150b705
commit 52bf971b8b
33 changed files with 939 additions and 702 deletions

View File

@@ -1,46 +1,46 @@
# Arquitetura Do Lab
# Lab Architecture
## Objetivo
## Objective
Criar uma fundação OCI segura e repetível para demonstrar Oracle Deep Data Security em workloads de AI, analytics e aplicações corporativas.
Create a secure and repeatable OCI foundation to demonstrate Oracle Deep Data Security for AI, analytics, and enterprise application workloads.
## Desenho Lógico
## Logical Design
```mermaid
flowchart LR
User["Usuário Final / Analista"] --> App["Aplicação ou Agente AI"]
App --> PE["Private Endpoint do Banco"]
BI["Ferramenta BI / SQL Client"] --> PE
User["End User / Analyst"] --> App["Application or AI Agent"]
App --> PE["Database Private Endpoint"]
BI["BI Tool / SQL Client"] --> PE
PE --> ADB["Oracle AI Database / Autonomous Database"]
ADB --> Policies["Deep Data Security Data Grants"]
ADB --> Audit["Unified Audit / Evidências"]
KMS["OCI Vault / KMS Opcional"] --> ADB
Admin["Operação DBA"] --> Bastion["Bastion Opcional"]
ADB --> Audit["Unified Audit / Evidence"]
KMS["OCI Vault / Optional KMS"] --> ADB
Admin["DBA Operations"] --> Bastion["Optional Bastion"]
Bastion --> PE
```
## Componentes
## Components
| Camada | Componente | Função |
| Layer | Component | Purpose |
| --- | --- | --- |
| Rede | VCN, private subnet, NSGs | Isolar banco e aplicações por fluxo permitido. |
| Banco | Autonomous Database privado | Executar schemas, policies e testes do lab. |
| Segurança | Deep Data Security | Aplicar autorização por usuário, role e contexto. |
| Chaves | OCI Vault opcional | Permitir chave gerenciada pelo cliente quando necessário. |
| Operação | Bastion compute opcional | Acesso administrativo controlado quando o cliente exigir. |
| Evidência | SQL output, logs e screenshots | Apoiar demonstração e validação técnica. |
| Network | VCN, private subnet, NSGs | Isolate database and application flows. |
| Database | Private Autonomous Database | Run lab schemas, policies, and tests. |
| Security | Deep Data Security | Enforce authorization by user, role, and context. |
| Keys | Optional OCI Vault | Enable customer-managed keys when required. |
| Operations | Optional compute bastion | Controlled administrative access when required. |
| Evidence | SQL output, logs, screenshots | Support technical validation and demos. |
## Princípios De Segurança
## Security Principles
- Banco sem exposição pública.
- Acesso por subnet privada e NSG.
- mTLS obrigatório.
- Secrets mantidos fora do Git.
- Privilégios mínimos para recursos OCI.
- Políticas de dados versionadas em SQL.
- Controles preventivos primeiro; auditoria como evidência e investigação.
- No public database exposure.
- Access through private subnet and NSG rules.
- mTLS required.
- Secrets kept out of Git.
- Minimum privileges for OCI resources.
- Data policies versioned as SQL.
- Preventive controls first; auditing for evidence and investigation.
## O Que Fica Fora Do Terraform
## What Terraform Does Not Configure
Terraform provisiona infraestrutura. A configuração fina de usuários, data roles, data grants e dados de teste fica nos diretórios `scenarios/`, para que cada lab seja instalado e resetado sem recriar a OCI inteira.
Terraform provisions infrastructure. Fine-grained configuration such as users, data roles, data grants, and test data stays under `scenarios/` so each lab can be installed and reset without recreating the OCI environment.

View File

@@ -1,33 +1,34 @@
# Guia De Demo Executiva
# Executive Demo Guide
## Duracao
## Duration
30 a 45 minutos.
30 to 45 minutes.
## Mensagem Principal
## Main Message
Deep Data Security protege o dado na origem. Mesmo que um agente AI, aplicacao vibe-coded, BI ou SQL dinamico tente consultar mais do que deveria, o banco aplica autorizacao por usuario final, role e contexto.
Oracle Deep Data Security protects data at the source. Even when an AI agent, vibe-coded application, BI tool, or dynamic SQL attempts to query more data than it should, the database enforces authorization by end user, role, and context.
## Roteiro
## Demo Flow
1. Mostre o problema: uma aplicacao ou agente usa uma conexao poderosa.
2. Execute uma pergunta perigosa: "liste todos os salarios e documentos".
3. Mostre o resultado com excesso de dados no baseline, quando aplicavel.
4. Ative ou explique os data grants.
5. Execute a mesma consulta como usuario limitado.
6. Mostre que linhas e colunas nao autorizadas sao filtradas ou mascaradas.
7. Mostre a visao de gerente ou RH com maior privilegio.
8. Feche com evidencia de auditoria e governanca.
1. Show the problem: an application or agent uses a powerful connection.
2. Run a risky request: "list all salaries and documents."
3. Show the excessive result in the baseline, when applicable.
4. Enable or explain the data grants.
5. Run the same query as a limited user.
6. Show that unauthorized rows and columns are filtered or masked.
7. Show a manager or HR user with broader authorized visibility.
8. Close with audit and governance evidence.
## Trilha Recomendada Para Clientes
## Recommended Customer Track
1. `05-legacy-app-ai-extension`: modernizacao segura de legado com AI.
2. `06-rag-vector-classified-docs`: controle de chunks antes de envio ao LLM.
3. `07-audit-evidence-data-safe`: evidencia, auditoria e governanca com Data Safe.
1. `05-legacy-app-ai-extension`: safe legacy modernization with AI.
2. `06-rag-vector-classified-docs`: authorized chunk retrieval before LLM context injection.
3. `07-audit-evidence-data-safe`: evidence, auditing, and governance with Data Safe.
## Frases De Valor
## Value Statements
- "Authorization follows the user, not only the application."
- "Controls live in the database, where the data resides."
- "Applications, agents, and BI tools respect the same data boundary."
- "The policy is declarative, versionable, and auditable."
- "A autorizacao acompanha o usuario, nao apenas a aplicacao."
- "O controle fica no banco, onde o dado reside."
- "Aplicacoes, agentes e BI passam a respeitar a mesma fronteira de acesso."
- "A politica e declarativa, versionavel e auditavel."

View File

@@ -1,6 +1,6 @@
# Comandos Git Para Publicar
# Git Commands To Publish
Execute a partir do diretório que contém `oracle-deep-data-security-lab`.
Run these commands from the directory that contains `oracle-deep-data-security-lab`.
```bash
cd oracle-deep-data-security-lab
@@ -8,11 +8,11 @@ git init
git checkout -b main
git add .
git commit -m "Initial Oracle Deep Data Security lab kit"
git remote add origin <URL_DO_SEU_REPOSITORIO>
git remote add origin <YOUR_REPOSITORY_URL>
git push -u origin main
```
Para evoluir:
For future changes:
```bash
git checkout -b feature/scenario-05-rag-vector-access

View File

@@ -1,19 +1,37 @@
# Execução Dos Labs
# Lab Execution
## 1. Preparar Ambiente
## 1. Prepare The Environment
Windows:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\bootstrap.ps1
```
## 2. Configurar Terraform
Linux/macOS:
```powershell
Copy-Item terraform/envs/demo/terraform.tfvars.example terraform/envs/demo/terraform.tfvars
notepad terraform/envs/demo/terraform.tfvars
```bash
chmod +x scripts/*.sh
./scripts/bootstrap.sh
```
Preencha:
## 2. Configure Terraform
Windows:
```powershell
Copy-Item terraform\envs\demo\terraform.tfvars.example terraform\envs\demo\terraform.tfvars
notepad terraform\envs\demo\terraform.tfvars
```
Linux/macOS:
```bash
cp terraform/envs/demo/terraform.tfvars.example terraform/envs/demo/terraform.tfvars
vi terraform/envs/demo/terraform.tfvars
```
Fill in:
- `tenancy_ocid`
- `compartment_ocid`
@@ -23,37 +41,61 @@ Preencha:
- `region`
- `adb_admin_password`
## 3. Validar Terraform
## 3. Validate Terraform
Windows:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\validate-terraform.ps1
```
## 4. Aplicar Infraestrutura
Linux/macOS:
```powershell
Set-Location terraform/envs/demo
```bash
./scripts/validate-terraform.sh
```
## 4. Apply Infrastructure
```bash
cd terraform/envs/demo
terraform init
terraform plan -out tfplan
terraform apply tfplan
```
## 5. Executar Cenário
## 5. Run A Scenario
Windows:
```powershell
Set-Location ../..
powershell -ExecutionPolicy Bypass -File .\scripts\run-scenario.ps1 -Scenario 01-ai-prompt-injection -ConnectString "<connect_string>"
```
## 6. Resetar Cenário
Linux/macOS:
```bash
./scripts/run-scenario.sh 01-ai-prompt-injection "<connect_string>"
```
## 6. Reset A Scenario
Windows:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\reset-scenario.ps1 -Scenario 01-ai-prompt-injection -ConnectString "<connect_string>"
```
## 7. Destruir Ambiente
Linux/macOS:
```powershell
Set-Location terraform/envs/demo
```bash
./scripts/reset-scenario.sh 01-ai-prompt-injection "<connect_string>"
```
## 7. Destroy The Environment
```bash
cd terraform/envs/demo
terraform destroy
```

View File

@@ -1,36 +1,37 @@
# Catalogo De Cenarios
# Scenario Catalog
## 01 - AI Prompt Injection
Mostra um agente AI tentando gerar SQL amplo demais. Deep Data Security limita o retorno ao contexto do usuario final.
Shows an AI agent attempting to generate overly broad SQL. Oracle Deep Data Security limits the result based on the end-user context.
## 02 - Shared App Account
Mostra o problema de uma conta tecnica de aplicacao usada por varios usuarios. O controle relevante passa a ser o end user/contexto, nao apenas a conta do pool.
Shows the risk of a technical application account shared by multiple users. The relevant control becomes the end-user context, not only the connection pool account.
## 03 - PII Row/Column/Cell
Mostra controle de acesso por linha, coluna e celula. Funcionario ve seu registro; gerente ve time com SSN oculto; RH ve atributos sensiveis.
Shows row, column, and cell-level access control. An employee sees their own record, a manager sees the team with SSN hidden, and HR sees sensitive attributes.
## 04 - View Bypass / MAC
Mostra como uma view pode virar caminho alternativo de acesso e como `USE DATA GRANTS ONLY` forca a politica da tabela base.
Shows how a view can become an alternate access path and how `USE DATA GRANTS ONLY` enforces the base table policy.
## 05 - Legacy App AI Extension
Mostra uma aplicacao legada ampliada com agente AI sem reescrever toda a autorizacao. O agente acessa o mesmo dataset, mas Deep Data Security limita linhas e colunas pelo contexto do usuario final.
Shows a legacy application extended with an AI agent without rewriting all authorization logic. The agent accesses the same dataset, but Oracle Deep Data Security limits rows and columns by end-user context.
## 06 - RAG Vector Classified Docs
Mostra RAG/vector search com documentos classificados. A busca pode tentar recuperar todos os chunks, mas o banco entrega apenas o que a classificacao e a persona autorizam.
Shows RAG/vector search with classified documents. Retrieval may attempt to fetch all chunks, but the database returns only what the classification and persona allow.
## 07 - Audit Evidence With Data Safe
Mostra como gerar evidencias com Unified Audit e como posicionar OCI Data Safe para activity auditing, relatorios e validacao de acesso a dados sensiveis.
Shows how to generate evidence with Unified Audit and how to position OCI Data Safe for activity auditing, reporting, and sensitive data access validation.
## Proximos Cenarios Sugeridos
## Suggested Next Scenarios
- BI by region, branch, and cost center.
- Controlled write operations with `UPDATE`, `INSERT`, and `DELETE`.
- Database Vault complement to block DBA access.
- AVDF/SIEM integration for on-premises, Exadata, or heterogeneous environments.
- BI por regiao, filial e centro de custo.
- Escrita controlada com `UPDATE`, `INSERT` e `DELETE`.
- Complemento com Database Vault para bloquear DBA.
- AVDF/SIEM para ambientes on-premises, Exadata ou heterogeneos.

View File

@@ -1,29 +1,29 @@
# Modelo De Segurança
# Security Model
## Controles Obrigatórios
## Required Controls
- Banco em endpoint privado.
- NSG dedicado para banco.
- mTLS obrigatório.
- Senhas, API keys, wallets e `.tfvars` fora do Git.
- Usuários de demo sem privilégios administrativos.
- SQL de reset por cenário.
- Database deployed through a private endpoint.
- Dedicated NSG for the database.
- mTLS required.
- Passwords, API keys, wallets, and `.tfvars` files kept out of Git.
- Demo users without administrative privileges.
- Reset SQL script for each scenario.
## Controles Recomendados
## Recommended Controls
- OCI Vault com chave gerenciada pelo cliente.
- Data Safe para assessment, discovery, masking e activity auditing quando suportado.
- Logging e retenção de eventos OCI.
- Integração com SIEM para labs avançados.
- Database Vault para demonstrar bloqueio de DBA em schemas sensíveis.
- OCI Vault with customer-managed keys.
- Data Safe for assessment, discovery, masking, and activity auditing when supported.
- OCI Logging and event retention.
- SIEM integration for advanced labs.
- Database Vault to demonstrate DBA blocking for sensitive schemas.
## Controles Opcionais
## Optional Controls
- Bastion compute com IP público restrito.
- Oracle Key Vault para cenários híbridos ou multicloud.
- AVDF para auditoria centralizada e Database Firewall em ambientes on-premises ou Exadata.
- Compute bastion with restricted public access.
- Oracle Key Vault for hybrid or multicloud scenarios.
- AVDF for centralized auditing and Database Firewall in on-premises or Exadata environments.
## Observações Importantes
## Important Notes
Deep Data Security controla autorização em tempo de execução. Ele não substitui TDE, masking de ambientes não produtivos, Database Vault, Data Safe, AVDF ou governança de chaves. Em uma arquitetura de cliente, esses controles devem ser combinados conforme o risco.
Oracle Deep Data Security enforces authorization at runtime. It does not replace TDE, non-production data masking, Database Vault, Data Safe, AVDF, or key governance. In a customer architecture, these controls should be combined according to risk.

View File

@@ -1,38 +1,38 @@
# Troubleshooting
## Terraform Plan Falha Por Autenticação
## Terraform Plan Fails Because Of Authentication
Verifique:
Check:
- OCIDs corretos.
- Região correta.
- Fingerprint da API key.
- Caminho da chave privada.
- Permissões IAM para criar recursos.
- correct OCIDs
- correct region
- API key fingerprint
- private key path
- IAM permissions to create resources
## Autonomous Database Não Aceita Versão Informada
## Autonomous Database Does Not Accept The Configured Version
Remova ou ajuste `adb_db_version` em `terraform.tfvars`. A disponibilidade de versão depende da região, tenancy e serviço. Para um lab real de Deep Data Security, use uma versão compatível com Oracle AI Database 26ai.
Remove or adjust `adb_db_version` in `terraform.tfvars`. Database version availability depends on region, tenancy, and service limits. For a real Oracle Deep Data Security lab, use a version compatible with Oracle AI Database 26ai.
## Banco Não É Acessível
## Database Is Not Reachable
Verifique:
Check:
- Cliente dentro da VCN ou conectado por VPN/FastConnect/bastion.
- NSG permitindo porta `1522`.
- Wallet e mTLS configurados.
- DNS do private endpoint resolvendo corretamente.
- the client is inside the VCN or connected through VPN, FastConnect, or bastion
- NSG allows port `1522`
- wallet and mTLS are configured
- private endpoint DNS resolves correctly
## Cenário SQL Falha
## Scenario SQL Fails
Verifique:
Check:
- Versão do banco compatível com Deep Data Security.
- Usuário executor com privilégio para criar schema, end users, data roles e data grants.
- Ordem dos scripts SQL.
- Se o cenário anterior foi resetado.
- database version is compatible with Oracle Deep Data Security
- executor has privileges to create schema objects, end users, data roles, and data grants
- SQL files were executed in the correct order
- previous scenario state was reset
## Reset Não Remove Tudo
## Reset Does Not Remove Everything
Execute o `sql/99_reset.sql` do cenário e valide manualmente objetos remanescentes. Em ambiente compartilhado, confirme antes de dropar schemas.
Run the scenario `sql/99_reset.sql` and manually validate remaining objects. In shared environments, confirm before dropping schemas.

View File

@@ -1,17 +1,17 @@
# Validação
# Validation
## Validação Local
## Local Validation
Neste desktop, a execução direta de `.ps1` pode estar bloqueada por política do Windows. Use sempre:
On some Windows desktops, direct `.ps1` execution may be blocked by execution policy. Use:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\bootstrap.ps1
powershell -ExecutionPolicy Bypass -File .\scripts\validate-terraform.ps1
```
## Validação Terraform
## Terraform Validation
O script executa:
The validation script runs:
```bash
terraform fmt -recursive -check
@@ -19,7 +19,7 @@ terraform init -backend=false
terraform validate
```
Depois de preencher `terraform.tfvars`, execute:
After filling `terraform.tfvars`, run:
```bash
cd terraform/envs/demo
@@ -28,17 +28,17 @@ terraform plan -out tfplan
terraform apply tfplan
```
## Validação Dos Cenários
## Scenario Validation
Para cada cenário:
For each scenario:
1. Execute `sql/99_reset.sql`.
2. Execute `00_schema.sql`, `01_seed_data.sql`, `02_identities.sql`, `03_data_grants.sql`.
3. Conecte como cada persona ou propague o contexto pela aplicação.
4. Execute `04_test_queries.sql`.
5. Compare com `evidence/expected-results.md`.
1. Run `sql/99_reset.sql`.
2. Run `00_schema.sql`, `01_seed_data.sql`, `02_identities.sql`, and `03_data_grants.sql`.
3. Connect as each persona or propagate the context through the application.
4. Run `04_test_queries.sql` or the scenario-specific activity script.
5. Compare the result with `evidence/expected-results.md`.
## Limites Da Validação Estática
## Static Validation Limits
`terraform validate` verifica sintaxe e schema do provider. Ele não garante disponibilidade regional de versão de banco, shape, quota, policies IAM ou limits de serviço. Esses pontos aparecem durante `terraform plan` e `terraform apply`.
`terraform validate` checks syntax and provider schema. It does not guarantee regional database version availability, shape availability, quota, IAM policies, or service limits. Those are validated during `terraform plan` and `terraform apply`.