80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
# 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
|
|
|