Aprovisionamiento de usuarios justo a tiempo

AEM formularios admite el aprovisionamiento puntual de usuarios que aún no existen en Administración de usuarios. Con el aprovisionamiento justo a tiempo, los usuarios se agregan automáticamente a Administración de usuarios después de autenticar sus credenciales correctamente. Además, las funciones y los grupos relevantes se asignan de forma dinámica al nuevo usuario.

Necesidad de aprovisionamiento de usuarios justo a tiempo

Así es como funciona la autenticación tradicional:

  1. Cuando un usuario intenta iniciar sesión en formularios AEM, la Administración de usuarios pasa las credenciales del usuario secuencialmente a todos los proveedores de autenticación disponibles. (Las credenciales de inicio de sesión incluyen una combinación de nombre de usuario y contraseña, ticket Kerberos, firma PKCS7, etc.)

  2. El proveedor de autenticación valida las credenciales.

  3. A continuación, el proveedor de autenticación comprueba si el usuario existe en la base de datos de Administración de usuarios. Los siguientes resultados son posibles:

    Existe: Si el usuario está actualizado y desbloqueado, Administración de usuarios devuelve la autenticación correctamente. Sin embargo, si el usuario no está actualizado o está bloqueado, Administración de usuarios devuelve un error de autenticación.

    No existe: La administración de usuarios devuelve un error de autenticación.

    No válido: La administración de usuarios devuelve un error de autenticación.

  4. Se evalúa el resultado devuelto por el proveedor de autenticación. Si el proveedor de autenticación devolvió la autenticación correctamente, el usuario puede iniciar sesión. De lo contrario, la Administración de usuarios comprueba con el siguiente proveedor de autenticación (pasos 2-3).

  5. Se devuelve un error de autenticación si ningún proveedor de autenticación disponible valida las credenciales del usuario.

Cuando se implementa el aprovisionamiento justo a tiempo, se crea un nuevo usuario de forma dinámica en Administración de usuarios si uno de los proveedores de autenticación valida las credenciales del usuario. (Después del paso 3 del procedimiento de autenticación tradicional, más arriba).

Implementación del aprovisionamiento de usuarios justo a tiempo

API para aprovisionamiento justo a tiempo

AEM forms proporciona las siguientes API para el aprovisionamiento justo a tiempo:

package com.adobe.idp.um.spi.authentication  ;
publ ic interface IdentityCreator {
/**
* Tries  to create a user with the  in formation  provided in the <code>UserProvisioningBO</code> object.
* If the user is successfully created, a valid AuthResponse is returned along with the information using which the user was created.
* It is the responsibility of the IdentityCreator to set the User obje ct  in the cre dential map with th e  ke y  <code>UMA u thenticationUtil.authenticatedUserKey</code>
* The credentials are available in the <code>UserProvisioningBO</code> object in the 'credentials' property.
* If the IdentityCreator is unable to create a user due to any reason, it returns <code>null</code>
* @param userBO An object of <code>com.adobe. i dp.um . spi.authenti c ationUserProvisioningBO</code>
* @return */public AuthResponse create(UserProvisioningBO userBO);
/**
* Returns the name of the IdentityCreator which will be registered in preferences.
* This name is used to associate the IdentityProvider with the Auth Provider Configuration in the domain.
* @return The name of the Identity Creator which is recognized in Configuration.
*/
public String getName();
}
package com.adobe.idp.um.spi.authentication;
import com.adobe.idp.um.api.infomodel.User;
public interface AssignmentProvider {
/**
* Tries to assign roles or permissions or group memberships to users created via Just-in-time provisioning.
* @param user The User created via the Just-in-time provisioning process.
* @return a Boolean flag indicating whether the assignment was successful or not.
*/
public Boolean assign(User user);
/**
* Returns the name of the AssignmentProvider through which it is registered under preferences.
* This name is used to associate the AssignmentProvider with the Auth Provider Configuration in the domain.
* @return The name of the AssignmentProvider which is recognized in Configuration.
*/public String getName();
}

Consideraciones a la hora de crear un dominio que se active justo en el tiempo

  • Al crear un IdentityCreator para un dominio híbrido, asegúrese de que se ha especificado una contraseña ficticia para el usuario local. No deje vacío este campo de contraseña.
  • Recomendación: Uso DomainSpecificAuthentication para validar las credenciales de usuario en un dominio específico.

Creación de un dominio con justo en el tiempo habilitado

  1. Escriba un DSC que implemente las API en la sección "API para aprovisionamiento justo a tiempo".

  2. Implemente el DSC en el servidor de formularios.

  3. Cree un dominio con tiempo justo:

    • En la Consola de administración, haga clic en Configuración > Administración de usuarios > Administración de dominios > Nuevo dominio de empresa.
    • Configure el dominio y seleccione Habilitar el aprovisionamiento justo a tiempo.
    • Agregue proveedores de autenticación. Al agregar proveedores de autenticación, en la pantalla Nueva autenticación , seleccione un Creador de identidad y Proveedor de asignación registrados.
  4. Guarde el nuevo dominio.

Entre bastidores

Supongamos que un usuario intenta iniciar sesión en AEM formularios y que un proveedor de autenticación acepta sus credenciales de usuario. Si el usuario aún no existe en la base de datos de Administración de usuarios, la comprobación de identidad del usuario falla. AEM formularios ahora realiza las siguientes acciones:

  1. Cree un UserProvisioningBO con los datos de autenticación y colóquelos en un mapa de credenciales.
  2. Basado en la información de dominio devuelta por UserProvisioningBO, recupere e e invoque el IdentityCreator y AssignmentProvider para el dominio .
  3. Invocar IdentityCreator. Si devuelve un valor correcto AuthResponse, extraer UserInfo del mapa de credenciales. Págalo a AssignmentProvider para la asignación de grupos/funciones y cualquier otro posprocesamiento después de crear el usuario.
  4. Si el usuario se ha creado correctamente, devuelva el intento de inicio de sesión del usuario como correcto.
  5. Para dominios híbridos, extraiga información de usuario de los datos de autenticación proporcionados al proveedor de autenticación. Si esta información se obtiene correctamente, cree el usuario sobre la marcha.
NOTA

La función de aprovisionamiento justo a tiempo se suministra con una implementación predeterminada de IdentityCreator que puede utilizar para crear usuarios de forma dinámica. Los usuarios se crean con la información asociada a los directorios del dominio.

En esta página