Role-Based Access Control (RBAC): Definición, Ejemplos, Mejores Prácticas

RBAC otorga permisos a roles, luego asigna usuarios a roles. Escala mejor que permisos per-user; fundamental para IAM moderno.

¿Qué es Role-Based Access Control (RBAC)?

Role-Based Access Control (RBAC) es un modelo control acceso donde los permisos se otorgan a roles (ej. "admin", "editor", "viewer") y los usuarios son asignados a roles. En vez de otorgar permisos a cada usuario individualmente, los otorgas a roles, luego pones usuarios en roles.

RBAC es el fundamento de IAM moderno.

Conceptos core RBAC

ConceptoDescripción
UsuarioUna identidad
RolColección named de permisos
PermisoUna acción permitida en un recurso
Asignación rolVincular usuario a rol
Jerarquía rolRoles pueden heredar de otros
ConstraintsReglas limitando asignación rol

Ejemplo: RBAC app SaaS

# Roles
admin: [users.create, users.delete, billing.view, billing.edit]
editor: [content.create, content.edit, content.publish]
viewer: [content.view]

# Asignaciones usuario
alice@example.com: [admin]
bob@example.com: [editor]

RBAC vs ABAC vs ACL

ModeloDecisión basada enMejor para
RBACRol(es) usuarioLa mayoría de apps
ABACAtributosPolíticas fine-grained dinámicas
ACLPermisos per-recursoPocos recursos
PBACEngine policy centralizadoModerno, desacoplado

RBAC en sistemas mayores

SistemaImplementación RBAC
AWS IAMRoles + policies managed
KubernetesRoles, ClusterRoles, RoleBindings
Azure RBACBuilt-in + custom roles
Google Cloud IAMPredefinidos + custom roles
GitHubRoles org/repo + teams
SlackRoles workspace + channel
SalesforceProfiles + permission sets

Ejemplo Kubernetes RBAC

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: production
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]

Mejores prácticas RBAC

  • Least privilege.
  • Separation of duties.
  • Limitar conteo roles.
  • Usar jerarquía rol con cuidado.
  • Auditar asignaciones rol trimestralmente.
  • Documentar cada rol.
  • Evitar sprawl "super admin".
  • Usar grupos para asignación.
  • Elevación just-in-time.
  • Loguear cambios rol.

Pitfalls RBAC comunes

  • Explosión roles.
  • Permission creep.
  • Muy pocos roles.
  • Roles atados a job titles.
  • Asignaciones rol olvidadas.
  • Role-based pero ACLs debajo.
  • Sin audit trail.
  • Checks rol hardcoded.

RBAC vs otros patterns autorización

Cuándo RBAC es suficiente

  • Roles predecibles
  • Permisos no dependen de atributos recurso
  • 10-50 roles distintos encajan en tu org

Cuándo necesitas ABAC en su lugar

  • Permisos dependen de atributos
  • SaaS multi-tenant
  • Fine-grained
  • Acceso condicional necesario

FAQ: RBAC

¿RBAC vs ABAC: cuál usar?

RBAC para roles claros. ABAC para fine-grained.

¿Cuántos roles son demasiados?

10-30 es sweet spot.

¿Debería usar Kubernetes RBAC o service mesh?

Ambos.

¿Qué es jerarquía rol?

Roles pueden heredar de otros roles.

¿Cómo migrar de ACLs a RBAC?

Identificar patterns acceso comunes, agrupar en roles.

¿Son roles lo mismo que grupos?

A veces usados intercambiablemente.

¿Cómo se relaciona RBAC con SSO?

SSO autentica. RBAC autoriza.

Testea APIs RBAC-protegidas con LoadFocus

LoadFocus corre scripts JMeter y k6 que simulan usuarios con roles diferentes. Regístrate en loadfocus.com/signup.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×