Files
oracle-deep-data-security-lab/scenarios/05-legacy-app-ai-extension/sql/03_data_grants.sql
Rodrigo Pace 703e072682
Some checks failed
Repo Quality / structure (push) Has been cancelled
Add legacy AI, RAG vector and Data Safe audit scenarios
2026-05-08 12:21:47 -03:00

55 lines
1.8 KiB
SQL

WHENEVER SQLERROR EXIT SQL.SQLCODE
CREATE OR REPLACE DATA GRANT legacy_sales_customer_access
AS SELECT (customer_id, customer_name, country, region, account_owner, risk_rating, revenue)
ON dds_legacy_customers
WHERE account_owner = ORA_END_USER_CONTEXT.username
TO legacy_sales_rep_role;
CREATE OR REPLACE DATA GRANT legacy_manager_customer_access
AS SELECT (ALL COLUMNS EXCEPT legal_hold)
ON dds_legacy_customers
WHERE country = 'Brazil'
TO legacy_brazil_manager_role;
CREATE OR REPLACE DATA GRANT legacy_support_customer_access
AS SELECT (customer_id, customer_name, country, region, account_owner, risk_rating)
ON dds_legacy_customers
WHERE region = 'LATAM'
TO legacy_support_role;
CREATE OR REPLACE DATA GRANT legacy_legal_customer_access
AS SELECT
ON dds_legacy_customers
WHERE legal_hold = 'Y'
TO legacy_legal_role;
CREATE OR REPLACE DATA GRANT legacy_sales_contract_access
AS SELECT (contract_id, customer_id, contract_status, renewal_date, contract_value)
ON dds_legacy_contracts
WHERE customer_id IN (
SELECT customer_id FROM dds_legacy_customers
WHERE account_owner = ORA_END_USER_CONTEXT.username
)
TO legacy_sales_rep_role;
CREATE OR REPLACE DATA GRANT legacy_legal_contract_access
AS SELECT
ON dds_legacy_contracts
WHERE customer_id IN (
SELECT customer_id FROM dds_legacy_customers
WHERE legal_hold = 'Y'
)
TO legacy_legal_role;
CREATE OR REPLACE DATA GRANT legacy_support_ticket_access
AS SELECT (ticket_id, customer_id, assigned_group, severity, summary)
ON dds_legacy_tickets
WHERE assigned_group = 'SUPPORT'
TO legacy_support_role;
SET USE DATA GRANTS ONLY ON dds_legacy_customers ENABLED;
SET USE DATA GRANTS ONLY ON dds_legacy_contracts ENABLED;
SET USE DATA GRANTS ONLY ON dds_legacy_tickets ENABLED;