GH GambleHub

RBAC: administración de roles y permisos

1) Objetivos y principios del RBAC

Objetivo: Hacer que el acceso sea manejable, verificable y de alcance mínimo para proteger el dinero/PII y el cumplimiento (GDPR/AML/PCI/ISO).
Principios: Privilegio Least· Need-to-Know· Separación de Duties (SoD)· Confianza Cero· Revocabilidad (revisión rápida)· Audiencia (probabilidad).

2) Taxonomía de derechos y roles

Tipos de derechos (permissions):
  • Datos: 'READ', 'WRITE', 'NAT', 'DELETE', 'MASKED _ READ' (por defecto para PII).
  • Операции: `APPROVE_WITHDRAWAL`, `CHANGE_FRM_RULE`, `KYC_DECISION`, `SANCTIONS_OVERRIDE`.
  • Админ: `ROLE_UPDATE`, `USER_PROVISION`, `SECRET_ROTATE`, `BREAK_GLASS`.
  • Integraciones: 'API _ CALL:', 'WEBHOOK _ SIGN', 'SERVICE _ CONFIG _ UPDATE'.
Clases de rol:
  • Core (сквозные): `employee_basic`, `viewer_internal`, `auditor_privacy`.
  • Доменные: `support_agent`, `vip_manager`, `payments_ops`, `aml_officer`, `kyc_operator`, `fraud_analyst`, `rg_specialist`, `bi_analyst`.
  • Sistemas/esos: 'devops _ admin', 'dba _ admin', 'service _ account _', 'read _ only _ prod'.
  • Privilegiados (vía PAM/JIT): 'break _ glass _ admin', 'prod _ db _ jit _ editor'.

3) Diseño de roles (role engineering)

1. Inventario de recursos: sistemas/tablas/endpoints, clases de datos (Public/Internal/Confidential/Restricted/Highly Restricted).
2. Historias de usuario por funciones: quién hace qué y por qué (purpose).
3. Mapping tareas → permissions: conjunto mínimo para cada función.
4. Agrupar en un rol: un rol = un dominio de responsabilidad; evitar los «superroles».
5. Pruebas de SoD: comprobación de incompatibilidades (por ejemplo, 'payments _ ops' ≠ 'fraud _ rule _ admin').
6. Piloto y medición: emitimos a un grupo limitado temporalmente, recogemos el rastro de auditoría.
7. Versioning: Cada cambio de rol es a través de la AMB con changelog.

4) Interacción RBAC ↔ ABAC ↔ SoD

RBAC responde «quien en principio puede», ABAC - «en qué condiciones» (medio, geo, dispositivo/MDM, tiempo, nivel KYC, 'purpose').
SoD prohíbe las combinaciones peligrosas de roles y requiere 4 eyes para acciones críticas.
Práctica: los roles predeterminados dan MASKED_READ a PII; el acceso no enmascarado requiere el atributo 'purpose' + JIT y una decisión positiva de la política ABAC.

5) Multiarrendamiento y geo-contexto

Tenant-scope: los roles están vinculados al arrendamiento/marca/jurisdicción ('role: payments _ ops @ EEA').
Geo-keys: claves de cifrado individuales y segmentos de acceso por región (EC/UK/...).
Granularidad: filtrar por la columna 'region _ code' (RLS) y por la jurisdicción del jugador.

6) Fila/Columna-Nivel Seguridad y enmascaramiento

Estrategia:
  • RLS (strings): sólo accede a los registros de tu país/marca/equipo.
  • CLS (columnas): los campos sensibles están disponibles enmascarados; sin enmascarar - sólo con el privilegio 'pii _ unmask' + 'purpose'.
Mini ejemplo (idea SQL):
sql
CREATE POLICY rls_tx
ON dwh. transactions
USING (region_code = current_setting('app. region'));

SELECT
CASE WHEN has_priv('pii_unmask') THEN email ELSE mask_email(email) END AS email_view
FROM dwh. users;

7) JIT, break-glass и PAM в RBAC

JIT: papel privilegiado temporal (15-120 min) bajo ticket; autocontrol; auditoría completa.
Break-glass: acceso de emergencia con MFA + segunda confirmación y registro de sesión; post-rugido con Security + DPO.
PAM: almacén de secretos, proxy de sesión, rotación de contraseñas/claves.

8) Ciclo de vida de roles (SOP)

SOP-1: Crear o modificar un rol

1. La interpelación del propietario del dominio → la lista de las tareas → mapping permissions → el SoD-cheque → el piloto → CAB → la puesta en venta + la documentación.

SOP-2: Solicitud y emisión de acceso

1. Solicitud (IDM/ITSM) con 'purpose' y período de → auto-verificación de SoD/jurisdicción → aprobación del propietario de datos + Seguridad (para Restringido +) → emisión (a menudo JIT) → entrada en el registro.

SOP-3: Revisión/offboarding

Desencadenantes: despido, cambio de rol, inactividad> 30/60 días, JIT caducado.
Revocación automática y registro.

SOP-4: Re-certificación

Trimestralmente, los propietarios confirman que los roles de usuario siguen siendo necesarios; el sistema quita los derechos «colgantes».

