102 lines
2.2 KiB
Markdown
102 lines
2.2 KiB
Markdown
# 03 - PII Row Column Cell
|
|
|
|
## Objetivo
|
|
|
|
Demonstrar controle fino de PII por linha, coluna e celula.
|
|
|
|
## O Que Este Lab Mostra
|
|
|
|
Antes do Oracle Deep Data Security, uma consulta ampla pode expor dados de funcionarios, SSN e salario. Depois dos data grants, cada persona ve apenas o que sua funcao permite.
|
|
|
|
## Personas
|
|
|
|
- `emma`: funcionaria.
|
|
- `marvin`: gerente.
|
|
- `victoria`: RH.
|
|
|
|
## Onde Executar Os Comandos
|
|
|
|
Execute os comandos a partir da raiz do repositorio:
|
|
|
|
```powershell
|
|
cd C:\Users\rodrigo\Documents\Codex\oracle-deep-data-security-lab
|
|
```
|
|
|
|
Conecte no banco com SQLcl ou SQL*Plus:
|
|
|
|
```bash
|
|
sql "<connect_string>"
|
|
```
|
|
|
|
## Passo A Passo - Antes, Ambiente Vulneravel
|
|
|
|
1. Acesse o banco:
|
|
|
|
```bash
|
|
sql "<connect_string>"
|
|
```
|
|
|
|
2. Limpe o cenario:
|
|
|
|
```sql
|
|
@scenarios/03-pii-row-column-cell/sql/99_reset.sql
|
|
```
|
|
|
|
3. Crie a tabela de funcionarios, dados e personas:
|
|
|
|
```sql
|
|
@scenarios/03-pii-row-column-cell/sql/00_schema.sql
|
|
@scenarios/03-pii-row-column-cell/sql/01_seed_data.sql
|
|
@scenarios/03-pii-row-column-cell/sql/02_identities.sql
|
|
```
|
|
|
|
4. Execute a consulta ampla:
|
|
|
|
```sql
|
|
@scenarios/03-pii-row-column-cell/sql/04_test_queries.sql
|
|
```
|
|
|
|
Resultado esperado antes: todos os registros e colunas sensiveis podem aparecer, incluindo `SSN` e `SALARY`.
|
|
|
|
## Passo A Passo - Depois, Com Deep Data Security
|
|
|
|
1. Aplique os data grants:
|
|
|
|
```sql
|
|
@scenarios/03-pii-row-column-cell/sql/03_data_grants.sql
|
|
```
|
|
|
|
2. Execute novamente a consulta:
|
|
|
|
```sql
|
|
@scenarios/03-pii-row-column-cell/sql/04_test_queries.sql
|
|
```
|
|
|
|
3. Repita o teste simulando `emma`, `marvin` e `victoria`.
|
|
|
|
Resultado esperado depois:
|
|
|
|
- `emma` ve apenas seu proprio registro.
|
|
- `marvin` ve seus subordinados, mas SSN fica oculto.
|
|
- `victoria` ve dados sensiveis por papel de RH.
|
|
- Atualizacoes ficam limitadas a colunas autorizadas.
|
|
|
|
## Execucao Automatizada Opcional
|
|
|
|
Windows:
|
|
|
|
```powershell
|
|
powershell -ExecutionPolicy Bypass -File .\scripts\run-scenario.ps1 -Scenario 03-pii-row-column-cell -ConnectString "<connect_string>"
|
|
```
|
|
|
|
Linux/macOS:
|
|
|
|
```bash
|
|
./scripts/run-scenario.sh 03-pii-row-column-cell "<connect_string>"
|
|
```
|
|
|
|
## Detalhes Da Demo
|
|
|
|
Veja o passo a passo completo, evidencias e referencias oficiais em [RUNBOOK.md](RUNBOOK.md).
|
|
|