# 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