9) Ejemplo de matriz de roles (fragmento)

FunciónBase de permisosEnmascaramientoAcciones críticasConflicto SoD
`support_agent`LEER perfiles, ticketsSí (PII masked)с `kyc_operator`
`vip_manager`LEER VIP, bonificacionescon 'payments _ ops' (aprobaciones)
`payments_ops`APPROVE_WITHDRAWAL, VIEW_TXPII masked`PAYMENT_APPROVE` (4-eyes)с `fraud_rule_admin`
`fraud_analyst`VIEW_RULES, HOLD_TXPII masked`CHANGE_FRM_RULE`с `payments_ops`
`kyc_operator`KYC_DECISIONDocumentos masked (view-once via JIT)`KYC_APPROVE`с `support_agent`
`bi_analyst`READ AGREGADOSSiempre masked'EXPORTACIÓN' a través de vitrinasс `dba_admin`
`devops_admin`infra admin`BREAK_GLASS`con roles empresariales

10) Herramientas e implementación (patrones)

Directorio de roles como código: YAML/JSON en repositorio + validadores CI, changelog.
IdP/SSO Central: SCIM-providening, mappings grupales 'group → role'.
Punto de decisión de política: motor de políticas (ABAC) con atributos de contexto.
Secrets/KMS: aislamiento de claves por entorno/región/tenant.
Gateway de datos: una sola capa de enmascaramiento/auditoría para DWH/BI/exportaciones.
SIEM/SOAR: correlación 'ROLE _ UPDATE '/' READ _ PII '/' NAT _ DATA', tickets automáticos.

11) Auditoría y registro

Обязательные события: `ROLE_ASSIGN`, `ROLE_REVOKE`, `ROLE_UPDATE`, `BREAK_GLASS`, `JIT_GRANT`, `READ_PII`, `EXPORT_DATA`, `PAYMENT_APPROVE`, `KYC_DECISION`.
Requisitos: copia WORM, hash chain, firma de paquetes, 'purpose '/' ticket _ id' en cada evento, sincronización de tiempo.

12) Métricas y KPI/KRI

Cobertura:% de los sistemas bajo RBAC ≥ 95%.
SoD violations: = 0; intentos de asignar roles incompatibles - auto-bloque.
Tasa JIT: ≥ 80% de los aumentos van como JIT.
Offboarding TTR: revocación de derechos ≤ 15 min.
Masked reads ratio: ≥ 95% de los accesos a PII están enmascarados.
Recuperación: 100% de los roles se confirman trimestralmente.
Exports signed: 100% de las exportaciones con firma/registro.

13) RACI (ampliado)

ActividadCompliance/LegalDPOSecuritySRE/ITData/BIProduct/EngDomain Owner
Política RBAC/SoDA/RCCCCCC
Diseño de roles/derechosCCA/RRRRR
ABAC/JIT/PAMIIA/RRICI
Re-certificaciónCCARRRR
Exportar/enmascararCARRRCC

14) Hojas de cheques

Antes de crear un rol

  • Descripted user-stories y 'purpose'
  • Lista de recursos y clases de datos
  • Mapping permissions mínimos
  • SoD-validación/conflictos
  • Política de enmascaramiento y RLS/CLS
  • Plan de re-certificación y propietarios

Antes de emitir el acceso

  • Fixan 'purpose' y fecha límite
  • SoD/jurisdicción/MDM/MFA cumplidos
  • Enmascaramiento predeterminado, JIT cuando se eleva
  • El diario y la fecha de la revisión están incluidos

15) Errores frecuentes y anti-patrones

«Superroly» con derechos amplios en lugar de dominios pequeños.
Acceso directo a PII sin enmascaramiento y 'purpose'.
Falta de SoD/cuarto ojo para 'PAYMENT _ APPROVE '/' KYC _ APPROVE'.
Extensión de los derechos temporales «para siempre».
Copia los datos de prod en dev/stage.
Exportaciones opacas sin firma ni registro.

16) Hoja de ruta para la implementación

Semanas 1 a 2: inventario de recursos/clasificación de datos; matriz de roles en negrita; Tabla SoD.
Semanas 3-4: RBAC como código (repositorio), grupos IdP/SCIM, motor ABAC (atributos básicos: entorno/geo/MDM/tiempo), JIT/PAM, capa de enmascaramiento para DWH/BI.
Mes 2: re-certificación, automatización offboarding, SOAR-alerta para infracciones RBAC/SoD/ABAC, registros de exportación/WORM.
Mes 3 +: extensión de atributos (riesgo del dispositivo, nivel KYC), auditorías de acceso bias, optimización de costos y ejercicios regulares de tabletop.

TL; DR

RBAC fuerte = pequeños roles de dominio + condiciones de atributos (ABAC) + SoD y JIT/PAM + enmascaramiento y RLS/CLS + auditoría dura y re-certificación. Esto reduce el riesgo de fugas/abusos, acelera la auditoría y mantiene la plataforma dentro de los límites de los requisitos de privacidad y cumplimiento.

Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Telegram
@Gamble_GC
Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.