# 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 1. Limpe o cenario: ```sql @scenarios/04-view-bypass-mac/sql/99_reset.sql ``` 2. Crie tabela, view, dados e personas: ```sql @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 ``` 3. Simule uma view legada que retorna todos os dados: ```sql 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 1. Aplique data grants e habilite MAC: ```sql @scenarios/04-view-bypass-mac/sql/03_data_grants.sql ``` 2. Execute a consulta na tabela e na view: ```sql @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