Controle de acesso#
O Weblate vem com um sistema de privilégios fino para atribuir permissões ao usuário para toda a instância ou em um 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 você está usando.
Controle de acesso personalizado#
Se você não está administrando toda a instalação do Weblate e apenas tem acesso para gerenciar certos projetos (como no Hosted Weblate), suas opções de gerenciamento de controle de acesso são limitadas às seguintes configurações. Se você não precisa de nenhuma configuração complexa, elas são suficientes para você.
Controle de acesso do projeto#
Nota
Projetos operando o plano livre no Hosted Weblate são sempre Público. Você pode trocar para o plano pago se quer restringir o acesso para seu projeto.
Você pode limitar o acesso do usuário a projetos individuais selecionando uma configuração diferente de Controle de acesso. As opções disponíveis são:
- Público
Visível para todos.
Qualquer usuário autenticado pode contribuir.
O repositório VCS pode ser exposto para todo mundo.
Escolha essa opção para projetos em código aberto, ou quando sua instância Weblate é privada ou trancada.
- Protegido
Visível para todos.
Apenas usuários escolhidos podem contribuir.
Somente os usuários selecionados podem acessar o repositório VCS.
Escolha este para ganhar visibilidade, mas continuar tendo controle de quem pode contribuir.
- Privado
Visível apenas para os usuários escolhidos.
Apenas usuários escolhidos podem contribuir.
Somente os usuários selecionados podem acessar o repositório VCS.
Choose this for projects that should not be exposed publicly at all.
- Personalizado
Visível apenas para os usuários escolhidos.
Apenas usuários escolhidos podem contribuir.
Somente os usuários selecionados podem acessar o repositório VCS.
Não disponível em Hosted Weblate.
You will have to set up all the permissions using Controle de acesso personalizado.
Choose this on your own Weblate instance if you want to define access in a specific, finely customizable way.
O Controle de acesso pode ser alterado na aba Acesso da configuração (Gerenciar ↓ 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 usuários por padrão em projetos Públicos, Protegidos e Privados pode ser redefinido pelo administrador da instância de Weblate usando configurações personalizadas.
Ver também
Gerenciando controle de acesso por projeto#
Os usuários com o privilégio Gerenciar acesso ao projeto (consulte Lista de privilégios e funções embutidas) podem gerenciar usuários em projetos adicionando-os às equipes. A coleção inicial de equipes é fornecida pelo Weblate, mas outros adicionais podem ser definidos fornecendo um controle de acesso mais refinado. Você pode limitar as equipes a idiomas e atribuir-lhes funções de acesso designadas (consulte Lista de privilégios e funções embutidas).
As seguintes equipes 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 textos fonte (se permitido nas configurações do projeto) e informações de textos fonte.
- Idiomas
Pode gerenciar idiomas traduzidos (adicionar ou remover traduções).
- Glossário
Pode gerenciar glossário (adicionar ou remover entradas, e também enviar).
- Memória
Pode gerenciar memória de tradução.
- Capturas de tela
Pode gerenciar capturas de tela (adicioná-las ou removê-las e associá-las a textos fonte).
- Tradução automática
Pode usar tradução automática.
- VCS
Pode gerenciar VCS e acessar o repositório exportado.
- Cobrança
Pode acessar informações de cobrança e configurações (consulte Cobrança).
Esses recursos estão disponíveis na página Controle de acesso, que pode ser acessada no projeto a partir do menu Gerenciar ↓ Usuários.
Administradores de equipe#
Novo na versão 4.15.
Cada equipe pode ter um administrador de equipe, que pode adicionar e remover usuários dentro da equipe. Isso é útil no caso de você querer construir equipes autogovernadas.
Novo convite de usuário#
Além de adicionar um usuário existente ao projeto, também é possível convidar novos. Qualquer novo usuário será criado imediatamente, mas a conta permanecerá inativa até que você entre com um link 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 gerenciamento de acesso no escopo do projeto (por exemplo, uma associação na equipe Administração) seria suficiente.
Dica
Se o usuário convidado perdeu a validade do convite, ele pode definir sua senha usando o endereço de e-mail convidado no formulário de redefinição de senha, pois a conta já foi criada.
Novo na versão 3.11: É possível reenviar o e-mail para convites de usuário (invalidando qualquer convite enviado anteriormente).
O mesmo tipo de convite está disponível em todo o site a partir da interface de gerenciamento na aba Usuários.
Bloqueando usuários#
Novo na versão 4.7.
No caso de alguns usuários se comportarem mal em seu projeto, você tem a opção de bloqueá-los de contribuir. O usuário bloqueado ainda poderá ver o projeto se tiver permissão para isso, mas não poderá contribuir.
Gerenciamento de permissões por projeto#
Você pode definir seus projetos para Protegido ou Privado e gerenciar usuários por projeto na interface de usuário do Weblate.
Por padrão, isso impede que o Weblate conceda acesso fornecido por equipes padrão Usuários e Visualizadores devido à própria configuração dessas equipes. Isso não impede que você conceda permissões a esses projetos em todo o site, alterando equipes padrão, criando uma nova ou criando configurações personalizadas adicionais para componentes individuais, conforme descrito em Controle de acesso personalizado abaixo.
Um dos principais benefícios de gerenciar permissões por meio da interface de usuário do Weblate é que você pode delegá-las a outros usuários sem dar a eles o privilégio de superusuário. Para isso, adicione-os à equipe Administração do projeto.
Controle de acesso personalizado#
Nota
This feature is unavailable on Hosted Weblate.
O sistema de permissão é baseado em equipes e funções, onde as funções de definir um conjunto de permissões, e equipes vinculam-nas para os usuários e traduções. Veja Usuários, papéis, equipes 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. Você pode usá-la para gerenciar as permissões de qualquer projeto. Você não precisa necessariamente definir o controle de acesso para Personalizado para utilizá-lo. No entanto, você deve ter privilégios de superusuário para usá-lo.
Se você 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 seção Controle de acesso personalizado.
Configurações comuns#
Esta seção contém uma visão geral de algumas configurações comuns nas quais você pode estar interessado.
Gerenciamento de permissões para todo o site#
Para gerenciar permissões para uma instância inteira de uma vez, adicione usuários às equipes padrão:
Usuários (isso é feito por padrão pela associação de equipe automática).
Revisores (se você estiver usando fluxo de trabalho de revisão com revisores dedicados).
Gestores (se você deseja delegar a maioria das operações de gestão a outra pessoa).
Você deve manter todos os projetos configurados como Públicos (veja Controle de acesso do projeto), caso contrário as permissões de todo o site fornecidas pela participação nas equipes Usuários e Revisores não terão nenhum efeito.
Você também pode conceder algumas permissões adicionais de sua escolha às equipes padrão. Por exemplo, você pode querer dar permissão para gerenciar capturas de tela para todos os Usuários.
Você também pode definir algumas novas equipes personalizadas. Se você deseja continuar gerenciando suas permissões em todo o site para essas equipes, 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#
Você pode criar suas próprias equipes dedicadas para gerenciar permissões para objetos distintos, como linguagens, componentes e projetos. Embora essa equipes só possam conceder privilégios adicionais, você não pode revogar qualquer permissão concedida por equipes de todo o site ou por projeto adicionando outra equipe personalizada.
Exemplo:
Se você quiser (por qualquer motivo) permitir a tradução para um idioma específico (digamos, tcheco) apenas para um conjunto fechado de tradutores confiáveis, mantendo as traduções para outros idiomas públicos, você terá que:
Remover a permissão para traduzir Tcheco de todos os usuários. Na configuração padrão, isso pode ser feito alterando a equipe padrão Usuários.
# Seleção de idioma
Como definido
Idiomas
Todos, exceto Tcheco
Adicionar uma equipe dedicada para tradutores(as) de Tcheco.
# Funções
Usuários(as) avançados(as)
Seleção de projeto
Todos os projetos públicos
Seleção de idioma
Como definido
Idiomas
Tcheco
Adicionar usuários aos quais deseja conceder permissões a esta equipe.
Como você pode ver, o gerenciamento de permissões dessa maneira é poderoso, mas pode ser um trabalho tedioso. Você não pode delegá-lo a outro usuário, a menos que conceda permissões de superusuário.
Usuários, papéis, equipes 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 usuários. Isso só pode ser feito através da atribuição de papéis.
- Papel
Um papel define um conjunto de permissões. Isso permite a reutilização desses conjuntos em vários lugares, facilitando a administração.
- Usuário
Usuário pode pertencer a várias equipes.
- Grupo
Grupo conecta papéis, usuários e objetos de autenticação (projetos, idiomas e listas de componentes).
Nota
Uma equipe não pode ter papéis atribuídos a ela; nesse caso, o acesso para navegar no projeto por qualquer pessoa é presumido (veja abaixo).
Acesso para navegar até um projeto#
Um usuário tem que ser um membro de uma equipe vinculada 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 na equipe padrão Visualizadores, consulte Lista de equipes).
Acesso para navegar até um componente#
Um usuário pode acessar componentes irrestritos assim que for possível acessar o projeto dos componentes (e terá todas as permissões que foram concedidas ao usuário 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 equipes#
O escopo da permissão atribuída pelas funções nas equipes é aplicado pelas seguintes regras:
Se a equipe especificar qualquer Lista de componentes, todas as permissões dadas aos membros dessa equipe serão concedidas para todos os componentes nas listas de componentes anexadas à equipe, e um acesso sem permissões adicionais é concedido para todos os projetos estes componentes estão contidos. Componentes e Projetos são ignorados.
Se a equipe especificar quaisquer Componentes, todas as permissões dadas aos membros dessa equipe são concedidas para todos os componentes anexados à equipe, 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 a equipe especificar Projetos, seja listando-os diretamente ou tendo 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 uma equipe são aplicadas separadamente, quando é verificado se um usuário 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, salvar 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 a seguinte equipe:
# Funções
Revisar textos, Gerenciar repositório
Componentes
foo/bar
Idiomas
Espanhol
Membros desta equipe terão as seguintes permissões (presumindo as configurações padrão de papeis):
Acesso geral (navegação) para todo o projeto
foo
incluindo ambos componentes nele:foo/bar
efoo/baz
.Revisar textos na tradução para espanhol de
foo/bar
(não em outro lugar).Gerenciar 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 equipe automáticas#
Na parte inferior da página de edição Grupo na interface administrativa do Django, você pode especificar Associações automáticas de equipe, que é uma lista de expressões regulares usadas para atribuir automaticamente usuários recém-criados a uma equipe com base em seus endereços de e-mail. 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 usuários a alguma equipe padrão. Para fazer isso, você 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 de sua empresa por padrão. Supondo que todos eles usem endereços de e-mail corporativos em seu domínio, isso pode ser feito com uma expressão como ^.*@minhaempresa.com
.
Nota
Associação automática de equipe para Usuários e Visualizadores sempre será recriada ao atualizar de uma versão anterior do Weblate para outra. Se você deseja desativá-los, defina a expressão regular para ^$
(que nunca corresponderá).
Nota
Por enquanto, não há como adicionar em massa usuários já existentes a alguma equipe por meio da interface do usuário. Para isso, você pode recorrer ao uso da API REST.
Equipes e funções padrão#
Após a instalação, um conjunto padrão de equipes é criado (veja Lista de equipes).
Esses funções e essas equipes 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. Você não pode alterá-las. Defina uma nova função caso você queira definir seu próprio conjunto de permissões.
Lista de privilégios e funções embutidas#
Escopo |
Permissão |
Funções |
---|---|---|
Cobrança (consulte Cobrança) |
Visualizar informações de cobrança |
Administração, Cobrança |
Alterações |
Baixar alterações |
Administração |
Comentários |
Publicar comentário |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
Excluir comentário |
Administração |
|
Resolver comentário |
Administração, Revisar textos |
|
Componente |
Editar configurações do componente |
Administração |
Bloquear componente, evitando traduções |
Administração |
|
Glossário |
Adicionar entrada no glossário |
Administração, Gerenciar glossário, Usuário avançado |
Editar entrada do glossário |
Administração, Gerenciar glossário, Usuário avançado |
|
Excluir entrada do glossário |
Administração, Gerenciar glossário, Usuário avançado |
|
Enviar entradas ao glossário |
Administração, Gerenciar glossário, Usuário avançado |
|
Sugestões automáticas |
Usar sugestões automáticas |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
Memória de tradução |
Editar memória de tradução |
Administração, Gerenciar memória de tradução |
Excluir memória de tradução |
Administração, Gerenciar memória de tradução |
|
Projetos |
Editar configurações do projeto |
Administração |
Gerenciar acesso ao projeto |
Administração |
|
Relatórios |
Relatórios de download |
Administração |
Capturas de tela |
Adicionar captura de tela |
Administração, Gerenciar capturas de tela |
Editar captura de tela |
Administração, Gerenciar capturas de tela |
|
Excluir captura de tela |
Administração, Gerenciar capturas de tela |
|
Textos fonte |
Editar informações adicionais do texto |
Administração, Editar fonte |
Textos |
Adicionar novo texto |
Administração |
Remover um texto |
Administração |
|
Dispensar verificação com falha |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
|
Editar textos |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
|
Revisar textos |
Administração, Revisar textos |
|
Editar texto quando as sugestões são forçadas |
Administração, Revisar textos |
|
Editar textos fonte |
Administração, Editar fonte, Usuário avançado |
|
Sugestões |
Aceitar sugestão |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
Adicionar sugestão |
Administração, Editar fonte, Adicionar sugestão, Usuário avançado, Revisar textos, Traduzir |
|
Excluir sugestão |
Administração, Usuário avançado |
|
Votar na sugestão |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
|
Traduções |
Adicionar idioma para tradução |
Administração, Usuário avançado, Gerenciar idiomas |
Executar tradução automática |
Administração, Tradução automática |
|
Excluir tradução existente |
Administração, Gerenciar idiomas |
|
Baixar arquivo de tradução |
Administração, Editar fonte, Acessar repositório, Usuário avançado, Revisar textos, Traduzir, Gerenciar idiomas |
|
Adicionar vários idiomas para tradução |
Administração, Gerenciar idiomas |
|
Envios |
Definir autor da tradução enviada |
Administração |
Sobrescrever os textos existentes com os enviados |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
|
Enviar traduções |
Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir |
|
VCS |
Acessar repositório interno |
Administração, Acessar repositório, Usuário avançado, Gerenciar repositório |
Fazer commit das alterações para o repositório interno |
Administração, Gerenciar repositório |
|
Fazer push das alterações do repositório interno |
Administração, Gerenciar repositório |
|
Redefinir as alterações no repositório interno |
Administração, Gerenciar repositório |
|
Visualizar local do repositório upstream |
Administração, Acessar repositório, Usuário avançado, Gerenciar repositório |
|
Atualizar o repositório interno |
Administração, Gerenciar repositório |
|
Privilégios para todo o site |
Usar interface de gerenciamento |
|
Adicionar novos projetos |
||
Adicionar definições de idioma |
||
Gerenciar definições de idiomas |
||
Gerenciar equipes |
||
Gerenciar usuários |
||
Gerenciar funções |
||
Gerenciar anúncios |
||
Gerenciar memória de tradução |
||
Gerenciar tradução automática |
||
Gerenciar 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 status de superusuário. A maioria deles afetam todos os projetos de sua instalação do Weblate.
Lista de equipes#
The following teams are created upon installation (or after executing
weblate setupgroups
) and you are free to modify them. The migration will,
however, re-create them if you delete or rename them.
- Convidados
Define permissões para usuários não autenticados.
Esta equipe contém apenas usuários anônimos (consulte
ANONYMOUS_USER_NAME
).Você pode remover funções desta equipe para limitar as permissões para usuários não autenticados.
Funções padrão: Adicionar sugestão, Acessar repositório
- Visualizadores
Essa função garante a visibilidade de projetos públicos para todos os usuários. Por padrão, todos os usuários são membros desta equipe.
Por padrão, associação automática de equipe faz com que todos os novos membros de contas desta equipe quando eles entram.
Funções padrão: nenhuma
- Usuários
Equipe padrão para todos os usuários.
Por padrão, associação automática de equipe faz com que todos os novos membros de contas desta equipe quando eles entram.
Funções padrão: Usuário avançado
- Revisores
Grupo para revisores (consulte Fluxos de trabalho de tradução).
Funções padrão: Revisar textos
- Gerenciadores
Grupo para administradores.
Funções padrão: Administração
Aviso
Nunca remova as equipes e usuários predefinidos do Weblate, pois isso pode levar a problemas inesperados! Se você não tiver uso para eles, você pode remover todos os privilégios deles.
Restrições adicionais de acesso#
Se você quer usar a instalação do Weblate de forma menos pública, ou seja, permitir novos usuários apenas por convite, isso pode ser feito configurando o Weblate para que apenas usuários conhecidos tenham acesso a ele. Para fazer isso, você pode definir REGISTRATION_OPEN
para False
para prevenir registros de quaisquer novos usuários, e definir REQUIRE_LOGIN
para /.*
para exigir login para acessar todas as páginas do site. Assim você terá seu Weblate privado.
Dica
Você pode usar Novo convite de usuário para adicionar novos usuários.