Files
sicabe-core/deploy/config/opa/authz.yml
T

59 lines
2.0 KiB
YAML
Raw Normal View History

2026-10-13 14:44:55 +07:00
# =============================================================================
# SiCABE — Model Authorization (SUMBER KEBENARAN) — OPA / Trino
# -----------------------------------------------------------------------------
# Berkas ini SATU-SATUNYA sumber kebenaran ACL. JANGAN mengedit
# config/opa/data.json manual — itu HASIL RENDER:
# ./scripts/sicabe-authz render # authz.yml -> data.json
# ./scripts/sicabe-authz apply # render + reload OPA
# ./scripts/sicabe-authz fmt # rapikan format berkas ini
# Policy Rego membaca data.authz.catalogs / data.authz.write_schemas — nama
# catalog/schema TIDAK di-hardcode di Rego. Ganti nama catalog = ubah `catalogs:`
# di sini -> render -> reload. Dokumentasi: docs/authorization-cli.md
# =============================================================================
version: 1
catalogs: [iceberg]
schemas: [bronze, silver, gold]
roles:
data-admin: {superuser: true}
data-engineer:
grants:
- table: bronze.orders
caps: [select, write, ddl]
columns: '*'
- table: bronze.orders_incremental
caps: [select, write, ddl]
columns: '*'
- table: silver.orders_silver
caps: [select, write, ddl]
columns: '*'
- table: gold.orders_gold
caps: [select, write, ddl]
columns: '*'
data-catalog:
grants:
- table: bronze.orders
caps: [select]
columns: '*'
- table: bronze.orders_incremental
caps: [select]
columns: '*'
- table: silver.orders_silver
caps: [select]
columns: '*'
- table: silver.orders_clean
caps: [select]
columns: '*'
- table: gold.orders_gold
caps: [select]
columns: '*'
data-analyst:
grants:
- table: gold.orders_gold
caps: [select]
columns: '*'
- table: silver.orders_silver
caps: [select]
columns: [id, total_value]
data-viewer: {}
users: {svc_dbt: data-engineer, svc_airflow: data-engineer, svc_seed: data-engineer, svc_om: data-catalog}