Usted estĆ” aquĆ:
Contexto de ejecución de flujo
Los flujos se ejecutan en contexto de usuario o contexto de sistema. Para un flujo que se ejecuta en contexto de usuario, el perfil y los conjuntos de permisos del usuario que ejecuta determinan los permisos de objetos y el acceso a nivel de campos del flujo. Para un flujo que se ejecuta en un contexto del sistema, el acceso de flujo se determina por si el flujo se ejecuta en contexto del sistema con colaboración o sin colaboración.
Ediciones necesarias
| Ver ediciones compatibles. |
El contexto en el que se ejecuta el flujo afecta a lo que los siguientes elementos de flujo pueden hacer con datos de Salesforce:
- Acción
- Crear registros
- Eliminar registros
- Obtener registros
- Subflujo
- Actualizar registros
- Cualquier otro elemento del flujo que accede a los campos desde un registro
Los flujos se ejecutan en contexto de usuario o contexto de sistema, dependiendo desde dónde se inicie el flujo. Cuando un flujo se ejecuta en un contexto de sistema, se ejecuta para todos los usuarios, incluyendo los usuarios con el perfil Usuario invitado.
| Método de iniciación de flujo | Contexto predeterminado |
|---|---|
| Apex | Depende del código |
| Sitio de Experience Cloud | Usuario |
| Integrado como un componente visual dentro de un componente Aura personalizado | Usuario |
| Integrado como un componente visual dentro de una pƔgina de Visualforce | Usuario |
| Botón personalizado | Usuario |
| VĆnculo personalizado | Usuario |
| VĆnculo directo | Usuario |
| Acción de flujo | Usuario |
| PƔgina Lightning | Usuario |
| Evento de plataforma | Contexto del sistema sin colaboración |
| Procesos construidos en Process Builder | Contexto del sistema sin colaboración |
| Desencadenadores de registros | Contexto del sistema sin colaboración |
| API de REST | Usuario |
| Ejecución desde un método Apex de un controlador de componente Aura personalizado | Depende del código |
| Ejecución desde un método Apex de un controlador de Visualforce | Depende del código |
| Desencadenado por programación | Contexto del sistema sin colaboración |
| Ficha Web | Usuario |
Usuario que ejecuta un flujo
El usuario que ejecuta un flujo es el usuario que inició el flujo. El usuario que ejecuta determina lo que puede hacer un flujo que se ejecuta en contexto de usuario con los datos de Salesforce.
Para un flujo que se ejecuta en contexto de usuario, el perfil y los conjuntos de permisos del usuario que ejecuta determinan los permisos de objetos y el acceso a nivel de campos del flujo. Cuando un flujo intenta crear, leer, modificar o eliminar datos de Salesforce, aplica los permisos y el acceso a nivel de campos del usuario que ejecuta. Por ejemplo, si el usuario que ejecuta no tiene permiso de modificación para el objeto Cuenta y el flujo intenta actualizar registros de cuentas, se produce un error. Si el usuario que ejecuta no tiene permiso para modificar el campo Calificación en el objeto Cuenta y el flujo intenta actualizar ese campo, se produce un error.
La configuración predeterminada de toda la organización, las jerarquĆas de funciones, las reglas de colaboración, la colaboración manual, los equipos y los territorios tambiĆ©n afectan a los datos que estĆ”n accesibles para los flujos que se ejecutan en contexto de usuario. Si la configuración predeterminada de toda la organización del objeto Oportunidad es privada y no se han compartido registros de oportunidades con el usuario que ejecuta, el flujo no puede leer ni modificar ningĆŗn registro de oportunidad.
Limitaciones
- Los componentes Lightning, como los componentes de pantalla y las acciones locales, siempre se ejecutan en contexto de usuario.
- Si el contexto depende del código, Apex utiliza las palabras clave
with sharingywithout sharingpara especificar si se aplica la configuración predeterminada de toda la organización, jerarquĆas de funciones, reglas de colaboración, colaboración manual, equipos y territorios. Un flujo llamado por Apex siempre ignora los permisos de objetos y acceso a nivel de campos. - Cuando un flujo desencadenado por registro, un flujo desencadenado por programación o un proceso invoca un mĆ©todo invocable de Apex desde una clase de Apex con la declaración de colaboración heredada, el mĆ©todo invocable se ejecuta en contexto del sistema con colaboración. Los flujos y procesos se ejecutan en contexto del sistema sin colaboración.
- Si un proceso desencadena el flujo para iniciarse, el usuario que desencadenó el proceso requiere a veces otros permisos. Por ejemplo, si un proceso inicia un flujo que intenta guardar asignaciones de licencias de conjunto de permisos y el usuario que ejecuta no tiene el permiso Asignar conjuntos de permisos, se produce un error.
- Un flujo siempre se ejecuta en contexto de usuario cuando ejecuta la acción Publicar en Chatter.
- Seguridad de datos al ejecutar flujos de pantalla e iniciados automƔticamente en contexto del sistema
Los flujos de pantalla y los flujos iniciados automĆ”ticamente sin desencadenadores pueden exponer mĆ”s datos de los previstos. Este posible problema afecta principalmente a sitios de Experience Cloud a los que acceden usuarios externos. Configure permisos de usuario apropiados para la seguridad a nivel de campo y a nivel de registro en vez de ejecutar flujos en contexto del sistema. Cuando el contexto del sistema es necesario, utilice solo los campos y registros mĆnimos requeridos. - Establecer contexto de ejecución de flujo en modo del sistema
Forzar la ejecución de un flujo en contexto del sistema con o sin colaboración, sustituyendo su contexto predeterminado. Con la colaboración, el flujo respeta las reglas de colaboración pero ignora los permisos de objeto y campo. Sin colaboración, el flujo accede a todos los datos.
