Skip to content

docs(authz): design doc authz multi-tenant con taxonomía IDPro - #226

Merged
SabaTech-dev merged 1 commit into
mainfrom
docs/authz-idpro-design
Sep 4, 2026
Merged

docs(authz): design doc authz multi-tenant con taxonomía IDPro#226
SabaTech-dev merged 1 commit into
mainfrom
docs/authz-idpro-design

Conversation

@SabaTech-dev

Copy link
Copy Markdown
Owner

Qué

Design doc de autorización multi-tenant (docs/AUTHORIZATION.md, 320 líneas) — insumo para decisión gated Joker. Doc-only: cero cambios de código (freeze MVP→BETA respetado).

Contenido

  1. Estado as-is verificado en repo — JWT solo con sub, RBAC scaffold sin cablear (RoleModel inexistente, sin role_assignments, nadie llena request.state.user_roles), aislamiento 100% app-layer. 7 brechas catalogadas (B1–B7), incl. riesgo crítico B4: sin binding usuario↔tenant.
  2. Taxonomía IDPro (6 ejes) con cada etiqueta en su eje + desactivación explícita del error clásico "PBAC reemplaza RBAC" (ejes ortogonales: modelo vs arquitectura).
  3. Decisión por eje: Administration híbrido (plataforma MAC-style + tenant-admin delegado) · Modelo RBAC + entitlements separados (no ReBAC/ACL) · Policy = catálogo en código + asignaciones en DB (sin Rego/Cedar) · Information = identidad en token, permisos por lookup+cache · Decision = PDP in-process (sin OPA) · Enforcement = middleware FastAPI + RLS backstop.
  4. Matriz roles×permisos×tenants (viewer/member/admin/owner + platform_admin) con invariantes I1–I6 (owner existence, no-escalación, tenant binding, status override, API keys sin admin:*).
  5. Aislamiento multi-tenant: comparativa app-layer/RLS/schema-per-tenant/DB-per-tenant → recomendación shared schema + RLS con mecánica de diseño (SET LOCAL por transacción, usuario no-superuser, backfill previo, suite adversarial).
  6. 8 decisiones gated (GD-1..GD-8) con opciones/recomendación/reversibilidad/coste — formato 1-a-1, no batch.

Out of scope

Implementación de código, ReBAC/sharing, ABAC fino, SSO SAML/SCIM, motores de política externos, números de billing.

Verificación

git diff origin/main --stat  # 1 file, docs/AUTHORIZATION.md only
grep -c 'GD-' docs/AUTHORIZATION.md  # decisiones gated presentes

Card: c9cd4fe2 (workboard) · Fuente taxonómica: IDPro/Chiarelli + Brossard (PAP/PIP/PDP/PEP).

…c9cd4fe2)

- Estado as-is verificado: JWT sub-only, RBAC scaffold sin cablear (B1-B7)
- Taxonomia IDPro 6 ejes + decision explicita por eje
- Matriz roles x permisos x tenants + invariantes I1-I6
- Aislamiento: shared schema + RLS backstop (app-layer como frontera)
- 8 decisiones gated Joker para presentacion 1-a-1 (GD-1..GD-8)
- Doc-only: sin cambios de codigo (freeze MVP->BETA)
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

PR Check Results

Code Formatting: Passed
Linting: Passed
Type Checking: Failed
Tests: Failed

⚠️ Some checks failed. Please review the details above.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

⚠️ WARN Trivy Security Scan Results

Severity Count
🔴 CRITICAL 0
🟠 HIGH 46
Total 46

Scans performed:

  • 📁 Filesystem (vulnerabilities, secrets, misconfigurations)
  • 🐳 Backend Docker image
  • 🐳 Frontend Docker image
  • 🏗️ IaC misconfiguration detection

⚠️ HIGH vulnerabilities should be addressed. Review required.

📋 View detailed SARIF reports

Download artifacts from this workflow run for full SARIF reports.
Results are also available in the GitHub Security tab.


Trivy v0.71.0 | aquasecurity/trivy

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

🎨 Frontend Preview Deployment

App Coolify: qa-framework-frontend-pr-226 (9wbxmgydxpx9yorizl7dlln4)
Estado: ⚠️ running:unknown
Commit: 4c86ae32e19d196269e50c94caff38a38a2bb5dc
Branch: docs/authz-idpro-design

Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645).

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

🔧 Backend Preview Deployment

App Coolify: qa-framework-backend-pr-226 (o4bjyq1vopxkcgkiukxzf8bv)
Estado: ⚠️ running:unknown
Commit: 4c86ae32e19d196269e50c94caff38a38a2bb5dc
Branch: docs/authz-idpro-design

Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645).

@SabaTech-dev
SabaTech-dev merged commit 8e88461 into main Sep 4, 2026
39 checks passed
@SabaTech-dev
SabaTech-dev deleted the docs/authz-idpro-design branch September 4, 2026 23:41
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

🧹 Preview Cleanup

PR #226 - Merged

✅ Preview apps eliminadas de Coolify (verificado via API): backend + frontend.


Resources freed at 2026-09-04T23:41:20.753Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant