2.3 KiB
2.3 KiB
Runbook - 04 View Bypass MAC
Objetivo
Demonstrar que views e caminhos alternativos de acesso podem contornar controles mal desenhados, e que USE DATA GRANTS ONLY aplica Mandatory Access Control no objeto protegido.
Valor De Seguranca
- Evita bypass por views legadas.
- Aplica politica uniforme em tabela base e views.
- Ajuda clientes com muitos relatorios, synonyms, views e ferramentas BI.
Pre-Requisitos
- Banco Oracle AI Database compativel com Oracle Deep Data Security.
- SQLcl ou SQL*Plus.
Antes - Ambiente Vulneravel
-
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 -
Simule uma view legada que retorna todos os dados:
SELECT account_id, account_name, owner_name, region, balance FROM dds_mac_accounts_view ORDER BY account_id;
Resultado Esperado Antes
- A view pode expor contas de outros donos.
- O acesso por caminho alternativo nao respeita a mesma intencao da politica da tabela base.
Depois - Aplicando Deep Data Security
-
Aplique data grants e habilite MAC:
@scenarios/04-view-bypass-mac/sql/03_data_grants.sql -
Execute a consulta na tabela e na view:
@scenarios/04-view-bypass-mac/sql/04_test_queries.sql
Resultado Esperado Depois
- A tabela base retorna somente a conta do usuario final.
- A view retorna o mesmo subconjunto autorizado.
- O data grant amplo na view nao consegue furar a politica da tabela base quando MAC esta habilitado.
Evidencias Para Demo
- Resultado da tabela e da view antes/depois.
- SQL
SET USE DATA GRANTS ONLY ON dds_mac_accounts ENABLED. - Explicacao de que MAC remove inconsistencias entre caminhos de acesso.
Referencias Oficiais
- SET USE DATA GRANTS ONLY: https://docs.oracle.com/en/database/oracle/oracle-database/26/sqlrf/set-use-data-grants-only.html
- Fine-Grained Data Authorization - Mandatory Access Control: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/fine-grained-data-authorization.html
- Configure Data Grants: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/configure-data-grants.html