Saltar al contenido principal
Auth0 ofrece dos formas de implementar el control de acceso basado en roles (RBAC), que puede usar en lugar del sistema interno de control de acceso de su API o en combinación con este:El conjunto de funcionalidades de Authorization Core equivale al de Authorization Extension, mejora el rendimiento y la escalabilidad, y ofrece un sistema RBAC más flexible que Authorization Extension.Actualmente, ambos implementan las funcionalidades clave de RBAC y le permiten restringir los alcances personalizados definidos para una API a los que se hayan asignado al usuario como permisos.
Si tiene una aplicación a la que puede acceder cualquier persona de su empresa, los usuarios son las personas a las que desea conceder acceso a la aplicación. Si tiene una gran cantidad de usuarios, administrar individualmente los derechos de acceso y los permisos de cada uno puede volverse difícil de manejar. La funcionalidad de grupos ayuda a simplificar este proceso. Por ejemplo, sus grupos pueden reflejar los distintos departamentos de su organización: contabilidad, tecnología de la información, ingeniería, soporte, etc. También puede crear grupos anidados; por ejemplo, dividir el grupo de ingeniería en dos grupos anidados: herramientas internas y aplicaciones orientadas al cliente. La jerarquía de su organización tendría entonces este aspecto:
  • Empresa
    • Contabilidad
    • Tecnología de la información
    • Ingeniería
      • Herramientas internas
      • Aplicaciones orientadas al cliente
    • Soporte
Diagrama de grupos corporativos de Authorization Extension
Puede agregar usuarios a sus grupos de forma manual o dinámica según las conexiones que usen para acceder a la aplicación. Por ejemplo, si alguien inicia sesión mediante la Conexión de Active Directory y su perfil de AD indica que pertenece al grupo Marketing, Authorization Extension también puede agregarlo al grupo Marketing que administra con la extensión. Por último, tenemos los permisos y los roles, que son grupos de permisos. El objetivo de estos últimos es facilitar la asignación simultánea de varios permisos a un usuario o a un grupo.
Diagrama de roles y permisos de Authorization Extension
Por ejemplo, puede que desee conceder permisos para:
  • Aprobar solicitudes de viaje
  • Aprobar gastos de viaje
En lugar de asignar ambos permisos a grupos o usuarios, puede agruparlos (junto con muchos otros) en un rol llamado Administrador de viajes. Luego, puede asignar Administrador de viajes a usuarios individuales o a uno o más grupos.
Diagrama de grupos, roles y permisos de Authorization Extension

Usuarios

La sección Usuarios muestra todos los usuarios actuales de sus aplicaciones. Aquí puede encontrar un usuario específico, ver su perfil, cambiar su pertenencia a grupos y modificar sus roles.
Dashboard - Extensions - Authorization Dashboard - Users

Grupos

Para crear y administrar los grupos con los que gestionarás la configuración de los usuarios, haz clic en Groups en el Authorization Dashboard. Haz clic en Create Group para crear un grupo nuevo para tus usuarios. Se te pedirá que proporciones un nombre para el grupo, así como una descripción. Puedes administrar tus usuarios y su pertenencia a grupos de una de estas dos maneras:
  • Abriendo el grupo y administrando los usuarios del grupo
    Dashboard - Extensions - Authorization Extension - Group Membership - Group Management
  • Abriendo el usuario y administrando la pertenencia del usuario a uno o varios grupos
    Dashboard - Extensions - Authorization Extension - Group Membership - User Management
Los grupos que crees dependerán de las necesidades de tu proceso de negocio. Por ejemplo, podrías tener un grupo para tus usuarios de finanzas, un grupo para tus usuarios de TI, etc. Además, puedes crear grupos anidados similares a los siguientes:
  • Example Company
    • Accounting
      • External Accountants
    • Human Resources
    • Finance
      • Finance IT Support
    • Management
Para crear grupos anidados, primero debes crear todos los grupos individuales mediante el botón CREATE en la página Groups del Authorization Dashboard. Para anidar los grupos:
  1. Abre el grupo de nivel superior (en el ejemplo anterior, sería el grupo Example Company)
  2. Haz clic en la pestaña Nested Groups
  3. Haz clic en el botón ADD NESTED GROUP. Se te mostrará una lista de grupos que pueden agregarse al grupo principal. Para seleccionar un grupo concreto, haz clic en la casilla situada a la izquierda del nombre. Después de cada selección, volverás a la página del grupo principal. Continúa este proceso hasta incluir todos los grupos que necesites.
