Activar conjuntos de permisos basados en sesiones sin código
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Nombrar las maneras con las que puede activar un conjunto de permisos basado en sesiones.
- Explicar el motivo para utilizar herramientas declarativas para activar un conjunto de permisos basado en sesiones.
- Activar un conjunto de permisos basado en sesiones sin código.
Siga el proceso con Trail Together
¿Desea seguir el proceso con un experto a medida que realiza este paso? Mire este video que forma parte de la serie Trail Together.
(Este video comienza en el minuto 11:24, en caso de que desee rebobinar y mirar el comienzo del paso nuevamente).
Accesibilidad
Esta unidad requiere algunas instrucciones adicionales para los usuarios de lectores de pantalla. Para acceder a una versión detallada para lectores de pantalla de esta unidad, haga clic en el siguiente vínculo.
Abrir las instrucciones para lectores de pantalla de Trailhead.
Opciones de activación para conjuntos de permisos basados en sesiones
Ahora que creó un conjunto de permisos por su cuenta, hagamos que sea utilizable. Para hacerlo utilizable, tiene que tener una manera de activar una sesión para el conjunto de permisos. Si le gusta meterse de lleno con las API, puede hacerlo, y no le detendremos. El objeto PermissionSet en la API de SOAP contiene un campo denominado HasActivationRequired, un booleano que indica si el conjunto de permisos requiere una sesión activa asociada (true) o no (false). Inserte un registro en el objeto SessionPermSetActivation con la combinación del Id. de sesión y el conjunto de permisos para realizar la activación.
¿No sabe programar? No pasa nada. Salesforce tiene una bonita herramienta declarativa que es posible que ya utilice. Flow Builder Utilizaremos un flujo para hacer que su proceso de activación de sesión sea suave, incluso si no sabe programar.
Primeros pasos
Antes de iniciar, le resultará útil estar familiarizado con el uso de Flow Builder. Si no está familiarizado con los flujos, no hay problema. Crearemos aquí uno sencillo. De hecho, ¡este flujo funciona con un solo paso! No obstante, probablemente ya adivinó que Trailhead tiene todo lo que necesita si desea aprender más, y le instamos a que lo haga. Consulte la ruta Crear flujos con Flow Builder. Asegúrese de contar con los permisos para acceder a flujos para continuar. Comprobemos los permisos ahora mismo.
- Vaya a su perfil. En Setup (Configuración), vaya a Users (Usuarios) y seleccione su perfil. Es bastante probable que esté utilizando el perfil Administrador del sistema.
- Busque Gestionar flujo y asegúrese de que esté seleccionado.
Cuando probemos nuestro conjunto de permisos basado en sesiones más adelante, también iniciaremos sesión como otro usuario. Debemos asegurarnos de que los administradores de Salesforce puedan realizar esta acción mientras lo hacemos.
- En Setup (Configuración), vaya a Login Access Policies (Políticas de acceso de inicio de sesión).
- Habilite Administrators Can Log in as Any User (Los administradores pueden iniciar sesión como cualquier usuario).
- Haga clic en Guardar.
Ahora vuelva a nuestro flujo para conjuntos de permisos basados en sesiones.
- En Setup (Configuración), ingrese
Flows
(Flujos) en el cuadro Quick Find (Búsqueda rápida), seleccione Flows (Flujos) y haga clic en New Flow (Nuevo flujo).
- Asegúrese de que Start from Scratch (Comenzar desde cero) esté seleccionado y haga clic en Next (Siguiente).
- Seleccione Flujo de pantalla y haga clic en Crear.
- En el lienzo del flujo, en la ruta posterior al elemento Start (Inicio), haga clic en . Seleccione Action (Acción).
- En Search Actions (Buscar acciones), comience a escribir
Activate
(Activar) y seleccione Activate Session-Based Permission Set (Activar conjunto de permisos basado en sesiones).
- En Label (Etiqueta), ingrese
Activate Employment Contracts Access
(Activar acceso de contratos de empleo). El nombre de API toma como valor predeterminado Activar_acceso_contratos_empleo.
- En Set Input Values for the Selected Action (Establecer valores de entrada para la acción seleccionada), para Permission Set Name (Nombre del conjunto de permisos), ingrese
Employment_Contracts_Access
. ¡Este valor es el nombre de API de su conjunto de permisos!
- Guarde su flujo con el nombre
Activate Contracts Access as a Screen Flow
(Activar acceso de contratos como un flujo de pantalla).
Este es el aspecto que tendría el flujo.
Los pasos de creación del flujo fueron sencillos, ¿verdad? Tan sencillos que, de hecho, si no es un usuario experimentado en flujos, probablemente esté pensando “¿No podríamos hacer más que un flujo de un paso?”. Sí que podemos. Por ahora, no obstante, nos centramos en el uso de conjuntos de permisos basados en sesiones, de modo que sigamos. Ejecute el flujo desde Flow Builder haciendo clic en Ejecutar. La ejecución del flujo activa el conjunto de permisos. Pero después de hacer clic en Ejecutar , verá una pantalla de error. ¡Vaya! Ahora, consulte su email.
¿Qué? ¿“Consultar su email”?
Pues sí. El motivo es que también recibirá un mensaje explicando el error que vio en Salesforce. Parece que nadie tiene asignado aún el conjunto de permisos Acceso a contratos de empleo. Si se presentaron problemas al trabajar con su flujo, compruebe si recibió mensajes de email sobre los errores. Recuerde que estamos trabajando en tres áreas diferentes: conjuntos de permisos, asignaciones de usuarios y flujos. El detalle en los emails puede ayudarle a solucionar problemas rápidamente. Por ejemplo, recibe un error si hace referencia a un nombre de conjunto de permisos inexistente en su flujo, si su flujo contiene problemas lógicos o si no asignó el conjunto de permisos al que se hace referencia en el flujo a un usuario. En este caso, recibirá un email que incluye los detalles sobre la falta de asignación de usuario.
Se produjo un error: El conjunto de permisos debe estar asignado previamente al usuario antes de activarse
¿Recuerda que dijimos que podía ignorar la advertencia que recibió anteriormente porque aún estábamos construyendo este flujo? También puede ignorar este error. (Asignaremos el conjunto de permisos a un usuario más adelante). Normalmente asigna usuarios a su conjunto de permisos primero. No obstante, digamos que olvidó asignar un nuevo empleado al conjunto de permisos. ¿Qué ocurriría si esta persona intentara ejecutar el flujo? Lo adivinó.
Es bueno estar al tanto de los errores que usted o los usuarios pueden recibir que tienen soluciones sencillas. Ahora active su flujo: vuelva a Flow Builder y haga clic en Activar. Activar su flujo sin un usuario asignado al conjunto de permisos no es nocivo. No obstante, nuestro flujo no puede cumplir lo que necesitamos hasta que alguien esté asignado al conjunto de permisos.
Queremos que nuestro usuario pueda modificar y crear contratos cuando se active el conjunto de permisos basado en sesiones. Esta persona es un gerente de contratación que necesita acceso a los contratos de empleo para los contratistas. Asegúrese de que, en este momento, la persona cuente con acceso de solo lectura (no de creación ni modificación) al objeto Contratos. La persona también debe poder ejecutar flujos.
¿Se acuerda de Lynda Herman, a quien creó en el reto práctico de la primera unidad? La utilizaremos. Tan solo debemos habilitar algunos permisos adicionales antes de continuar.
- En Setup (Configuración), diríjase a Profiles (Perfiles). Seleccione Minimum Access - Salesforce Clone (Acceso mínimo: duplicado de Salesforce). Este perfil lo creó en la unidad anterior y se lo asignó a Lynda.
- En el cuadro Find Settings (Configuración de búsqueda), busque Lightning Experience User (Usuario de Lightning Experience) y haga clic en dicha opción. En la página System Permissions (Permisos del sistema), habilite Lightning Experience User (Usuario de Lightning Experience).
- En el cuadro Find Settings (Configuración de búsqueda), busque Manage Flow (Gestionar flujo) y haga clic en dicha opción. En la página App Permissions (Permisos de aplicaciones), habilite Manage Flow (Gestionar flujo).
- En el cuadro Find Settings (Configuración de búsqueda), busque y seleccione el objeto Contracts (Contratos). Habilite el permiso Read (Leer).
- En Setup (Configuración), diríjase a Permission Sets (Conjuntos de permisos).
- Asigne a Lynda el conjunto de permisos Employment Contracts Access (Acceso de contratos de empleo) que creó antes.
Ahora, inicie sesión como este usuario y diríjase al objeto Contratos. Puede ver los contratos. No obstante, no hay botón Nuevo, de modo que no puede crear uno ahora.
Mantenga la sesión iniciada como Lynda, diríjase a Flows (Flujos) en Setup (Configuración) y ejecute el flujo Activate Contracts Access (Activar acceso a contratos). Si va al objeto Contratos, observará que ahora hay un botón Nuevo disponible para crear un contrato.
Para el resto de la sesión actual, el usuario tiene acceso Crear, Leer, Modificar y Eliminar en el objeto Contrato, y acceso de modificación para Nombre de contrato, Fecha de inicio de contrato y Plazos de contratos (meses). Pero probablemente no queremos que nuestros usuarios ejecuten flujos desde Configuración cada vez que quieran crear o cambiar un contrato. En la siguiente unidad, hacemos que el proceso sea más fácil para todos.
Recursos
- Ayuda de Salesforce: Crear un flujo que pueda activar o desactivar un conjunto de permisos basado en sesiones
- Trailhead: Construir flujos con Flow Builder