Add scenario runbooks and documentation updates
Some checks failed
Repo Quality / structure (push) Has been cancelled
Some checks failed
Repo Quality / structure (push) Has been cancelled
This commit is contained in:
79
scenarios/03-pii-row-column-cell/RUNBOOK.md
Normal file
79
scenarios/03-pii-row-column-cell/RUNBOOK.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Runbook - 03 PII Row Column Cell
|
||||
|
||||
## Objetivo
|
||||
|
||||
Demonstrar controle fino de PII em linhas, colunas e celulas: funcionario ve seu proprio registro, gerente ve subordinados com SSN oculto, e RH ve dados sensiveis.
|
||||
|
||||
## Valor De Seguranca
|
||||
|
||||
- Protege PII e dados salariais.
|
||||
- Demonstra controle de coluna e celula, nao apenas RBAC simples.
|
||||
- Ajuda em conversas de LGPD, privacidade, RH e segregacao de funcoes.
|
||||
|
||||
## Pre-Requisitos
|
||||
|
||||
- Banco Oracle AI Database compativel com Oracle Deep Data Security.
|
||||
- SQLcl ou SQL*Plus.
|
||||
- Usuario com privilegios para criar data grants.
|
||||
|
||||
## Antes - Ambiente Vulneravel
|
||||
|
||||
1. Limpe o cenario:
|
||||
|
||||
```sql
|
||||
@scenarios/03-pii-row-column-cell/sql/99_reset.sql
|
||||
```
|
||||
|
||||
2. Crie dados e personas, sem data grants:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
3. Execute a consulta ampla:
|
||||
|
||||
```sql
|
||||
@scenarios/03-pii-row-column-cell/sql/04_test_queries.sql
|
||||
```
|
||||
|
||||
## Resultado Esperado Antes
|
||||
|
||||
- Todos os funcionarios aparecem.
|
||||
- `SSN` e `SALARY` ficam visiveis para quem tiver acesso amplo ao objeto.
|
||||
- Um gerente ou usuario operacional poderia ver PII alem do necessario se a aplicacao falhar.
|
||||
|
||||
## Depois - Aplicando Deep Data Security
|
||||
|
||||
1. Aplique data grants de funcionario, gerente e RH:
|
||||
|
||||
```sql
|
||||
@scenarios/03-pii-row-column-cell/sql/03_data_grants.sql
|
||||
```
|
||||
|
||||
2. Execute a mesma consulta como `emma`, `marvin` e `victoria`:
|
||||
|
||||
```sql
|
||||
@scenarios/03-pii-row-column-cell/sql/04_test_queries.sql
|
||||
```
|
||||
|
||||
## Resultado Esperado Depois
|
||||
|
||||
- `emma` ve somente seu proprio registro.
|
||||
- `marvin` ve seu registro e subordinados, mas SSN dos subordinados aparece como `NULL`.
|
||||
- `victoria` ve todos os registros por papel de RH.
|
||||
- Atualizacao de telefone e permitida apenas na linha autorizada.
|
||||
|
||||
## Evidencias Para Demo
|
||||
|
||||
- Screenshot mostrando `SSN` como `NULL` para gerente.
|
||||
- Query de update de telefone funcionando no proprio registro.
|
||||
- Explicacao de row, column e cell-level access.
|
||||
|
||||
## Referencias Oficiais
|
||||
|
||||
- Fine-Grained Data Authorization: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/fine-grained-data-authorization.html
|
||||
- Create Data Grants: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/create-data-grants.html
|
||||
- CREATE DATA GRANT SQL Reference: https://docs.oracle.com/en/database/oracle/oracle-database/26/sqlrf/create-data-grant.html
|
||||
|
||||
Reference in New Issue
Block a user