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.

Distinto en la versión 3.0: Hasta Weblate 3.0, el sistema de privilegios se basaba únicamente en el de Django, pero ahora se ha construido específicamente para Weblate. Si utiliza una versión antigua, consulte la documentación que corresponda a esa versión.

Control de acceso simple

Si no está administrando toda la instalación de Weblate y solo tiene acceso para administrar ciertos proyectos (como en Hosted Weblate <https://hosted.weblate.org/> _), sus opciones de administración de control de acceso se limitan a las siguientes configuraciones. Si no necesita ninguna configuración compleja, será suficiente para ti.

Control de acceso al proyecto

Nota

Esta función no está disponible para los proyectos que ejecutan el plan Libre en Hosted Weblate.

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 públicamente, traducible por todos los usuarios que hayan accedido a sus cuentas.

Protegido

Visible públicamente y traducible solo por usuarios seleccionados.

Privado

Solo visible para, y traducible por, usuarios seleccionados.

Personalizado

User management features will be disabled; by default all users are forbidden to performed any actions on the project. You will have to set up all the permissions using Control de acceso personalizado.

Access control can be changed in the Access tab of the configuration (ManageSettings) of each respective project.

../_images/project-access.png

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

Control de acceso

Gestionar el control de acceso por proyecto

Los usuarios con el privilegio Manage project access (ver Lista de privilegios y roles incorporados) 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).

../_images/manage-users.png

Estas funciones están disponibles en la página Control de acceso, a la que se puede acceder desde el menú del proyecto GestiónUsuarios.

Administradores del equipo

Nuevo en la versión 4.15.

Cada grupo puede tener un administrador del equipo, el cual puede añadir y quitar usuarios. Esto es útil en caso de querer hacer equipos autogobernados.

Invitación a usuarios nuevos

Además de añadir un usuario existente al proyecto, también es posible invitar a otros nuevos. Cualquier nuevo usuario se creará inmediatamente, pero la cuenta permanecerá inactiva hasta que se registre con un enlace en la invitación enviada por correo electrónico. No es necesario tener ningún privilegio en el sitio para hacerlo, bastaría con un permiso de gestión de acceso en el ámbito del proyecto (por ejemplo, una pertenencia al equipo Administration).

Consejo

Si el usuario invitado pierde la validación de la invitación, pueden establecer su contraseña utilizando la dirección de correo electrónico invitado en el formulario de restablecimiento de contraseña, ya que la cuenta ya está creada.

Nuevo en la versión 3.11: Es posible reenviar el correo electrónico para las invitaciones de los usuarios (invalidando cualquier invitación enviada anteriormente).

El mismo tipo de invitaciones están disponibles en todo el sitio desde la management interface en la pestaña :Users.

Bloquear 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

Puede definir sus proyectos como Protegido o Privado y gestionar los usuarios por proyecto en la interfaz de usuario de Weblate.

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 Control de acceso personalizado 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.

Control de acceso personalizado

Nota

Esta función no está disponible para los proyectos que ejecutan el plan Libre 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 Users, roles, teams, and permissions para más detalles.

Las características más potentes del sistema de control de acceso de Weblate por ahora sólo están disponibles a través de la interfaz de administración de Django admin interface. Puedes utilizarlo para gestionar los permisos de cualquier proyecto. No tienes que cambiarlo necesariamente a Custom access control para usarlo. Sin embargo, debes tener privilegios de superusuario para poder utilizarlo.

Si no estás interesado en los detalles de la implementación, y sólo quieres crear una configuración muy simple basada en los valores predeterminados, o no tienes un acceso a todo el sitio de la instalación de Weblate (como en Hosted Weblate), por favor visita la sección Control de acceso simple.

Configuraciones comunes

Esta sección contiene un resumen de algunas configuraciones comunes que pueden interesarte.

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.

You can define some new custom teams as well. If you want to keep managing your permissions site-wide for these teams, choose an appropriate value for the Project selection (e.g. All projects or All public projects).

Permisos personalizados para idiomas, componentes o proyectos

You can create your own dedicated teams to manage permissions for distinct objects such as languages, components, and projects. Although these teams can only grant additional privileges, you can’t revoke any permission granted by site-wide or per-project teams by adding another custom team.

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:

  1. Remove the permission to translate Czech from all the users. In the default configuration this can be done by altering the Users default team.

    Grupo Usuarios

    Selección de idioma

    Como se ha definido

    Idiomas

    Todos menos checo

  1. Add a dedicated team for Czech translators.

    Grupo Traductores al checo

    Roles

    Usuario avanzado

    Selección del proyecto

    Todos los proyectos públicos

    Selección de idioma

    Como se ha definido

    Idiomas

    Checo

  1. Add users you wish to give the permissions to into this team.

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.

Users, roles, teams, and permissions

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

User can belong to several teams.

Grupo

El grupo conecta roles, usuarios y objetos de autenticación (proyectos, idiomas y listas de componentes).

graph auth { "User" -- "Group"; "Group" -- "Role"; "Role" -- "Permission"; "Group" -- "Project"; "Group" -- "Language"; "Group" -- "Components"; "Group" -- "Component list"; }

Nota

A team can have no roles assigned to it, in that case access to browse the project by anyone is assumed (see below).

Acceso a navegar por un proyecto

A user has to be a member of a team linked to the project, or any component inside that project. Having membership is enough, no specific permissions are needed to browse the project (this is used in the default Viewers team, see List of teams).

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).

Scope of teams