Con los grupos anidados, al agregar un usuario a un subgrupo también se le conceden los permisos otorgados a los grupos padre (y abuelo) de ese grupo. Por ejemplo, agregar un usuario al grupo External Accountants lo convierte automáticamente en miembro de los grupos Finance y Company. Sin embargo, el usuario solo es miembro explícito de External Accountants; todas las demás pertenencias son puramente dinámicas y se calculan según sea necesario (por ejemplo, al cargar las pertenencias a grupos del usuario). Para evitar confusiones, se te mostrarán tanto los miembros explícitos COMO los “miembros calculados” que resultan de los grupos anidados cada vez que abras la página de un grupo específico en el Authorization Dashboard.

Asignaciones de grupos

Las asignaciones de grupos le permiten agregar dinámicamente usuarios a distintos grupos en función de sus conexiones. Básicamente, con la Conexión y la información de grupos proporcionada por el , puede hacer que el usuario pase a ser miembro del grupo para el que haya creado la asignación correspondiente. Por ejemplo, suponga que sus usuarios inician sesión con sus credenciales de Active Directory (AD). Como parte de su identidad, AD permite asociar información de grupos a los usuarios (como “Administrativo” y “Marketing”). A continuación, puede configurar asignaciones de grupos para que examinen el perfil de un usuario si se conecta mediante la conexión de Active Directory. Cuando la extensión detecta que la persona forma parte del grupo “Administrativo”, automáticamente hará que el usuario sea miembro del grupo Admin de su empresa.
Dashboard - Extensions - Authorization Extensions Dashboard - Group Mapping

Roles

Los roles que cree dependerán del acceso a determinados permisos en su aplicación. Por ejemplo, supongamos que tiene una aplicación que permite a los empleados registrar gastos de la empresa. Quiere que todos los empleados puedan enviar gastos, pero que ciertos usuarios de Finanzas tengan más acciones de tipo administrativo, como aprobar o eliminar gastos. Estas acciones se pueden asignar a Permisos y luego a un rol determinado. Puede crear distintos tipos de roles, como: administradores de gastos, gerente de gastos y usuario de gastos para su herramienta de gestión de gastos.
Dashboard - Extensions - Authorization Extensions Dashboard - Permissions
Para agregar un rol, haga clic en el botón CREATE ROLE de la sección Roles del panel. Luego, elija la aplicación a la que se aplica este rol (como Expense Management Tool) y agregue un nombre para el rol (como Expense Admins) y una descripción. Después, seleccione los permisos que desea conceder a este rol. Si todavía no ha creado los permisos, puede agregarlos más adelante a un rol existente.
Dashboard - Extensions - Authorization Extensions Dashboard - Add Role to User
Una vez que haya creado un Rol, puede agregarlo a un usuario para que tenga los Permisos asociados. Para agregar un rol a un usuario, busque al usuario en la sección Users y luego haga clic en la pestaña Roles. Después, haga clic en ADD ROLE TO USER para elegir qué roles desea asignar al usuario y, a continuación, haga clic en SAVE.

Permisos

Los permisos son las acciones o funciones que se pueden agregar a los roles. Siguiendo con el ejemplo anterior de una aplicación de gastos, veamos algunos roles posibles y cómo se pueden asociar con determinados permisos:
  • Rol: Usuario de gastos
    • Permisos:
      • Ver sus propios gastos
      • Añadir un gasto nuevo
  • Rol: Administrador de gastos
    • Permisos:
      • Aprobar gastos
      • Ver todos los gastos de los usuarios
      • Eliminar gastos
      • Añadir un gasto nuevo
Para crear un permiso nuevo, vaya a la sección Permissions del panel de Authorization Extension.
Panel - Extensions - Panel de Authorization Extension - Permissions
A continuación, haga clic en el botón CREATE PERMISSION. Después, introduzca el nombre del permiso, la descripción y seleccione la aplicación a la que se aplica este permiso.
Panel - Extensions - Panel de Authorization Extension - Create Permissions
Una vez creados los permisos, puede asociarlos con roles.

Más información