Files
oracle-deep-data-security-lab/scenarios/04-view-bypass-mac
Rodrigo Pace cde150b705
Some checks failed
Repo Quality / structure (push) Has been cancelled
Expand scenario READMEs with step-by-step execution guides
2026-05-08 13:39:13 -03:00
..

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

  1. Acesse o banco:

    sql "<connect_string>"
    
  2. Limpe o cenario:

    @scenarios/04-view-bypass-mac/sql/99_reset.sql
    
  3. 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
    
  4. 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

  1. Aplique data grants e Mandatory Access Control:

    @scenarios/04-view-bypass-mac/sql/03_data_grants.sql
    
  2. Execute as consultas na tabela base e na view:

    @scenarios/04-view-bypass-mac/sql/04_test_queries.sql
    
  3. Repita o teste simulando emma e marvin.

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.