2.5 KiB
2.5 KiB
Runbook - 02 Shared App Account
Objetivo
Demonstrar que uma conta tecnica compartilhada de aplicacao nao deve ser a fronteira real de autorizacao de dados.
Valor De Seguranca
- Reduz o risco de connection pools com privilegios excessivos.
- Permite que o banco avalie o usuario final, e nao apenas a conta tecnica.
- Ajuda a proteger aplicacoes web, APIs, BI e agentes que usam contas compartilhadas.
Pre-Requisitos
- Banco Oracle AI Database compativel com Oracle Deep Data Security.
- SQLcl ou SQL*Plus.
- Entendimento de qual identidade final sera propagada pela aplicacao.
Antes - Ambiente Vulneravel
-
Limpe o cenario:
@scenarios/02-shared-app-account/sql/99_reset.sql -
Crie a tabela, dados 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 -
Simule uma aplicacao ou API usando a conta
DDS_APPpara consultar todos os pedidos:@scenarios/02-shared-app-account/sql/04_test_queries.sql
Resultado Esperado Antes
- A conta compartilhada consegue enxergar pedidos de todos os vendedores e regioes.
- Campos como
MARGINpodem ficar expostos se a aplicacao gerar SQL incorreto. - Um bug, prompt injection ou endpoint abusado pode consultar mais dados do que o usuario deveria ver.
Depois - Aplicando Deep Data Security
-
Aplique data grants por papel de negocio:
@scenarios/02-shared-app-account/sql/03_data_grants.sql -
Execute a mesma query no contexto de
aliceebruno:@scenarios/02-shared-app-account/sql/04_test_queries.sql
Resultado Esperado Depois
aliceve somente seus pedidos e nao vemargin.brunove pedidos LATAM com acesso gerencial.- A conta tecnica deixa de ser a unica fronteira de seguranca.
Evidencias Para Demo
- Comparacao antes/depois do mesmo SQL.
- Explicacao do uso de data roles.
- Diagrama simples: usuario final -> app -> banco -> data grants.
Referencias Oficiais
- Oracle Deep Data Security Guide: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/index.html
- 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
- End-User Security Contexts: https://docs.oracle.com/en/database/oracle/oracle-database/26/refrn/DBA_END_USER_SECURITY_CONTEXTS.html