04 - View Bypass Mandatory Access Control
Objetivo
Demonstrar que views e caminhos alternativos de acesso nao devem contornar a politica da tabela base.
O Que Este Lab Mostra
Antes do Oracle Deep Data Security, uma view legada pode expor linhas que deveriam estar protegidas. Depois de aplicar data grants e USE DATA GRANTS ONLY, tabela e view respeitam a mesma fronteira de acesso.
Personas
emma: dona de conta.marvin: dono de conta.
Onde Executar Os Comandos
Execute os comandos a partir da raiz do repositorio:
cd C:\Users\rodrigo\Documents\Codex\oracle-deep-data-security-lab
Conecte no banco com SQLcl ou SQL*Plus:
sql "<connect_string>"
Passo A Passo - Antes, Ambiente Vulneravel
-
Acesse o banco:
sql "<connect_string>" -
Limpe o cenario:
@scenarios/04-view-bypass-mac/sql/99_reset.sql -
Crie tabela, view, dados e personas:
@scenarios/04-view-bypass-mac/sql/00_schema.sql @scenarios/04-view-bypass-mac/sql/01_seed_data.sql @scenarios/04-view-bypass-mac/sql/02_identities.sql -
Consulte a view legada:
SELECT account_id, account_name, owner_name, region, balance FROM dds_mac_accounts_view ORDER BY account_id;
Resultado esperado antes: a view pode mostrar contas de outros donos.
Passo A Passo - Depois, Com Deep Data Security
-
Aplique data grants e Mandatory Access Control:
@scenarios/04-view-bypass-mac/sql/03_data_grants.sql -
Execute as consultas na tabela base e na view:
@scenarios/04-view-bypass-mac/sql/04_test_queries.sql -
Repita o teste simulando
emmaemarvin.
Resultado esperado depois:
- A tabela retorna apenas a conta autorizada.
- A view retorna o mesmo subconjunto.
- O caminho alternativo deixa de funcionar como bypass.
Execucao Automatizada Opcional
Windows:
powershell -ExecutionPolicy Bypass -File .\scripts\run-scenario.ps1 -Scenario 04-view-bypass-mac -ConnectString "<connect_string>"
Linux/macOS:
./scripts/run-scenario.sh 04-view-bypass-mac "<connect_string>"
Detalhes Da Demo
Veja o passo a passo completo, evidencias e referencias oficiais em RUNBOOK.md.