Files
oracle-deep-data-security-lab/scenarios/02-shared-app-account/README.md
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

2.4 KiB

02 - Shared App Account

Objetivo

Demonstrar o risco de uma conta tecnica de aplicacao usada por muitos usuarios e como o banco deve aplicar autorizacao com base no usuario final.

O Que Este Lab Mostra

Antes do Oracle Deep Data Security, uma conta tecnica ou connection pool pode consultar pedidos de todos os vendedores e regioes. Depois dos data grants, o retorno passa a depender da persona propagada pela aplicacao.

Personas

  • alice: vendedora.
  • bruno: gerente LATAM.
  • dds_app: conta tecnica da aplicacao.

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>"

Exemplo:

ADMIN/<senha>@ddslab_high

Passo A Passo - Antes, Ambiente Vulneravel

  1. Acesse o banco:

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

    @scenarios/02-shared-app-account/sql/99_reset.sql
    
  3. Crie tabela, dados, usuarios e conta tecnica:

    @scenarios/02-shared-app-account/sql/00_schema.sql
    @scenarios/02-shared-app-account/sql/01_seed_data.sql
    @scenarios/02-shared-app-account/sql/02_identities.sql
    
  4. Simule uma aplicacao consultando pedidos com SQL amplo:

    @scenarios/02-shared-app-account/sql/04_test_queries.sql
    

Resultado esperado antes: pedidos de varias regioes e campos como MARGIN podem aparecer para quem nao deveria.

Passo A Passo - Depois, Com Deep Data Security

  1. Aplique os data grants:

    @scenarios/02-shared-app-account/sql/03_data_grants.sql
    
  2. Execute novamente a consulta:

    @scenarios/02-shared-app-account/sql/04_test_queries.sql
    
  3. Repita o teste simulando alice e bruno como usuarios finais.

Resultado esperado depois:

  • alice ve somente seus pedidos e nao ve MARGIN.
  • bruno ve pedidos LATAM com visao gerencial.
  • A conta tecnica deixa de ser o unico ponto de autorizacao.

Execucao Automatizada Opcional

Windows:

powershell -ExecutionPolicy Bypass -File .\scripts\run-scenario.ps1 -Scenario 02-shared-app-account -ConnectString "<connect_string>"

Linux/macOS:

./scripts/run-scenario.sh 02-shared-app-account "<connect_string>"

Detalhes Da Demo

Veja o passo a passo completo, evidencias e referencias oficiais em RUNBOOK.md.