Controlo de acesso

Alterado na versão 3.0: Antes do Weblate 3.0, o sistema de privilégios era baseado no Django, mas agora é especificamente construído para Weblate. Se estiver a usar uma versão mais antiga, consulte a documentação para essa versão, as informações aqui não se aplicarão.

O Weblate vem com um sistema de privilégios fino para atribuir permissões ao utilizador para toda a instância ou num escopo limitado.

O sistema de autorização baseado nos grupos e funções, onde as funções de definir um conjunto de permissões, grupos e atribuir-lhes aos utilizadores e traduções, veja Utilizadores, funções, grupos e permissões para mais detalhes.

Após a instalação, um conjunto de grupos predefinido é criado e pode usá-los para atribuir funções de utilizadores para toda a instância (ver Grupos e funções predefinidos). Além disso, quando acl`está ativado, pode atribuir utilizadores a projetos de tradução específicos. Configurações mais refinadas podem ser alcançadas a usar :ref:`custom-acl.

Configurações comuns

Bloqueando o Weblate

Para bloquear a sua instalação de Weblate completamente, pode usar o REQUIRE_LOGIN para forçar os utilizadores a entrar e o REGISTRATION_OPEN para impedir novos registos.

Permissões para todo o site

Para gerir permissões para uma instância inteira, basta adicionar utilizadores aos grupos Utilizadores (isso é feito por predefinição, a usar o Atribuições de grupo automáticas), Revisores e Gestores. Manter todos os projetos configurados como «Público» (veja Controlo de acesso por projeto).

Permissões por projeto

Nota

This feature is not available for projects running the Hosted Libre plan.

Defina os seus projetos a Protegido ou Privado e gira utilizadores por projeto na interface do Weblate.

Adicionar permissões a idiomas, componentes ou projetos

Nota

This feature is not available for projects running the Hosted Libre plan.

Além disso pode conceder permissões a qualquer utilizador com base no projeto, componente ou conjunto de idiomas. Para conseguir isso, crie um grupo (por exemplo, tradutores de tcheco) e configure-o para um determinado recurso. Quaisquer permissões atribuídas serão concedidas aos membros desse grupo para os recursos selecionados.

Isto funcionará muito bem sem configuração adicional, se for usado por permissões de projeto. Para permissões em toda a instância, provavelmente também vai querer remover essas permissões do grupo Utilizadores ou alterar a atribuição automática de todos os utilizadores para esse grupo (ver Atribuições de grupo automáticas).

Controlo de acesso por projeto

Nota

Ao ativar a ACL, todos os utilizadores são proibidos de acessar qualquer coisa dentro de um determinado projeto, a menos que adicione as permissões para que eles façam exatamente isso.

Nota

This feature is not available for projects running the Hosted Libre plan.

Pode limitar o acesso do utilizador a projetos individuais. Este recurso é ligado por Controlo de acesso na configuração de cada projeto. Isto cria automaticamente vários grupos para este projeto, consulte Grupos predefinidos.

Existem as seguintes opções para Controle de acesso:

Pública

Publicamente visíveis e traduzíveis

Protegido

Visível publicamente, mas traduzível apenas por utilizadores selecionados

Privado

Visível e traduzível apenas por utilizadores selecionados

Personalizado

Weblate não gere os utilizadores, consulte: Controle de acesso personalizado.

../_images/project-access.png

Para permitir o acesso a este projeto, tem de adicionar o privilégio diretamente ao utilizador, ou grupo de utilizadores na interface administrativa do Django, ou utilizando a gestão do utilizador na página do projeto, conforme descrito em Gerindo controle de acesso por projeto.

Nota

Mesmo com a ACL ativada, alguma informação do resumo irá estar disponível sobre o seu projeto:

  • Estatísticas para toda a instância, incluindo as contagens para todos os projetos.

  • Resumo do idioma para toda a instância, incluindo contagens para todos os projetos.

Atribuições de grupo automáticas

Pode configurar o Weblate para adicionar automaticamente os utilizadores aos grupos com base no endereço de <i>e-mail</i> dos mesmos. Esta atribuição automática acontece apenas no momento da criação da conta.

Isto pode ser configurado na interface administrativa do Django para cada grupo (na secção Autenticação).

Nota

A atribuição automática de grupo aos grupos Utilizadores e Visualizadores será criada sempre pelo Weblate após as migrações; caso queira desativá-la, basta definir a expressão regular para ^$, que nunca corresponderá.

Utilizadores, funções, grupos e permissões

Os modelos de autenticação consistem em vários objetos:

Permissão

