snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,213 @@
---
title: Permisos
description: Controla el acceso a objetos, campos y ajustes con permisos basados en roles.
---
El sistema de permisos de Twenty te permite controlar el acceso a tres áreas principales:
* **Objetos y Campos**: Controla quién puede ver, editar o eliminar registros y campos individuales
* **Configuraciones**: Gestiona el acceso a la configuración del espacio de trabajo y a las funciones administrativas
* **Acciones**: Controla acciones generales del espacio de trabajo como importar datos o enviar correos electrónicos
## Crear rol
Para crear un nuevo rol:
1. Ve a **Ajustes → Miembros → Roles**
2. En **Todos los Roles**, haz clic en **+ Crear Rol**
3. Introduce un nombre para el rol
4. En la pestaña predeterminada de **Permisos**, [configura los permisos](#customize-permissions)
5. Haz clic en **Guardar** para finalizar
## Eliminar un rol
Para eliminar un rol:
1. Ve a **Ajustes → Miembros → Roles**
2. Haz clic en el rol que deseas eliminar
3. Abre la pestaña **Ajustes**, luego haz clic en **Eliminar rol**
4. Haz clic en **Confirmar** en el modal
<Note>
Si se elimina un rol, cualquier miembro del espacio de trabajo asignado a él será reasignado automáticamente al rol predeterminado. Todos los roles excepto el rol **Administrador** pueden ser eliminados. Siempre debe haber al menos un miembro asignado al rol **Admin**.
</Note>
## Asignar roles a miembros
### Ver Asignaciones Actuales
* Ve a **Ajustes → Miembros → Roles**
* Ver todos los roles y cuántos miembros están asignados a cada uno
* Ver qué miembros tienen qué roles
### Asignar un rol a un miembro
1. Ve a **Ajustes → Miembros → Roles**
2. Haz clic en el rol que deseas asignar
3. Abre la pestaña **Asignación**
4. Haz clic en **+ Asignar a miembro**
5. Selecciona al miembro del espacio de trabajo de la lista
6. Confirma la asignación
### Establecer rol predeterminado
1. Ve a **Ajustes → Miembros → Roles**
2. En la sección **Opciones**, encuentra **Rol Predeterminado**
3. Selecciona qué rol deberían recibir automáticamente los nuevos miembros
4. Los nuevos miembros del espacio de trabajo serán asignados a este rol cuando se unan
<Note>
Solo puedes asignar roles a miembros existentes del espacio de trabajo. Para invitar a nuevos miembros, utiliza [Gestión de Miembros](/l/es/user-guide/settings/capabilities/member-management).
</Note>
## Personalizar Permisos
Los permisos determinan lo que cada rol puede acceder o modificar dentro de su espacio de trabajo, incluyendo objetos del área de trabajo, registros, ajustes y acciones.
### Permisos de objetos
La sección **Objetos** controla lo que este rol puede hacer con los registros en todo tu espacio de trabajo.
#### Establecer permisos predeterminados (todos los objetos)
Primero, configura los permisos base que se aplican a **todos los objetos** de forma predeterminada:
| Permiso | Descripción |
| ------------------------------------------- | -------------------------------------------------------- |
| **Ver registros en todos los objetos** | Ver registros en listas y páginas de detalle |
| **Editar registros en todos los objetos** | Modificar registros existentes |
| **Eliminar registros en todos los objetos** | Eliminar registros de forma lógica (se pueden restaurar) |
| **Destruir registros en todos los objetos** | Eliminar registros de forma permanente |
Selecciona o deselecciona según cuál deba ser el comportamiento predeterminado para este rol.
<Note>
**Ejemplo — rol de becario**: Un becario debería poder ver todos los objetos, pero no editarlos de forma predeterminada. Activa "Ver registros en todos los objetos" pero deja "Editar registros en todos los objetos" sin marcar.
</Note>
#### Agregar excepciones a nivel de objeto
Después de establecer los valores predeterminados, usa la subsección **A nivel de objeto** para agregar reglas que anulen los valores predeterminados para objetos específicos.
Haz clic en **+ Agregar regla** y selecciona un objeto para crear una excepción.
**Reglas de ejemplo para un rol de becario:**
| Regla | Efecto |
| ------------------------------------------ | ------------------------------------------------------------------------ |
| Oportunidades → desactivar "Ver registros" | El becario no puede ver el objeto Oportunidades en absoluto |
| Personas → activar "Editar registros" | El becario puede editar registros de Personas (pero no de otros objetos) |
### Permisos a nivel de fila
<Note>
Los permisos a nivel de fila son una **función Premium** disponible en el plan **Organization** (en la nube y autoalojado).
</Note>
Los permisos a nivel de fila permiten restringir qué registros individuales puede ver o editar un rol, en función de criterios dinámicos. A diferencia de los permisos de objeto (que se aplican a un tipo de objeto completo), los permisos a nivel de fila evalúan cada registro de forma independiente.
**Casos de uso de ejemplo:**
* Los representantes de ventas solo pueden ver sus propias oportunidades
* Los gerentes pueden ver todos los registros de su región
* Los agentes de soporte solo pueden ver los tickets que les han sido asignados
Para configurar los permisos a nivel de fila, abre un rol, ve a la pestaña **Objetos** y usa la sección **Nivel de fila** para definir condiciones de filtro para un objeto específico.
### Permisos de campos
Dentro de cada regla a nivel de objeto, puedes ir más allá y configurar **permisos a nivel de campo** para controlar el acceso a campos específicos.
| Permiso | Descripción |
| ---------------- | ---------------------------------- |
| **Ver campo** | Ver el valor del campo |
| **Editar campo** | Modificar el valor del campo |
| **Sin acceso** | El campo está completamente oculto |
**Ejemplo — Restringir campos sensibles:**
Para el rol de becario con acceso de edición en Personas, es posible que quieras restringir ciertos campos:
* Personas → Correo electrónico → solo **Ver campo** (no puede editar)
* Personas → Dirección → **Sin acceso** (completamente oculto)
Esto permite que el becario edite la mayoría de los campos de Personas mientras se protege la información sensible.
### Cómo funciona la herencia de permisos
Los permisos se aplican en cascada de lo general a lo específico:
1. **Todos los objetos** → establece la base para todos los objetos
2. **Reglas a nivel de objeto** → anulan la base para objetos específicos
3. **Reglas a nivel de campo** → anulan la configuración del objeto para campos específicos
Las configuraciones más específicas siempre tienen prioridad.
### Gestión de Excepciones de Permisos
Para anular permisos heredados:
1. Haz clic en **X** para eliminar la regla heredada
2. Selecciona los permisos específicos que quieras
3. Haz clic en el ícono naranja de **Deshacer** (flecha circular) para revertir los cambios
Cuando termines, haz clic en **Finalizar**, luego en **Guardar** una vez que seas redirigido a la página del rol.
### Permisos de Configuraciones del Espacio de Trabajo
Controla el acceso a configuraciones del espacio de trabajo de dos maneras:
* Activa **Acceso Completo a Configuraciones** para otorgar acceso completo
* O habilita permisos específicos (p. ej., generación de claves de API, preferencias del espacio de trabajo, asignación de roles, configuración del modelo de datos, ajustes de seguridad y gestión de flujos de trabajo)
<Note>
**Limitación actual**: Actualmente se requiere acceso a la gestión de flujos de trabajo para activar manualmente los flujos de trabajo. Este comportamiento puede cambiar en versiones futuras.
</Note>
### Permisos de Acción del Espacio de Trabajo
Controla el acceso a acciones generales del espacio de trabajo:
* Activa **Acceso Completo a la Aplicación** para otorgar permisos completos
* O habilita acciones individuales como **Enviar Email**, **Importar CSV** y **Exportar CSV**
## Asignar roles a claves API y agentes AI
Además de los miembros del espacio de trabajo, los roles también se pueden asignar a **claves de API** y **agentes de IA**. Esto es especialmente útil para los equipos que desean controlar exactamente "quién" puede hacer qué en su espacio de trabajo, incluidos los procesos automatizados y las integraciones.
### ¿Por qué asignar roles a claves de API y agentes de IA?
* **Seguridad**: Limita a qué pueden acceder o qué pueden modificar los procesos automatizados
* **Cumplimiento**: Garantiza que las integraciones solo interactúen con los datos que necesitan
* **Control**: Evita cambios accidentales de datos por automatizaciones mal configuradas
* **Auditabilidad**: Registra qué acciones realizó cada integración o agente
### Asignar un rol a una clave de API
1. Ve a **Ajustes → Miembros → Roles**
2. Haz clic en el rol que deseas asignar
3. Abre la pestaña **Asignación**
4. En **Claves de API**, haz clic en **+ Asignar a clave de API**
5. Selecciona la clave de API de la lista
6. Confirma la asignación
La clave de API heredará ahora todos los permisos definidos por ese rol. Cualquier llamada a la API realizada con esta clave se restringirá en consecuencia.
<Note>
Las claves de API sin un rol asignado utilizan los permisos predeterminados. Para mayor seguridad, asigna siempre un rol específico a las claves de API de producción.
</Note>
### Asignar un rol a un agente de IA
1. Ve a **Ajustes → Miembros → Roles**
2. Haz clic en el rol que deseas asignar
3. Abre la pestaña **Asignación**
4. En **Agentes de IA**, haz clic en **+ Asignar a agente de IA**
5. Selecciona el agente de IA de la lista
6. Confirma la asignación
El agente de IA solo podrá acceder a los datos y realizar las acciones permitidas por el rol asignado.
<Note>
Para los agentes de IA que se ejecutan dentro de flujos de trabajo, esto garantiza que el agente no pueda acceder ni modificar datos fuera de su alcance previsto, incluso si el flujo de trabajo tiene permisos más amplios.
</Note>

View File

@@ -0,0 +1,125 @@
---
title: Configuración de SSO
description: Configure el inicio de sesión único (SSO) para una autenticación empresarial segura.
---
## Acerca de SSO
El inicio de sesión único (SSO) permite que los miembros de su equipo inicien sesión en Twenty utilizando el proveedor de identidad de su organización. Esto proporciona:
* **Control de acceso centralizado**: Gestione el acceso desde un solo lugar
* **Mayor seguridad**: Aproveche sus políticas de seguridad existentes
* **Mejor experiencia de usuario**: Un único conjunto de credenciales para todas las herramientas
## Proveedores compatibles
Twenty admite SSO con:
* **SAML 2.0**: Funciona con la mayoría de los proveedores de identidad empresariales
* **Google Workspace**: Para organizaciones que usan Google
* **Microsoft Entra ID** (anteriormente Azure AD): Para entornos Microsoft
## Configuración de SSO
### Prerrequisitos
* Plan de organización (espacios de trabajo en la nube y autoalojados)
* Acceso de administrador a su proveedor de identidad
* Acceso admin a tu área de trabajo Veinte
### Pasos de configuración
#### 1. Acceda a la configuración de SSO
1. Vaya a **Ajustes → Seguridad**
2. Busque la sección **Configuración de SSO**
3. Haga clic en **Configurar SSO**
#### 2) Elija su proveedor
Seleccione su proveedor de identidad de la lista o elija "Custom SAML" para otros proveedores.
#### 3. Configure su proveedor de identidad
Deberá configurar su proveedor de identidad con:
* **Entity ID**: Proporcionado por Twenty
* **ACS URL**: La URL de retorno para la autenticación
* **Certificado**: Para comunicación segura
#### 4. Introduzca los detalles del proveedor en Twenty
* **SSO URL**: URL de inicio de sesión de su proveedor
* **Entity ID**: Identificador de su proveedor
* **Certificado**: Certificado X.509 de su proveedor
#### 5. Probar y habilitar
1. Haga clic en **Probar configuración** para verificar la configuración
2. Habilite SSO cuando las pruebas sean satisfactorias
3. Configure las preferencias de aprovisionamiento de usuarios
## Aprovisionamiento de usuarios
### Aprovisionamiento Just-in-Time (JIT)
* Los usuarios se crean automáticamente en su primer inicio de sesión
* A los usuarios se les asigna un rol por defecto automáticamente
* No se requiere creación manual de usuarios
### Aprovisionamiento manual
* Invite a los usuarios antes de que puedan iniciar sesión
* Preasigne roles específicos
* Más control sobre quién puede acceder al área de trabajo
## Gestión de usuarios de SSO
### Asignación de roles
A los usuarios de SSO se les pueden asignar roles como a los usuarios habituales:
1. Ir a **Ajustes → Miembros**
2. Busque al usuario
3. Cambie su rol según sea necesario
### Revocación de acceso
Para eliminar el acceso de los usuarios de SSO:
* Elimínelos de su proveedor de identidad o
* Elimínelos del espacio de trabajo de Twenty
## Mejores prácticas
### Seguridad
* **Requerir SSO**: Deshabilite el inicio de sesión con contraseña para usuarios de SSO
* **Auditorías periódicas**: Revise el acceso periódicamente
* **Políticas sólidas del IdP**: Aplique MFA en el proveedor de identidad
### Gestión de usuarios
* **Nomenclatura clara**: Utilice una nomenclatura coherente en su directorio
* **Asignación de grupos**: Asigne los grupos del IdP a roles de Twenty (si está disponible)
* **Proceso de desvinculación**: Incluya Twenty en su flujo de trabajo de desaprovisionamiento
## Solución de Problemas
### Problemas comunes
* **Errores de certificación**: Asegúrate de que el certificado no haya caducado
* **Incompatibilidad de URL**: Verifica que la URL ACS coincida exactamente
* **Usuario no encontrado**: Verifique la configuración de aprovisionamiento JIT
### Obtención de Ayuda
Si encuentra problemas, póngase en contacto con soporte y proporcione:
* Mensajes de error recibidos
* Proveedor de identidad en uso
* Detalles de la configuración (sin datos sensibles)
<Tip>
¿Necesitas configurar SSO para tu organización? [Encuentra un partner certificado de Twenty](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-sso) especializado en la configuración de SSO e identidad. *(¿Prefieres involucrar directamente a Twenty? [contact@twenty.com](mailto:contact@twenty.com))*
</Tip>