"View All / Modify All" en Salesforce: el bypass a vigilar
View All y Modify All eluden el modelo de uso compartido de Salesforce. Qué hacen, de dónde vienen, a quién revisar y por qué importan para los agentes de IA.
La mayor parte del modelo de uso compartido de Salesforce consiste en conceder acceso a los registros con cuidado. View All y Modify All mandan todo eso por la borda: permiten a un usuario ver o cambiar todo, ignorando por completo el uso compartido. Son imprescindibles para los administradores y peligrosos cuando se propagan. Esto es lo que hacen y cómo mantenerlos bajo control.
Qué hacen en realidad
Estos permisos eluden el modelo de uso compartido: valores predeterminados de toda la organización, jerarquía de funciones, reglas de uso compartido, todo:
- View All: ver todos los registros de un objeto.
- Modify All: ver, editar, eliminar y transferir todos los registros de un objeto.
Un usuario con View All sobre Cases ve todos los casos de la organización, aunque el valor predeterminado de toda la organización sea Privado y no haya ni rastro de una regla de uso compartido. Sencillamente, el uso compartido no se le aplica para ese objeto.
Cuando están presentes, el resto del modelo de uso compartido es irrelevante: se sitúan por encima de él.
Dos alcances: objeto frente a toda la organización
| Permiso | Alcance | Efecto |
|---|---|---|
| View All (objeto) | Un objeto | Ver todos los registros de ese objeto |
| Modify All (objeto) | Un objeto | Control total de todos los registros de ese objeto |
| View All Data | Toda la org | Ver (casi) todos los registros, todos los objetos |
| Modify All Data | Toda la org | Control total de (casi) todos los registros, todos los objetos |
Las versiones de nivel de objeto están acotadas y a veces son legítimas. Las de toda la organización, View All Data / Modify All Data, son la artillería pesada: potentes y las que hay que vigilar más de cerca.
De dónde vienen
- Perfil System Administrator: viene con View All Data y Modify All Data activados por defecto.
- Perfiles personalizados y conjuntos de permisos: se conceden con frecuencia para resolver algo puntual (“deja que soporte vea todos los casos, sin más”) y luego se olvidan.
Como los permisos de un usuario son la unión de su perfil y de cada conjunto de permisos asignado, estos pueden esconderse en cualquiera de los varios conjuntos de permisos, que es lo que hace tan fácil perderles la pista. Están estrechamente ligados a los perfiles y conjuntos de permisos.
Por qué son lo primero que revisar cuando el acceso parece incorrecto
Cuando un usuario puede ver un registro que no debería, el botón Uso compartido puede no mostrar nada, porque el acceso no proviene del uso compartido en absoluto. View All / Modify All conceden acceso sin aparecer como un uso compartido. Así que, antes de bucear por las reglas de uso compartido, descártalos.
Por qué importan doblemente para los agentes de IA
Un agente de IA hereda los permisos del usuario con el que se ejecuta. Si esa identidad arrastra View All Data, el agente puede leer cualquier registro de la organización cuando se le pida, eludiendo todas las reglas de uso compartido que configuraste. Confirmar que la identidad del agente está libre de estos permisos es un paso fundamental al auditar el acceso antes del despliegue.
Cómo mantenerlos bajo control
- Inventaria cada perfil y conjunto de permisos en busca de View All/Modify All de nivel de objeto y de View All Data/Modify All Data de toda la organización.
- Enumera los usuarios que tienen cada uno, directamente o a través de conjuntos de permisos.
- Aplica el mínimo privilegio: sustituye el View All general por reglas de uso compartido acotadas allí donde el acceso no necesite realmente abarcar toda la organización.
- Vuelve a comprobar tras cada cambio: un nuevo conjunto de permisos puede reintroducir un bypass de forma silenciosa.
Sacar el bypass a la luz de forma automática
Lo difícil es que estos permisos no aparecen donde buscas el uso compartido: son un interruptor aparte, en cualquiera de muchos conjuntos de permisos, que anula silenciosamente todo lo demás. AgentForceAccess los tiene en cuenta automáticamente: cuando explica por qué un usuario (o el usuario de un agente) puede ver un registro, “tiene View All Data, el uso compartido no se aplica” se muestra con la misma claridad que cualquier regla de uso compartido, de modo que el bypass deja de ser lo que se te escapa.
Preguntas frecuentes
¿Qué hacen exactamente View All y Modify All?
Conceden acceso a todos los registros de un objeto, ignorando el modelo de uso compartido. View All significa ver todos los registros; Modify All significa ver, editar, eliminar y transferir todos los registros. Las versiones de nivel de objeto se aplican a un único objeto; las de toda la organización, "View All Data" y "Modify All Data", se aplican a (casi) todos los objetos a la vez.
¿Quién tiene estos permisos por defecto?
El perfil System Administrator incluye View All Data y Modify All Data. Más allá de eso, aparecen en perfiles personalizados y conjuntos de permisos, a menudo añadidos para resolver una necesidad puntual de acceso y nunca eliminados. Audita todos los perfiles y conjuntos de permisos, no solo los de los administradores.
¿Por qué son peligrosos para los agentes de IA?
Un agente hereda los permisos del usuario con el que se ejecuta. Si ese usuario tiene View All Data, el agente puede leer cualquier registro de la organización cuando se le pida, eludiendo todo el uso compartido que configuraste con cuidado. Antes de desplegar un agente, confirma que su identidad no arrastra estos permisos.
¿Cómo averiguo quién tiene View All / Modify All?
Revisa cada perfil y conjunto de permisos en busca de View All/Modify All de nivel de objeto y de View All Data/Modify All Data de toda la organización, y luego enumera sus usuarios asignados. Esto resulta tedioso de forma manual, porque el permiso puede provenir de cualquiera de los varios conjuntos de permisos que tenga un usuario.
Míralo en tu propia organización
AgentForceAccess explica, en lenguaje claro, por qué cualquier usuario puede ver cualquier registro o archivo, recorriendo todos los mecanismos de colaboración de Salesforce.
Solicitar acceso anticipado