Permissões individuais definidas pelo Weblate. Não pode atribuir permissões individuais, isto só pode ser efetuado através da atribuição de funções.

Função

A função define um conjunto de permissões. Isto permite a reutilização destes conjuntos em vários lugares e facilita a administração.

Utilizador

Os utilizadores podem ser membros de vários grupos.

Grupo

Grupos associam funções, utilizadores e objetos de autenticação (projetos, idiomas e listas de componentes).

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

Verificação de permissão

Sempre que uma permissão é verificada para decidir se alguém é capaz de realizar uma determinada ação, a verificação é realizada de acordo com o âmbito e as seguintes verificações são realizadas na ordem:

  1. Lista de componentes são comparadas com o componente ou o projeto.

  2. Componentes são comparados com o componente ou o projeto.

  3. Projetos são comparados com o projeto.

Como pode ver, a concessão de acesso a um componente concede automaticamente o acesso do utilizador a um projeto que contém o componente.

Nota

Apenas será utilizada a primeira regra. Assim, se definir todas da Lista de Componentes, Componentes e Projeto, apenas será aplicada a Lista de componentes.

Uma etapa adicional é executada se estiver a verificar a permissão para a tradução:

4. Languages are matched against the scope of translations if set, if not set, this does not match any language.

Dica

Pode utilizar Seleção de Idioma ou Seleção de Projeto para automatizar a inclusão de todos os idiomas ou projetos.

Verificar acesso a um projeto

Um utilizador tem que ser um membro de um grupo vinculado ao projeto ou qualquer componente dentro dele. Apenas a adesão é suficiente, permissões específicas não são necessárias para acessar um projeto (isso é usado no grupo predefinido Visualizadores, consulte Grupos e funções predefinidos).

Verificar acesso a um componente

Um utilizador pode acessar o componente irrestrito assim que puder acessar o projeto de contenção. Com o Restricted access ativado, o acesso ao componente requer permissão explícita no componente (ou que contenha lista de componentes).

Gerir utilizadores e grupos

Todos os utilizadores e grupos podem ser geridos a usar-se a interface administrativa do Django, disponível na URL /admin/.

Gerindo controle de acesso por projeto

Nota

Este recurso só funciona para projetos controlados por ACL, veja Controlo de acesso por projeto.

Os utilizadores com o privilégio Pode gerir regras ACL para um projeto (veja a Controlo de acesso) também pode gerir utilizadores em projetos de controle de acesso ativado através da página do projeto. A interface permite que:

  • Adicionar utilizadores existentes ao projeto

  • Convidar novos utilizadores ao projeto

  • Alterar permissões dos utilizadores

  • Revogar acesso dos utilizadores

Novo na versão 3.11.

  • Reenvie convites de e-mail do utilizador, a invalidar todos convitesanteriormente enviados

A gestão de utilizadores está disponível no menu Gerir de um projeto:

../_images/manage-users.png

Grupos predefinidos

Weblate vem com um conjunto predefinido de grupos para um projeto, onde pode atribuir utilizadores.

Administration

Tem todas as permissões disponíveis no projeto.

Glossary

Pode gerir glossário (adicionar ou remover entradas ou enviar).

Languages

Pode gerir idiomas traduzidos - adicionar ou remover traduções.

Screenshots

Pode gerir capturas de ecrã - adicioná-las ou removê-las e associá-las a cadeias fonte.

Sources

Can edit source strings in Componentes monolínguas and source string info.

Translate

Pode traduzir o projeto e enviar traduções feitas offline.

VCS

Pode gerir VCS e acessar o repositório exportado.

Review

Pode aprovar traduções durante a revisão.

Billing

Pode acessar informações de faturamento (consulte Faturação).

Controle de acesso personalizado

Ao escolher Personalizado como Controlo de acesso, o Weblate deixará de gerir o acesso para um determinado projeto e pode configurar regras personalizadas na interface administrativa do Django. Isto pode ser usado para definir um controlo de acesso mais complexo ou configurar uma política de acesso compartilhada com todos os projetos numa única instância do Weblate. Se quiser ativar isto para todos os projetos por predefinição, configure DEFAULT_ACCESS_CONTROL.

Aviso

Ao ativar isto, o Weblate removerá todos os Controlo de acesso por projeto que ele criou para este projeto. Se estiver a fazer isto sem permissão administrativa da instância, perderá instantaneamente o seu acesso para gerir o projeto.

Grupos e funções predefinidos

Lista de privilégios

Faturamento (consulte Faturação)

Visualizar informações de faturamento [Administração, Faturamento]

Alterações