The scope of the permission assigned by the roles in the teams are applied by the following rules:

  • If the team specifies any Component list, all the permissions given to members of that team are granted for all the components in the component lists attached to the team, and an access with no additional permissions is granted for all the projects these components are in. Components and Projects are ignored.

  • If the team specifies any Components, all the permissions given to the members of that team are granted for all the components attached to the team, and an access with no additional permissions is granted for all the projects these components are in. Projects are ignored.

  • Otherwise, if the team specifies any Projects, either by directly listing them or by having Projects selection set to a value like All public projects, all those permissions are applied to all the projects, which effectively grants the same permissions to access all projects unrestricted components.

  • The restrictions imposed by a team’s Languages are applied separately, when it’s verified if a user has an access to perform certain actions. Namely, it’s applied only to actions directly related to the translation process itself like reviewing, saving translations, adding suggestions, etc.

Consejo

Para automatizar la inclusión de todos los idiomas o proyectos, usa Language selection o Project selection.

Ejemplo:

Let’s say there is a project foo with the components: foo/bar and foo/baz and the following team:

Grupo Administradores-Revisores Españoles

Roles

Revisar cadenas, Gestionar repositorio

Componentes

foobar

Idiomas

Español

Members of that team will have following permissions (assuming the default role settings):

  • Acceso general (navegación) a todo el proyecto foo incluyendo los dos componentes que lo componen: foo/bar y foo/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.

Automatic team assignments

On the bottom of the Group editing page in the Django admin interface, you can specify Automatic team 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. In order to do so, you will probably want to keep the default value (^.*$) in the regular expression field. 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

Automatic team assignment to Users and Viewers is always recreated when upgrading from one Weblate version to another. If you want to turn it off, set the regular expression to ^$ (which won’t match anything).

Nota

As for now, there is no way to bulk-add already existing users to some team via the user interface. For that, you may resort to using the REST API.

Default teams and roles

After installation, a default set of teams is created (see List of teams).

These roles and teams are created upon installation. The built-in roles are always kept up to date by the database migration when upgrading. You can’t actually change them, please define a new role if you want to define your own set of permissions.

Lista de privilegios y roles incorporados

Alcance

Permiso

Roles

Facturación (vea Facturación)

Ver datos de facturación

Administración, Facturación

Cambios

Descargar cambios

Administración

Comentarios

Enviar comentario

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Eliminar comentario

Administración

Resolver el comentario

Administración, Revisar cadenas

Componente

Editar configuración de los componentes

Administración

Bloquear componente, impidiendo traducciones

Administración

Glosario

Añadir palabra al glosario

Administración, Gestionar glosario, Usuario avanzado

Editar palabra del glosario

Administración, Gestionar glosario, Usuario avanzado

Eliminar palabra del glosario

Administración, Gestionar glosario, Usuario avanzado

Cargar entradas de glosario

Administración, Gestionar glosario, Usuario avanzado

Sugerencias automáticas

Utilizar sugerencias automáticas

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Memoria de traducción

Editar la memoria de traducción

Administración, Gestión de la memoria de traducción

Eliminar memoria de traducción

Administración, Gestión de la memoria de traducción

Proyectos

Editar configuración del proyecto

Administración

Gestionar acceso al proyecto

Administración

Informes

Descargar informes

Administración

Capturas de pantalla

Añadir captura de pantalla

Administración, Gestión de capturas de pantalla

Editar captura de pantalla

Administración, Gestión de capturas de pantalla

Eliminar captura de pantalla

Administración, Gestión de capturas de pantalla

Cadenas de origen

Editar información adicional de cadena

Administración, Editar código

Cadenas

Añadir nueva cadena

Administración

Quitar una cadena

Administración

Descartar comprobación fallida

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Editar cadenas

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Revisar cadenas

Administración, Revisar cadenas

Editar cadena cuando son obligatorias las sugerencias

Administración, Revisar cadenas

Editar cadenas de origen

Administración, Editar origen, Usuario avanzado

Sugerencias

Aceptar sugerencia

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Añadir sugerencia

Administración, Editar fuente, Añadir sugerencia, Usuario avanzado, Revisar cadenas, Traducir

Eliminar sugerencia

Administración, Usuario avanzado

Votar sugerencia

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Traducciones

Añadir idioma para traducción

Administración, Usuario avanzado, Administrar idiomas

Realizar una traducción automática

Administración, Gestión de idiomas

Eliminar traducción existente

Administración, Gestión de idiomas

Descargar archivo de traducción

Administración, Editar fuente, Acceder al repositorio, Usuario avanzado, Revisar cadenas, Traducir, Gestionar idiomas

Añadir varios idiomas para traducción

Administración, Gestión de idiomas

Cargas

Definir autor/a de la traducción cargada

Administración

Sobrescribir cadenas existentes al subir

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Cargar traducciones

Administración, Editar fuente, Usuario avanzado, Revisar cadenas, Traducir

Sistema de control de versiones

Acceso al repositorio interno

Administración, Acceso al repositorio, Usuario avanzado, Gestión del repositorio

Enviar cambios al repositorio interno

Administración, Gestionar repositorio

Enviar cambios del repositorio interno

Administración, Gestionar repositorio

Deshacer los cambios del repositorio interno

Administración, Gestionar repositorio

Ver la ubicación del repositorio originario

Administración, Acceso al repositorio, Usuario avanzado, Gestión del repositorio

Actualizar el repositorio interno

Administración, Gestionar repositorio

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

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 teams

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.

This team only contains anonymous users (see ANONYMOUS_USER_NAME).

You can remove roles from this team to limit permissions for non-authenticated users.

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.

By default, automatic team assignment makes all new accounts members of this team when they join.

Roles por defecto: ninguno

Usuario/as

Default team for all users.

By default, automatic team assignment makes all new accounts members of this team when they join.

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.