Controlo de acesso
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.
Alterado na versão 3.0: Antes do Weblate 3.0, o sistema de privilégios era baseado apenas no sistema de privilégios do Django, mas é agora especificamente construído para Weblate. Se for usado algo mais antigo, consulte a documentação para a versão específica que está a usar.
Controle de acesso personalizado
Se não está a administrar toda a instalação do Weblate e apenas tem acesso para gerir certos projetos (como no Hosted Weblate), as suas opções de gestão de controle de acesso são limitadas às seguintes configurações. Se não precisa de nenhuma configuração complexa, elas são suficientes para si.
Controlo de acesso ao projeto
Nota
Este recurso está indisponível para projetos que executam o plan Libre no Hosted Weblate.
Pode limitar o acesso do utilizador a projetos individuais a selecionar uma configuração diferente de Controle de acesso. As opções disponíveis são:
- Pública
Visível publicamente, traduzível para todos os utilizadores autenticados.
- Protegido
Publicamente visível, mas somente traduzível por utilizadores selecionados.
- Privado
Visível e traduzível apenas por utilizadores selecionados.
- Personalizado
Os recursos de Gestão de utilizadores serão desativados; por padrão, todos os utilizadores estão proibidos de realizar qualquer ação no projeto. Terá que configurar todas as permissões a usar Controle de acesso personalizado.
O Controle de acesso pode ser alterado na guia Acesso da configuração (Gerir ↓ Configurações) de cada projeto.
O valor padrão pode ser alterado por DEFAULT_ACCESS_CONTROL
.
Nota
Mesmo para projetos Privados, algumas informações sobre o seu projeto serão expostas: estatísticas e resumo de linguagem para toda a instância incluirão contagens para todos os projetos, apesar da configuração de controle de acesso. O nome do seu projeto e outras informações não podem ser revelados por meio disso.
Nota
O conjunto real de permissões disponíveis para utilizadores por padrão em projetos Públicos, Protegidos e Privados pode ser redefinido pelo administrador da instância de Weblate a usar configurações personalizadas.
Aviso
Ao ativar o controle de acesso Personalizado, o Weblate removerá todos os grupos especiais que ele criou para um projeto selecionado. Se estiver a fazer isso sem permissão administrativa para toda a instância de Weblate, perderá instantaneamente o seu acesso para gerir o projeto.
Veja também
A gerir controle de acesso por projeto
Os utilizadores com o privilégio gerir o acesso ao projecto (ver Lista de privilégios e funções embutidas) podem gerir utilizadores em projetos através da adição deles às equipas. A coleção inicial de equipas é fornecida pela Weblate, mas equipas adicionais podem ser definidas, proporcionando um controlo de acesso mais fino. É possível limitar as equipas aos idiomas e atribuir-lhes funções de acesso designadas (ver Lista de privilégios e funções embutidas).
As equipas seguintes são criadas automaticamente para cada projeto:
Para projetos Públicos, Protegidos e Privados:
- Administração
Inclui todas as permissões disponíveis para o projeto.
- Revisar (somente se fluxo de trabalho de revisão estiver ativado)
Pode aprovar traduções durante a revisão.
Para projetos Protegidos e Privados apenas:
- Traduzir
Pode traduzir o projeto e enviar traduções feitas offline.
- Fontes
Pode editar cadeias fonte (se permitido nas configurações do projeto) e informações de cadeias fonte.
- Idiomas
Pode gerir idiomas traduzidos (adicionar ou remover traduções).
- Glossário
Pode gerir glossário (adicionar ou remover entradas e também enviar).
- Memória
Pode gerir memória de tradução.
- Capturas de ecrã
Pode gerir capturas de ecrã (adicioná-las ou removê-las e associá-las a cadeias fonte).
- Tradução automática
Pode usar a tradução automática.
- VCS
Pode gerir VCS e acessar o repositório exportado.
- Faturação
Pode acessar informações de cobrança e configurações (consulte Faturação).
Esses recursos estão disponíveis na página Controle de acesso, que pode ser acessada no projeto a partir do menu Gerir ↓ Utilizadores.
Novo convite de utilizador
Além de adicionar um utilizador existente ao projeto, também é possível convidar novos. Qualquer novo utilizador será criado imediatamente, mas a conta permanecerá inativa até que entre com uma ligação no convite enviado por e-mail. Não é necessário ter nenhum privilégio de todo o site para fazer isso, a permissão de gestão de acesso no escopo do projeto (por exemplo, uma associação ao grupo Administração) seria suficiente.
Dica
Se o utilizador convidado perdeu a validade do convite, ele pode definir a sua palavra-passe a usar o endereço de e-mail convidado no formulário de redefinição de palavra-passe, pois a conta já foi criada.
Novo na versão 3.11: É possível reenviar o e-mail para convites de utilizador (a invalidar qualquer convite enviado anteriormente).
O mesmo tipo de convite está disponível em todo o site a partir da interface de gestão na guia Utilizadores.
A bloquear utilizadores
Novo na versão 4.7.
No caso de alguns utilizadores se comportarem mal no seu projeto, tem a opção de bloqueá-los de contribuir. O utilizador bloqueado ainda poderá ver o projeto se tiver permissão para isso, mas não poderá contribuir.
Gestão de permissões por projeto
Pode definir os seus projetos para Protegido ou Privado e gerir utilizadores por projeto na interface de utilizador do Weblate.
Por padrão, isso impede que o Weblate conceda acesso fornecido por grupos padrão Utilizadores e Visualizadores devido à própria configuração desses grupos. Isso não impede que conceda permissões a esses projetos em todo o site, a alterar grupos padrão, a criar um novo ou a criar configurações personalizadas adicionais para componentes individuais, conforme descrito em Controle de acesso personalizado abaixo.
Um dos principais benefícios de gerir permissões por meio da interface de utilizador do Weblate é que pode delegá-las a outros utilizadores sem lhes dar o privilégio de superutilizador. Para isso, adicione-os à equipa Administração do projeto.
Controle de acesso personalizado
Nota
Este recurso está indisponível para projetos que executam o plan Libre no Hosted Weblate.
O sistema de permissão é baseado em grupos e funções, onde as funções de definir um conjunto de permissões e grupos vinculam-nas aos utilizadores e traduções. Veja Utilizadores, papéis, grupos e permissões para mais detalhes.
Os recursos mais poderosos do sistema de controle de acesso do Weblate por enquanto estão disponíveis apenas através da interface administrativa do Django. Pode usá-la para gerir as permissões de qualquer projeto. Não precisa necessariamente definir o controle de acesso para Personalizado para utilizá-lo. No entanto, deve ter privilégios de superutilizador para usá-lo.
Se não está interessado em detalhes de implementação e apenas deseja criar uma configuração simples o suficiente com base nos padrões, ou não tem um acesso de todo o site para toda a instalação do Weblate (como em Hosted Weblate), consulte a secção Controle de acesso personalizado.
Configurações comuns
Esta secção contém uma visão geral de algumas configurações comuns nas quais pode estar interessado.
Gestão de permissões para todo o site
Para gerir permissões para uma instância inteira de uma vez, adicione utilizadores aos grupos padrão:
Utilizadores (isso é feito por padrão pela associação de grupo automática).
Revisores (se estiver a usar fluxo de trabalho de revisão com revisores dedicados).
Gestores (se deseja delegar a maioria das operações de gestão a outra pessoa).
Deve manter todos os projetos configurados como Públicos (veja Controlo de acesso ao projeto), caso contrário as permissões de todo o site fornecidas pela participação nos grupos Utilizadores e Revisores não terão nenhum efeito.
Também pode conceder algumas permissões adicionais de sua escolha aos grupos padrão. Por exemplo, pode dar permissão para gerir capturas de ecrã para todos os Utilizadores.
Também pode definir alguns novos grupos personalizados. Se deseja continuar a gerir as suas permissões em todo o site para esses grupos, escolha um valor apropriado para Seleção de projeto (por exemplo Todos os projetos ou Todos os projetos públicos).
Permissões personalizadas a idiomas, componentes ou projetos
Pode criar os seus próprios grupos dedicados para gerir permissões para objetos distintos, como linguagens, componentes e projetos. Embora esses grupos só possam conceder privilégios adicionais, não pode revogar qualquer permissão concedida por grupos de todo o site ou por projeto a adicionar outro grupo personalizado.
Exemplo:
Se quiser (por qualquer motivo) permitir a tradução para um idioma específico (digamos, tcheco) apenas para um conjunto fechado de tradutores confiáveis, a manter as traduções para outros idiomas públicos, terá que:
Remover a permissão para traduzir Tcheco de todos os utilizadores. Na configuração padrão, isso pode ser feito a alterar o grupo padrão Utilizadores.
Seleção de idioma
Como definido
Idiomas
Todos, exceto Tcheco
Adicionar um grupo dedicado para tradutores(as) de Tcheco.
Funções
Utilizadores(as) avançados(as)
Seleção de projeto
Todos os projetos públicos
Seleção de idioma
Como definido
Idiomas
Tcheco
Adicionar utilizadores aos quais deseja conceder permissões a este grupo.
Como pode ver, a gestão de permissões dessa maneira é poderosa, mas pode ser um trabalho tedioso. Não pode delegá-lo a outro utilizador, a menos que conceda permissões de superutilizador.
Utilizadores, papéis, grupos e permissões
Os modelos de autenticação consistem em vários objetos:
- Permissão
Permissão individual definida pelo Weblate. Permissões não podem ser atribuídas a utilizadores. Isso só pode ser feito através da atribuição de papéis.
- Função
Um papel define um conjunto de permissões. Isso permite a reutilização desses conjuntos em vários lugares, a facilitar a administração.
- Utilizador
Utilizador pode pertencer a vários grupos.
- Grupo
Grupo conecta papéis, utilizadores e objetos de autenticação (projetos, idiomas e listas de componentes).
Nota
Um grupo não pode ter papéis lhe atribuídos; nesse caso, o acesso para navegar no projeto por qualquer pessoa é presumido (veja abaixo).
Acesso para navegar até um projeto
Um utilizador tem que ser um membro de um grupo vinculado ao projeto ou qualquer componente dentro daquele projeto. Ser membro é suficiente, não são necessárias permissões específicas para navegar o projeto (isso é usado no grupo padrão Visualizadores, consulte Lista de grupos).
Acesso para navegar até um componente
Um utilizador pode acessar componentes irrestritos assim que for possível acessar o projeto dos componentes (e terá todas as permissões que foram concedidas ao utilizador para o projeto). Com o Acesso restrito ativado, o acesso ao componente requer permissões explícitas para o componente (ou uma lista de componentes na qual o componente está contido).
Escopo de grupos
O escopo da permissão atribuída pelas funções nos grupos é aplicado pelas seguintes regras:
Se o grupo especificar qualquer Lista de componentes, todas as permissões dadas aos membros desse grupo serão concedidas para todos os componentes nas listas de componentes anexadas ao grupo e um acesso sem permissões adicionais é concedido para todos os projetos estes componentes estão contidos. Componentes e Projetos são ignorados.
Se o grupo especificar quaisquer Componentes, todas as permissões dadas aos membros desse grupo são concedidas para todos os componentes anexados ao grupo e um acesso sem permissões adicionais é concedido para todos os projetos nos quais que esses componentes estão. Projetos são ignorados.
Caso contrário, se o grupo especificar Projetos, seja a listar-os diretamente ou a ter Seleção de projetos definida com um valor como Todos os projetos públicos, todas essas permissões são aplicadas a todos os projetos, que efetivamente concede as mesmas permissões para acessar todos os componentes irrestritos dos projetos.
As restrições impostas pelos Idiomas de um grupo são aplicadas separadamente, quando é verificado se um utilizador tem acesso para realizar determinadas ações. Ou seja, é aplicado apenas a ações diretamente relacionadas ao próprio processo de tradução, como revisar, gravar traduções, adicionar sugestões, etc.
Dica
Use Seleção de idioma ou Seleção de projeto para automatizar a inclusão de todos os idiomas ou projetos.
Exemplo:
Digamos que haja um projeto
foo
com os componentesfoo/bar
efoo/baz
e o seguinte grupo:
Funções
Rever cadeias, Gerir repositório
Componentes
foo/bar
Idiomas
Espanhol
Membros deste grupo terão as seguintes permissões (a presumir as configurações padrão de papeis):
Acesso geral (navegação) para todo o projeto
foo
incluindo ambos componentes nele:foo/bar
efoo/baz
.Rever cadeias na tradução para espanhol de
foo/bar
(não em outro lugar).Gerir VCS para todo o repositório
foo/bar
, por exemplo, fazer commit de alterações pendentes feitas por tradutores de todos os idiomas.
Atribuições de grupo automáticas
Na parte inferior da página de edição Grupo na interface administrativa do Django, pode especificar Associações automáticas de grupo, que é uma lista de expressões regulares usadas para atribuir automaticamente utilizadores recém-criados a um grupo com base nos endereços de e-mail deles. Esta associação só acontece após a criação da conta.
O caso de uso mais comum para o recurso é atribuir todos os novos utilizadores a algum grupo padrão. Para fazer isso, provavelmente desejará manter o valor padrão (^.*$
) No campo da expressão regular. Outro caso de uso para essa opção pode ser conceder alguns privilégios adicionais aos funcionários da sua empresa por padrão. Supondo que todos eles usem endereços de e-mail corporativos no seu domínio, isso pode ser feito com uma expressão como ^.*@minhaempresa.com
.
Nota
Associação automática de grupo para Utilizadores e Visualizadores sempre será recriada ao atualizar de uma versão anterior do Weblate para outra. Se deseja desativá-los, defina a expressão regular para ^$
(que nunca corresponderá).
Nota
Por enquanto, não há como adicionar em massa utilizadores já existentes a algum grupo por meio da interface do utilizador. Para isso, pode recorrer ao uso da API REST.
Grupos e funções predefinidos
Após a instalação, um conjunto padrão de grupos é criado (veja Lista de grupos).
Esses funções e grupos são criados após a instalação. As funções embutidas são sempre mantidas atualizadas pela migração do banco de dados ao atualizar. Não pode alterá-las. Defina uma nova função caso queira definir o seu próprio conjunto de permissões.
Lista de privilégios e funções embutidas
Âmbito |
Permissão |
Funções |
---|---|---|
Faturamento (consulte Faturação) |
Ver informação de faturação |
Administração, Cobrança |
Alterações |
Transferir alterações |
Administração |
Comentários |
Publicar comentário |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
Apagar comentário |
Administração |
|
Resolver comentário |
Administração, Revisar textos |
|
Componente |
Editar definições de componente |
Administração |
Bloquear componente, impedindo traduções |
Administração |
|
Glossário |
Adicionar entrada de glossário |
Administração, Gerir glossário, Utilizador avançado |
Editar entrada de glossário |
Administração, Gerir glossário, Utilizador avançado |
|
Apagar entrada de glossário |
Administração, Gerir glossário, Utilizador avançado |
|
Enviar entradas de glossário |
Administração, Gerir glossário, Utilizador avançado |
|
Sugestões automáticas |
Usar sugestões automáticas |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
Memória de tradução |
Editar memória de tradução |
Administração, Gerir memória de tradução |
Apagar memória de tradução |
Administração, Gerir memória de tradução |
|
Projetos |
Editar definições do projeto |
Administração |
Gerir acesso do projeto |
Administração |
|
Relatórios |
Transferir 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ção adicional da cadeia |
Administração, Editar fonte |
Cadeias |
Adicionar nova cadeia |
Administração |
Remover uma cadeia |
Administração |
|
Dispensar verificação com falha |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
|
Editar cadeias |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
|
Rever cadeias |
Administração, Revisar textos |
|
Editar cadeia quando as sugestões são forçadas |
Administração, Revisar textos |
|
Editar cadeias fonte |
Administração, Editar fonte, Utilizador avançado |
|
Sugestões |
Aceitar sugestão |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
Adicionar sugestão |
Administração, Editar fonte, Adicionar sugestão, Utilizador avançado, Revisar textos, Traduzir |
|
Apagar sugestão |
Administração, Utilizador avançado |
|
Votar na sugestão |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
|
Traduções |
Adicionar idioma para tradução |
Administração, Utilizador avançado, Gerir idiomas |
Realizar tradução automática |
Administração, Tradução automática |
|
Apagar tradução existente |
Administração, Gerir idiomas |
|
Descarregar ficheiro de tradução |
Administração, Editar fonte, Acessar repositório, Utilizador avançado, Revisar textos, Traduzir, Gerir idiomas |
|
Adicionar vários idiomas para tradução |
Administração, Gerir idiomas |
|
Envios |
Definir o autor da tradução enviada |
Administração |
Substituir cadeias existentes com enviadas |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
|
Enviar traduções |
Administração, Editar fonte, Utilizador avançado, Revisar textos, Traduzir |
|
VCS |
Aceder ao repositório interno |
Administração, Acessar repositório, Utilizador avançado, Gerir repositório |
Submeter alterações no repositório interno |
Administração, Gerir repositório |
|
Enviar alteração do repositório interno |
Administração, Gerir repositório |
|
Reiniciar alterações no repositório interno |
Administração, Gerir repositório |
|
Ver localização do repositório principal |
Administração, Acessar repositório, Utilizador avançado, Gerir repositório |
|
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 tradução automática |
||
Gerir as listas de componentes |
Nota
Privilégios para todo o site não são concedidos a nenhuma função padrão. 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 seguintes grupos são criados após a instalação (ou após a execução de setupgroups
) e está livre a modificá-los. A migração irá, no entanto, recriá-los se apagá-los ou renomeá-los.
- 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
Essa função garante a visibilidade de projetos públicos para todos os utilizadores. Por padrão, todos os utilizadores são membros deste grupo.
Por padrão, associação automática de grupo faz com que todos os novos membros de contas deste grupo quando eles entram.
Funções predefinidas: nenhuma
- Utilizadores
Grupo predefinido para todos os utilizadores.
Por padrão, associação automática de grupo faz com que todos os novos membros de contas deste grupo quando eles entram.
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 tiver uso para eles, pode remover todos os privilégios deles.
Restrições adicionais de acesso
Se quer usar a instalação do Weblate de forma menos pública, ou seja, permitir novos utilizadores apenas por convite, isso pode ser feito configurando o Weblate para que apenas utilizadores conhecidos tenham acesso a ele. Para fazer isso, pode definir REGISTRATION_OPEN
para False
para prevenir registos de quaisquer novos utilizadores e definir REQUIRE_LOGIN
para /.*
para exigir login para acessar todas as páginas do site. Assim terá o seu Weblate privado.
Dica
Pode usar Novo convite de utilizador para adicionar novos utilizadores.