Consideraciones de planificación sobre la gestión de perfiles para su implementación de IAM B2B.
En algún momento, puede que necesite cambiar la información almacenada en el perfil de un usuario. El perfil de un usuario (también conocido como su cuenta) se almacena en Auth0, y puede que sea necesario modificar la información que contiene por distintos motivos:
Actualizaciones de información de autoservicio
Actualizaciones obligatorias relacionadas con los términos y condiciones de sus organizaciones
Cambios debidos al cumplimiento normativo
No puede acceder directamente a un perfil de usuario entre varios inquilinos de Auth0. Si está implementando varios inquilinos de Auth0 en producción, esto es algo que debe tener en cuenta.
El Perfil de usuario normalizado se actualiza desde el proveedor de identidad durante el inicio de sesión, y puede modificar el conjunto limitado de datos que contiene mediante la Management API de Auth0. También puede usar la extensibilidad de Auth0, como Actions, como alternativa para sobrescribir información del Perfil de usuario normalizado. Consulte Modificación de los datos del perfil de usuario para obtener más información.
De forma predeterminada, se crea un perfil de usuario para cada identidad de usuario, y hay varios aspectos que debe tener en cuenta:
¿Qué debe hacer si necesita almacenar información para ayudar a personalizar la experiencia de un usuario?
¿Qué ocurre si necesita almacenar información del usuario que no se originó en un ?
¿Por qué necesitaría almacenar información relacionada con el usuario que este no puede modificar?
¿Qué hace si necesita almacenar información relacionada con el usuario que este no puede modificar?
¿Qué sucede si un usuario olvida su contraseña?
¿Qué debe hacer un usuario si quiere cambiar su contraseña?
¿Cómo proporciona a un administrador de una organización de terceros la capacidad de gestionar a sus usuarios?
Auth0 permite almacenar metadatos en el perfil de un usuario, lo que permite recopilar información adicional, como preferencias de idioma y/o accesibilidad, para mejorar la experiencia del usuario. Los metadatos pueden usarse para almacenar tanto información que un usuario puede cambiar como información que no puede cambiar; esto último le permite asociar, por ejemplo, un perfil de usuario con registros de sus sistemas existentes sin modificar la implementación actual.Para los usuarios que olvidan sus contraseñas o a quienes se les permite cambiarla mediante algún mecanismo de autoservicio existente (o uno que tenga previsto implementar), puede aprovechar la funcionalidad de restablecimiento de contraseña proporcionada por Auth0. Esto puede integrarse con su implementación existente y ya viene incorporado en cualquiera de los widgets de interfaz listos para usar de Auth0, incluido Universal Login.También querrá asegurarse de que trabaja en todo momento con una cuenta de usuario verificada. Auth0 también proporciona mecanismos listos para usar para ello. También debe tener en cuenta el cumplimiento normativo, como el GDPR, que tiene requisitos muy específicos cuando se trata de proteger a los ciudadanos de la UE frente a vulneraciones de la privacidad y filtraciones de datos.Aunque Auth0 actualmente no proporciona un portal centralizado de gestión de perfiles listo para usar, para la gestión de perfiles de autoservicio puede usar la de Auth0 para crear el suyo propio o utilizar una interfaz ya creada. Consulte nuestra guía de la comunidad de Auth0, que describe el endpoint de la Management API. Todas las llamadas a la Management API requerirán el uso de un Token de acceso.
La gestión de perfiles de autoservicio puede plantear problemas tanto de seguridad como de privacidad de los datos. Por ejemplo, puede que quiera permitir que un usuario cambie su dirección de correo electrónico; sin embargo, hacerlo sin seguir las prácticas recomendadas de seguridad podría hacer que el usuario pierda el acceso a su cuenta, exponga información de identificación personal (PII) o, peor aún, abra una posible brecha de seguridad.
Como alternativa, puede usar el para gestionar aspectos del perfil de un usuario. Gestionar el perfil de un usuario mediante el Auth0 Dashboard responde más bien a una tarea administrativa y no debe usarse para la gestión de perfiles de autoservicio en un entorno de producción. Sin embargo, la interfaz que proporciona el Dashboard puede ser extremadamente útil durante el desarrollo, ya que ofrece una forma rápida y sencilla de modificar la información del perfil de un usuario.Si necesita ofrecer a sus clientes una forma de que un administrador gestione sus propios usuarios cuando esas credenciales se almacenan en su sistema, puede crear algo usted mismo o usar una extensión de Auth0. Consulte Admin Portal para obtener más información.
Además de la información del perfil de usuario normalizado, también se pueden almacenar metadatos en un perfil de usuario de Auth0. Los metadatos permiten almacenar información que no se originó en un Proveedor de identidad, o información que sobrescribe la que proporciona un Proveedor de identidad.
El uso de metadatos debe seguir las prácticas recomendadas para el almacenamiento de datos de usuario de Auth0. El almacenamiento de metadatos no está pensado para ser un almacén de datos de propósito general, por lo que, siempre que sea posible, debe seguir usando su propio sistema de almacenamiento externo. El tamaño y la complejidad de los metadatos también deben mantenerse al mínimo, y la Management API de Auth0 establece directrices estrictas para actualizar o eliminar metadatos asociados a un usuario.
Puede gestionar metadatos tanto mediante la Management API de Auth0 como mediante la Authentication API de Auth0. Al igual que sucede al administrar el perfil de usuario normalizado, las llamadas a la Management API para gestionar metadatos requieren el uso de un Token de acceso.
Las llamadas a la Management API están sujetas a la política de limitación de velocidad de Auth0. Debe tener esto en cuenta y, para facilitarlo, Auth0 generalmente recomienda usar el SDK de Auth0 adecuado para su entorno de desarrollo en lugar de llamar directamente a nuestras API.
Los metadatos del usuario (también denominados user_metadata) son información que puede almacenarse en el perfil de un usuario y que este puede leer y actualizar como parte de cualquier proceso de autoservicio de gestión del perfil. Metadatos de este tipo pueden incluir, por ejemplo, el tratamiento de un usuario o su idioma preferido, que podría utilizarse para personalizar los correos electrónicos enviados por Auth0.
Almacene en los metadatos cualquier información que quiera usar para personalizar los correos electrónicos de Auth0 y, de preferencia, en user_metadata si se permite que el usuario la cambie, como la información utilizada para determinar el idioma de un correo electrónico.
Los metadatos de la aplicación (también llamados app_metadata) son, en cambio, información que puede almacenarse en el perfil de un usuario, pero que solo puede leerse o actualizarse con la autorización adecuada; app_metadata no es accesible directamente para el usuario. Este tipo de metadatos podría ser, por ejemplo, una marca para indicar que el usuario aceptó la última versión vigente de los términos y condiciones, y una fecha para indicar cuándo los aceptó.
Para los usuarios que olvidan su contraseña o que pueden cambiarla mediante algún mecanismo de autoservicio existente, Auth0 ofrece la funcionalidad de restablecimiento de contraseña. Puede integrarla con su implementación actual, y además ya está incorporada en los componentes de interfaz prediseñados de Auth0 incluidos en Universal Login.
El cambio y el restablecimiento de contraseña solo son compatibles con los tipos de Conexión de base de datos de Auth0.
Auth0 proporciona una experiencia de usuario integrada para el restablecimiento de contraseña mediante la funcionalidad de Auth0 Authentication API. Como alternativa, puede usar la Auth0 Authentication API a través de uno de los SDK de Auth0 adecuados para su entorno de desarrollo. Las plantillas de correo electrónico utilizadas durante el flujo de restablecimiento de contraseña también pueden personalizarse por completo, tanto si usa los componentes de interfaz prediseñados de Auth0 como Universal Login personalizado.Por otro lado, puede usar la Management API de Auth0 para cambiar directamente la contraseña de una identidad de usuario definida mediante un tipo de Conexión de base de datos. Puede usar la Management API de Auth0 como parte de cualquier implementación de administración de perfiles de autoservicio, y también como parte de cualquier personalización de la página Change Password.
También debe trabajar siempre con una cuenta de usuario verificada y utilizar los mecanismos que proporciona Auth0. Asimismo, debe tener en cuenta normativas como el RGPD, que establece requisitos muy específicos para proteger a los ciudadanos de la UE frente a violaciones de la privacidad y filtraciones de datos.Auth0 proporciona funcionalidad integrada para enviar un correo electrónico de verificación a la dirección de correo electrónico de un usuario y verificar su cuenta. De forma predeterminada, Auth0 envía automáticamente correos electrónicos de verificación para cualquier identidad de Conexión de base de datos creada como parte del autorregistro. Sin embargo, Auth0 también proporciona un endpoint de Management API que puede usar para enviar correos electrónicos de verificación en los casos en que un proveedor social no valide la dirección de correo electrónico durante el registro del usuario.
El bloqueo del acceso de los usuarios en Auth0 ofrece una forma de impedir que los usuarios inicien sesión en las aplicaciones en determinadas circunstancias. De forma predeterminada, el Auth0 Dashboard proporciona un mecanismo listo para usar que permite a los administradores bloquear y desbloquear el acceso de los usuarios a todas las aplicaciones, y puede implementar esta funcionalidad mediante la Auth0 Management API. También puede usar la extensibilidad de Auth0 para deshabilitar el acceso de los usuarios a determinadas aplicaciones, así como para proporcionar un control de acceso más granular.Además, la Management API de Auth0 le permite desbloquear usuarios deshabilitados debido al uso excesivo de credenciales incorrectas.
Un portal de administración es una aplicación en la que puede crear nuevos usuarios, editar el perfil de un usuario, ver la actividad de un usuario, etc. Esta aplicación solo debería ser accesible para administradores. Aunque Auth0 ofrece su panel de administración, no es recomendable dar acceso a ese panel a muchas personas, ya que hay muchas maneras de que alguien pueda dañar sin querer su inquilino de Auth0. En su lugar, Auth0 ofrece otras dos opciones:
Auth0 Management API: Con Management API, puede crear fácilmente una aplicación que permita a los administradores gestionar usuarios. Puede incorporarla a una aplicación existente que sus administradores ya usen, o crear una nueva con una interfaz de usuario coherente con sus aplicaciones actuales.
Auth0 Delegated Administration Extension: Esta extensión potente y flexible le permite personalizar la experiencia de administración de usuarios. Puede adaptarla para permitir que los administradores de sus clientes inicien sesión y que solo puedan ver y gestionar usuarios dentro de su organización.
Si ofrece su propio método para que un administrador gestione usuarios, solo debería permitir que los administradores envíen a los usuarios un enlace para cambiar la contraseña por correo electrónico, en lugar de permitirles establecer contraseñas directamente. Si debe apartarse de esta recomendación y permitir que sus administradores establezcan la contraseña de otra persona, debería obligar al usuario a cambiarla en el siguiente inicio de sesión para que solo esa persona la conozca (y no también un administrador).
Ofrecemos una guía de planificación en formato PDF que puede descargar y consultar para obtener más información sobre las estrategias que recomendamos.Guía de planificación de proyectos de IAM B2B
Arquitectura de múltiples organizaciones (multitenencia)
Muchas plataformas B2B implementan algún tipo de aislamiento o de marca para las organizaciones de sus clientes, y esto puede añadir complejidad a cualquier sistema de gestión de identidades y accesos (IAM). Si este es tu caso, te recomendamos que dediques algo de tiempo a leer nuestra guía y nuestras recomendaciones de buenas prácticas para este tipo de entorno.Arquitectura de múltiples organizaciones