Descarrgar alterações [Administração]

Comentários

Publicar comentário [Administração, Editar fonte, Utiliyador avançado, Revisar cadeias, Traduzir]

Apagar comentário [Administração]

Componente

Editar configurações do componente [Administração]

Bloquear componente, impedindo traduções [Administração]

Glossário

Adicionar entrada do glossário [Administração, Gerir glossário, Utilizador avançado]

Editar entrada do glossário [Administração, Gerir glossário, Utilizador avançado]

Apagar entrada do glossário [Administração, Gerir glossário, Utilizador avançado]

Enviar entradas do glossário [Administração, Gerir glossário, Utilizador avançado]

Sugestões automáticas

Usar sugestões automáticas [Administração, Utilizador avançado]

Projetos

Editar configurações do projeto [Administração]

Gerir acesso do projeto [Administração]

Relatórios

Descarragar relatórios [Administração]

Capturas de ecrã

Adicionar captura de ecrã [Administração, Gerir capturas de ecrã]

Editar captura de ecrã [Administração, Gerir capturas de ecrã]

Apagar captura de ecrã [Administração, Gerir capturas de ecrã]

Cadeias fonte

Editar informações de cadeias fonte [Administração, Editar fonte]

Cadeias

Adicionar novas cadeias [Administração]

Ignorar verificações com falha [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

Editar cadeias [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

Revisar cadeias [Administração, Revisar cadeias]

Editar cadeias quando as sugestões são forçadas [Administração, Revisar cadeias]

Editar cadeias fonte [Administração, Editar fonte, Utilizador avançado]

Sugestões

Aceitar sugestões [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

Adicionar sugestões [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

Apagar sugestões [Administração]

Votar em sugestões [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

Traduções

Iniciar nova tradução [Administração, Gerir idiomas, Utilizador avançado]

Efetuar tradução automática [Administração, Gerir idiomas]

Apagar traduções existentes [Administração, Gerir idiomas]

Iniciar tradução para um novo idioma [Administração, Gerir idiomas]

Envios

Definir o autor da tradução enviada [Administração]

Sobrescrever cadeias existentes com um envio [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

Enviar cadeias de tradução [Administração, Editar fonte, Utilizador avançado, Revisar cadeias, Traduzir]

VCS

Acessar o repositório interno [Acessar repositório, Administração, Gerir repositório, Utilizador avançado]

Submeter as alterações ao repositório interno [Administração, Geriar repositório]

Empurrar alterações do repositório interno [Administração, Gerir repositório]

Redefinir as alterações no repositório interno [Administração, Gerir repositório]

Ver o local do repositório upstream [Acessar repositório, Administração, Gerir repositório, Utilizador avançado]

Atualizar o repositório interno [Administração, Gerir repositório]

Privilégios para todo o site

Utilizar a interface de gestão

Adicionar novos projetos

Adicionar definições de idioma

Gerir definições de idioma

Gerir grupos

Gerir utilizadores

Gerir funções

Gerir anúncios

Gerir a memória de tradução

Gerir as listas de componentes

Nota

Os privilégios para todo o site não são concedidos a nenhuma função predfinida. Eles são poderosos e muito próximos do estado de superutilizador — a maioria deles afetam todos os projetos da sua instalação do Weblate.

Lista de grupos

Os grupos seguintes são criados após a instalação (ou após a execução de setupgroups):

Convidados

Define permissões para utilizadores não autenticados.

Este grupo contém apenas utilizadores anônimos (consulte ANONYMOUS_USER_NAME).

Pode remover funções deste grupo para limitar as permissões para utilizadores não autenticados.

Funções predefinidas: Adicionar sugestão, Acessar repositório

Visualizadores

Esta função garante a visibilidade de projetos públicos para todos os utilizadores. Por predefinição, todos os utilizadores são membros deste grupo.

Por predefinição, todos os utilizadores são membros deste grupo, a usar Atribuições de grupo automáticas.

Funções predefinidas: nenhuma

Utilizadores

Grupo predefinido para todos os utilizadores.

Por predefinição, todos os utilizadores são membros deste grupo a usar Atribuições de grupo automáticas.

Funções predefinidas: Utilizador avançado

Revisores

Grupo para revisores (consulte Fluxos de trabalho de tradução).

Funções predefinidas: Revisar cadeias

Gestores

Grupo pra administradores.

Funções predefinidas: Administração

Aviso

Nunca remova os grupos e utilizadores predefinidos do Weblate, pois isso pode levar a problemas inesperados. Se não quiser usar esses recursos, basta remover todos os privilégios deles.