Control de acceso#
Weblate incluye un sistema de privilegios detallado que permite asignar permisos de usuario en toda la instalación o en un ámbito limitado.
Control de acceso al proyecto#
Nota
Los proyectos con el plan gratuito Libre en Hosted Weblate son siempre Public. Puede cambiar al plan de pago si desea restringir el acceso a tu proyecto.
Puede limitar el acceso del usuario a proyectos individuales seleccionando una configuración diferente: guilabel: Control de acceso. Las opciones disponibles son:
- Público
Visible para todo el mundo.
Cualquier usuario autenticado puede contribuir.
El repositorio VCS podría quedar expuesto a cualquiera.
Elige esta opción para proyectos de código abierto o cuando tu instancia de Weblate sea privada o esté bloqueada
- Protegido
Visible para todo el mundo.
Solo determinados usuarios pueden contribuir.
Solo determinados usuarios pueden acceder al repositorio VCS.
Elige esta opción para ganar visibilidad, pero manteniendo el control sobre quién puede contribuir.
- Privado
Visible solo por usuarios seleccionados.
Solo determinados usuarios pueden contribuir.
Solo determinados usuarios pueden acceder al repositorio VCS.
Elija esta opción para proyectos que no deban exponerse públicamente en absoluto.
- Personalizado
Visible solo por usuarios seleccionados.
Solo determinados usuarios pueden contribuir.
Solo determinados usuarios pueden acceder al repositorio VCS.
No está disponible en Hosted Weblate.
Tendrás que configurar todos los permisos utilizando Site-wide access control.
Elije esta opción en tu propia instancia de Weblate si deseas definir el acceso de una forma específica y finamente personalizable.
Access control can be changed in the Access tab of the configuration (Manage ↓ Settings) of each respective project.
El valor predeterminado se puede cambiar mediante :setting: DEFAULT_ACCESS_CONTROL.
Nota
Incluso para los proyectos Privados, alguna información sobre su proyecto será expuesta: las estadísticas y el resumen de idiomas para toda la instancia incluirán los recuentos de todos los proyectos a pesar de la configuración del control de acceso. El nombre de su proyecto y otra información no pueden ser revelados a través de esto.
Nota
El administrador de la instancia de Weblate puede redefinir el conjunto de permisos disponibles por defecto para los usuarios en los proyectos Public, Protected, y Private utilizando custom settings.
Ver también
Gestionar el control de acceso por proyecto#
Los usuarios con el privilegio Manage project access (ver List of privileges) pueden gestionar los usuarios en los proyectos mediante la adición de ellos a los equipos. La colección inicial de equipos es proporcionada por Weblate, pero se pueden definir otros adicionales que proporcionan idiomas y asignarles roles de acceso designados (ver privilegios).
Los siguientes equipos se crean automáticamente para cada proyecto:
Para proyectos Públicos, Protegidos y Privados:
- Administración
Cuenta con todos los permisos disponibles en el proyecto.
- Revisión (sólo si review workflow está activado)
Puede aprobar traducciones durante la revisión.
Para proyectos protegidos y privados únicamente:
- Traducir
Puede traducir el proyecto y cargar traducciones realizadas sin conexión.
- Orígenes
Puede editar las cadenas de origen (si se permite en la configuración del proyecto) y la información de la cadena de origen.
- Idiomas
Puede gestionar los idiomas traducibles (añadir o quitar traducciones).
- Glosario
Puede gestionar el glosario (añadir o quitar entradas, o bien cargarlas).
- Memoria
Puede gestionar la memoria de traducción.
- Capturas de pantalla
Puede gestionar las capturas de pantalla (añadirlas o eliminarlas, así como asociarlas a cadenas de origen).
- Traducción automática
Puede usar traducción automática.
- Sistema de control de versiones
Puede gestionar el sistema de control de versiones y acceder al repositorio exportado.
- Facturación
Puede acceder a la información y la configuración de facturación (vea Facturación).
Estas funciones están disponibles en la página Control de acceso, a la que se puede acceder desde el menú del proyecto Gestión ↓ Usuarios.
Administradores del equipo#
Nuevo en la versión 4.15.
Cada equipo puede tener un/a administrador/a, que puede añadir o eliminar usuarios/as dentro del mismo equipo. Esto es útil en caso de que quieras tener equipos auto-gobernados.
Invitación a usuarios nuevos#
Al agregar usuarios ya registrados se les enviará una invitación para confirmar. Mediante REGISTRATION_OPEN
el administrador también puede invitar a nuevos usuarios utilizando sus e-mails. Los usuarios invitados deben completar el proceso de registro para obtener acceso al proyecto.
No es necesario ser administrador del sitio para hacerlo, bastaría con un permiso de gestión de acceso en el apartado del proyecto (por ejemplo, un administrador al equipo Administration).
Consejo
Si el usuario invitado pierde la validación de la invitación deberá crearse una nueva invitación.
El mismo tipo de invitaciones están disponibles en todo el sitio desde la management interface en la pestaña :Users.
Distinto en la versión 5.0: Weblate ahora no crea automáticamente cuentas ni añade usuarios a los equipos. Esto sólo se hace tras la confirmación del usuario.
Bloquear a los usuarios#
Nuevo en la versión 4.7.
En caso de que algunos usuarios se comporten mal en tu proyecto, tienes la opción de bloquearlos para que no contribuyan. El usuario bloqueado podrá seguir viendo el proyecto si tiene permisos para ello, pero no podrá contribuir.
Gestión de permisos por proyecto#
You can set your projects to Protected or Private (see Control de acceso al proyecto), and manage users per-project in the Weblate user interface.
Por defecto, esto evita que Weblate conceda el acceso proporcionado por Users y Viewers default teams debido a la propia configuración de estos equipos. Esto no impide que se concedan permisos a esos proyectos en todo el sitio modificando los grupos por defecto, creando uno nuevo o creando configuraciones personalizadas adicionales para componentes individuales como se describe en Site-wide access control más abajo.
Uno de los principales beneficios de administrar permisos a través de la interfaz de usuario de Weblate es que puedes delegarlo a otros usuarios sin darles el privilegio de superusuario. Para ello, agréguelos al equipo de Administración del proyecto.
Site-wide access control#
Nota
Esta función no está disponible en Hosted Weblate.
El sistema de permisos está basado en equipos y roles, donde los roles definen un conjunto de permisos, y los equipos los vinculan a los usuarios y a las traducciones, véase Usuarios, roles, equipos y permisos para más detalles.
The most powerful features of the Weblate’s access control system can be configured in the Interfaz de gestión. You can use it to manage permissions of any project. You don’t necessarily have to switch it to Custom access control to utilize it. However you must have superuser privileges in order to use it.
If you are not interested in details of implementation, and just want to create a simple-enough configuration based on the defaults, or don’t have a site-wide access to the whole Weblate installation (like on Hosted Weblate), please refer to the Gestionar el control de acceso por proyecto section.
Gestión de permisos para todo el sitio#
Para gestionar los permisos de toda una instancia a la vez, añade usuarios a los equipos apropiados default teams:
Users (esto se hace por defecto mediante la automatic team assignment).
Reviewers (si estás utilizando review workflow con revisores dedicados).
Managers (si quieres delegar la mayor parte de las operaciones de gestión a otra persona).
Deberías mantener todos los proyectos configurados como Public (ver Control de acceso al proyecto), de lo contrario los permisos de todo el sitio proporcionados por la pertenencia a los equipos Users y Reviewers no tendrán ningún efecto.
También puedes conceder algunos permisos adicionales de tu elección a los equipos por defecto. Por ejemplo, puedes querer dar un permiso para gestionar las capturas de pantalla a todos los Users.
También puedes definir nuevos equipos personalizados. Si quieres seguir gestionando tus permisos en todo el sitio para estos equipos, elige un valor apropiado para Project selection (e.g. All projects o All public projects).
Permisos personalizados para idiomas, componentes o proyectos#
Puedes crear tus propios grupos dedicados para gestionar los permisos de distintos objetos como idiomas, componentes y proyectos. Aunque estos grupos sólo pueden conceder privilegios adicionales, no puedes revocar ningún permiso concedido por los grupos de todo el sitio o por proyecto añadiendo otro grupo personalizado.
Ejemplo:
Si quieres (por la razón que sea) permitir la traducción a un idioma específico (digamos checo) sólo a un conjunto cerrado de traductores fiables mientras mantienes las traducciones a otros idiomas públicos, tendrás que hacerlo:
Elimine el permiso para traducir checo de todos los usuarios. En la configuración por defecto esto se puede hacer alterando el grupo Usuarios default group.
# Selección de idioma
Como se ha definido
Idiomas
Todos menos checo
Añadir un grupo exclusivo para los traductores de checo.
# Roles
Usuario avanzado
Selección del proyecto
Todos los proyectos públicos
Selección de idioma
Como se ha definido
Idiomas
Checo
Añada a este equipo los usuarios a los que desea otorgar permisos.
Como puedes ver, la gestión de permisos de esta manera es poderosa, pero puede ser un trabajo bastante tedioso. No se puede delegar a otro usuario, a no ser que se concedan permisos de superusuario.
Usuarios, roles, equipos y permisos#
Los modelos de autenticación consisten de varios objetos:
- Permiso
Permiso individual definido por Weblate. Los permisos no se pueden asignar a los usuarios. Esto sólo puede hacerse mediante la asignación de roles.
- Rol
Un rol define un conjunto de permisos. Esto permite reutilizar este conjunto en varios lugares, facilitando la administración.
- Usuario
Un usuario puede ser miembro de varios equipos.
- Grupo
El grupo conecta roles, usuarios y objetos de autenticación (proyectos, idiomas y listas de componentes).
Nota
Un grupo puede no tener roles asignados, en ese caso se asume el acceso a navegar por el proyecto por parte de cualquiera (ver debajo).
Acceso a navegar por un proyecto#
Un usuario tiene que ser miembro de un grupo vinculado al proyecto, o a cualquier componente dentro de ese proyecto. Tener la membresía es suficiente, no se necesitan permisos específicos para navegar por el proyecto (esto se utiliza en el grupo por defecto Observadores, ver default-groups).
Acceso para navegar a un componente#
Un usuario puede acceder a los componentes sin restricciones una vez que pueda acceder al proyecto de los componentes (y tendrá todos los permisos que el usuario tenga concedidos para el proyecto). Con Acceso restringido activado, el acceso al componente requiere permisos explícitos para el componente (o una lista de componentes en la que esté el componente).
Ámbito de los equipos#
El alcance del permiso asignado por los roles en los equipos se aplica mediante las siguientes reglas:
Si el equipo especifica cualquier Component list, todos los permisos otorgados a los miembros de ese equipo se conceden para todos los componentes de las listas de componentes adjuntas al equipo, y se concede un acceso sin permisos adicionales para todos los proyectos en los que estén estos componentes. Components y Projects se ignoran.
Using huge component lists might have a performance impact, please consider giving access via projects instead.
Si el equpo especifica cualquier Components, todos los permisos otorgados a los miembros de ese equipo se conceden para todos los componentes adscritos al equipo, y se concede un acceso sin permisos adicionales para todos los proyectos en los que están estos componentes. Projects se ignora.
De lo contrario, si el equipo especifica cualquier Proyects, ya sea enumerándolos directamente o teniendo Projects selection fijado en un valor como All public projects, todos esos permisos se aplican a todos los proyectos, lo que efectivamente otorga los mismos permisos para acceder a todos los proyectos unrestricted components.
Las restricciones impuestas por la Languages de un equipo se aplican por separado, cuando se verifica si un usuario tiene acceso a realizar determinadas acciones. En concreto, se aplica sólo a las acciones directamente relacionadas con el proceso de traducción en sí, como revisar, guardar traducciones, añadir sugerencias, etc.
Consejo
Para automatizar la inclusión de todos los idiomas o proyectos, usa Language selection o Project selection.
Ejemplo:
Digamos que hay un proyecto
foo
con los componentes:foo/bar
ydfoo/baz
y el equipo siguiente:
# Roles
Revisar cadenas, Gestionar repositorio
Componentes
foobar
Idiomas
Español
Los miembros de ese equipo tendrán los siguientes permisos (asumiendo la configuración de las funciones por defecto):
Acceso general (navegación) a todo el proyecto
foo
incluyendo los dos componentes que lo componen:foo/bar
yfoo/baz
.Revisar las cadenas en la traducción al español de
foo/bar
(no en otra parte).Gestionar VCS para todo el repositorio
foo/bar
, por ejemplo, commit los cambios pendientes realizados por los traductores para todos los idiomas.
Asignación automática de los equipos#
While editing the Team, you can specify Automatic assignments, which is a list of regular expressions used to automatically assign newly created users to a team based on their e-mail addresses. This assignment only happens upon account creation.
The most common use-case for the feature is to assign all new users to some
default team. This behavior is used for the default Users and Guest teams
(see Lista de los equipos). Use regular expression ^.*$
to match all users.
Another use-case for this option might be to
give some additional privileges to employees of your company by default.
Assuming all of them use corporate e-mail addresses on your domain, this can
be accomplished with an expression like ^.*@mycompany.com
.
Nota
La asignación automática de los equipos a Usuarios y Visores se recrea siempre al actualizar de una versión de Weblate a otra. Si desea desactivarla, establezca la expresión regular en ^$
(que no coincidirá con nada).
Nota
Por el momento, no hay forma de añadir usuarios existentes a un equipo a través de la interfaz de usuario. Para ello, puede recurrir a la REST API.
Equipos y funciones predeterminadas#
Tras la instalación, se crea un conjunto de equipos por defecto (véase Lista de los equipos).
Estas funciones y equipos se crean en el momento de la instalación. Las funciones incorporadas se mantienen siempre actualizados por la migración de la base de datos al actualizar. En realidad no puedes cambiarlos, por favor define una nueva función si quieres definir tu propio conjunto de permisos.
List of privileges#
Alcance |
Permiso |
Built-in roles |
---|---|---|
Facturación (vea Facturación) |
Ver datos de facturación |
Administration, Billing |
Cambios |
Descargar cambios |
Administration |
Comentarios |
Enviar comentario |
Administration, Edit source, Power user, Review strings, Translate |
Eliminar comentario |
Administration |
|
Resolver el comentario |
Administration, Review strings |
|
Componente |
Editar configuración de los componentes |
Administration |
Bloquear componente, impidiendo traducciones |
Administration, Manage repository |
|
Glosario |
Añadir palabra al glosario |
Administration, Manage glossary, Power user |
Editar palabra del glosario |
Administration, Manage glossary, Power user |
|
Eliminar palabra del glosario |
Administration, Manage glossary, Power user |
|
Cargar entradas de glosario |
Administration, Manage glossary, Power user |
|
Sugerencias automáticas |
Utilizar sugerencias automáticas |
Administration, Edit source, Power user, Review strings, Translate |
Memoria de traducción |
Editar la memoria de traducción |
Administration, Manage translation memory |
Eliminar memoria de traducción |
Administration, Manage translation memory |
|
Proyectos |
Editar configuración del proyecto |
Administration |
Gestionar acceso al proyecto |
Administration |
|
Informes |
Descargar informes |
Administration |
Capturas de pantalla |
Añadir captura de pantalla |
Administration, Manage screenshots |
Editar captura de pantalla |
Administration, Manage screenshots |
|
Eliminar captura de pantalla |
Administration, Manage screenshots |
|
Cadenas de origen |
Editar información adicional de cadena |
Administration, Edit source |
Cadenas |
Añadir nueva cadena |
Administration |
Quitar una cadena |
Administration |
|
Descartar comprobación fallida |
Administration, Edit source, Power user, Review strings, Translate |
|
Editar cadenas |
Administration, Edit source, Power user, Review strings, Translate |
|
Revisar cadenas |
Administration, Review strings |
|
Editar cadena cuando son obligatorias las sugerencias |
Administration, Review strings |
|
Editar cadenas de origen |
Administration, Edit source, Power user |
|
Sugerencias |
Aceptar sugerencia |
Administration, Edit source, Power user, Review strings, Translate |
Añadir sugerencia |
Administration, Edit source, Add suggestion, Power user, Review strings, Translate |
|
Eliminar sugerencia |
Administration, Power user |
|
Votar sugerencia |
Administration, Edit source, Power user, Review strings, Translate |
|
Traducciones |
Añadir idioma para traducción |
Administration, Power user, Manage languages |
Realizar una traducción automática |
Administration, Automatic translation |
|
Eliminar traducción existente |
Administration, Manage languages |
|
Descargar archivo de traducción |
Administration, Edit source, Access repository, Power user, Review strings, Translate, Manage languages |
|
Añadir varios idiomas para traducción |
Administration, Manage languages |
|
Cargas |
Definir autor/a de la traducción cargada |
Administration |
Sobrescribir cadenas existentes al subir |
Administration, Edit source, Power user, Review strings, Translate |
|
Subir las traducciones |
Administration, Edit source, Power user, Review strings, Translate |
|
Sistema de control de versiones |
Acceso al repositorio interno |
Administration, Access repository, Power user, Manage repository |
Enviar cambios al repositorio interno |
Administration, Manage repository |
|
Enviar cambios del repositorio interno |
Administration, Manage repository |
|
Deshacer los cambios del repositorio interno |
Administration, Manage repository |
|
Ver la ubicación del repositorio originario |
Administration, Access repository, Power user, Manage repository |
|
Actualizar el repositorio interno |
Administration, Manage repository |
|
Privilegios en todo el sitio |
Utilizar interfaz de gestión |
|
Añadir proyectos nuevos |
||
Añadir definiciones de idioma |
||
Gestionar definiciones de idioma |
||
Dirigir equipos |
||
Administrar usuarios |
||
Gestionar roles |
||
Gestionar anuncios |
||
Gestionar memoria de traducción |
||
Gestionar automatización |
||
Gestionar listas de componentes |
||
Gestionar facturación |
Nota
Los privilegios para todo el sitio no se conceden a ningún rol por defecto. Estos son poderosos y bastante cercanos al estatus de superusuario. La mayoría de ellos afectan a todos los proyectos en tu instalación de Weblate.
List of built-in roles#
- Administración
View billing info, Download changes, Post comment, Delete comment, Resolve comment, Edit component settings, Lock component, preventing translations, Add glossary entry, Delete glossary entry, Edit glossary entry, Upload glossary entries, Use automatic suggestions, Delete translation memory, Edit translation memory, Edit project settings, Manage project access, Download reports, Add screenshot, Delete screenshot, Edit screenshot, Edit additional string info, Accept suggestion, Add suggestion, Delete suggestion, Vote on suggestion, Add language for translation, Add several languages for translation, Perform automatic translation, Delete existing translation, Download translation file, Add new string, Dismiss failing check, Remove a string, Edit strings, Edit string when suggestions are enforced, Review strings, Edit source strings, Define author of uploaded translation, Overwrite existing strings with upload, Upload translations, Access the internal repository, Commit changes to the internal repository, Push change from the internal repository, Reset changes in the internal repository, Update the internal repository, View upstream repository location
- Edit source
Post comment, Use automatic suggestions, Edit additional string info, Accept suggestion, Add suggestion, Vote on suggestion, Download translation file, Dismiss failing check, Edit strings, Edit source strings, Overwrite existing strings with upload, Upload translations
- Add suggestion
Add suggestion
- Access repository
Download translation file, Access the internal repository, View upstream repository location
- Manage glossary
Add glossary entry, Delete glossary entry, Edit glossary entry, Upload glossary entries
- Power user
Post comment, Add glossary entry, Delete glossary entry, Edit glossary entry, Upload glossary entries, Use automatic suggestions, Accept suggestion, Add suggestion, Delete suggestion, Vote on suggestion, Add language for translation, Download translation file, Dismiss failing check, Edit strings, Edit source strings, Overwrite existing strings with upload, Upload translations, Access the internal repository, View upstream repository location
- Review strings
Post comment, Resolve comment, Use automatic suggestions, Accept suggestion, Add suggestion, Vote on suggestion, Download translation file, Dismiss failing check, Edit strings, Edit string when suggestions are enforced, Review strings, Overwrite existing strings with upload, Upload translations
- Translate
Post comment, Use automatic suggestions, Accept suggestion, Add suggestion, Vote on suggestion, Download translation file, Dismiss failing check, Edit strings, Overwrite existing strings with upload, Upload translations
- Manage languages
Add language for translation, Add several languages for translation, Delete existing translation, Download translation file
- Automatic translation
Perform automatic translation
- Manage translation memory
Delete translation memory, Edit translation memory
- Manage screenshots
Add screenshot, Delete screenshot, Edit screenshot
- Manage repository
Lock component, preventing translations, Access the internal repository, Commit changes to the internal repository, Push change from the internal repository, Reset changes in the internal repository, Update the internal repository, View upstream repository location
- Billing
View billing info
- Add new projects
Add new projects
Lista de los equipos#
The following teams are created upon installation (or after executing
setupgroups
) and you are free to modify them. The migration will,
however, re-create them if you delete or rename them.
- Invitados
Define los permisos que tendrán los usuarios no autenticados.
Este equipo sólo contiene usuarios anónimos (véase
ANONYMOUSER_NAME
).Puedes eliminar las funciones de este equipo para limitar los permisos de los usuarios no registrados.
Roles por defecto: Añadir sugerencia, Acceder al repositorio
- Lectores
This role ensures visibility of public projects for all users. By default, all users are members of this team.
Por defecto, asignación automática de grupo hace que, cuando se unen, todas las cuentas nuevas sean miembros de este grupo.
Roles por defecto: ninguno
- Usuario/as
Default team for all users.
Por defecto, asignación automática de grupo hace que, cuando se unen, todas las cuentas nuevas sean miembros de este grupo.
Roles por defecto: Usuario/a avanzado/a
- Revisores
Grupo de revisores (ver Flujos de trabajo de traducción).
Roles por defecto: Cadenas de revisión
- Supervisores
Grupo para administradores.
Roles por defecto: Administración
Advertencia
Never remove the predefined Weblate teams and users as this can lead to unexpected problems! If you have no use for them, you can removing all their privileges instead.
Restricciones de acceso adicionales#
Si deseas utilizar tu instalación de Weblate de una manera menos pública, es decir, permitir nuevos usuarios sólo por invitación, puedes hacerlo configurando Weblate de tal manera que sólo los usuarios conocidos tengan acceso a él. Para ello, puedes fijar REGISTRATION_OPEN
a False
para evitar el registro de nuevos usuarios, y fijar REQUIRE_LOGIN
a /.*
para requerir el inicio de sesión para acceder a todas las páginas del sitio. Esta es básicamente la forma de bloquear tu instalación de Weblate.
Consejo
Puedes usar la función invite-user> para añadir nuevos usuarios.