Controle 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 você estiver usando 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 usuário para toda a instância ou em um 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 para os usuários e traduções, veja Usuários, funções, grupos e permissões para mais detalhes.
Após a instalação, um conjunto padrão de grupos é criado e você pode usá-los para atribuir funções de usuários para toda a instância (ver Grupos e funções padrão). Além disso, quando acl`está ativado, você pode atribuir usuários a projetos de tradução específicos. Configurações mais refinadas pode ser alcançadas usando :ref:`custom-acl.
Configurações comuns¶
Bloqueando o Weblate¶
Para confinar completamente sua instalação de Weblate, você pode usar o LOGIN_REQUIRED_URLS
para forçar os usuários a entrar e o REGISTRATION_OPEN
para impedir novos registros.
Permissões para todo o site¶
Para gerenciar permissões para uma instância inteira, basta adicionar utilizadores aos grupos Usuários (isso é feito por padrão, usando o Associações automáticas de grupo), Revisores e Gerenciadores. Manter todos os projetos configurados como “Público” (veja Controle de acesso por projeto).
Permissões por projeto¶
Defina seus projetos para o Protegido ou Privado, e gerencie usuários por projeto na interface do Weblate.
Adicionando permissões a idiomas, componentes ou projetos¶
Além disso, você pode conceder permissões a qualquer usuário com base no projeto, componente ou conjunto de idiomas. Para conseguir isso, crie um novo 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.
Isso funcionará muito bem sem configuração adicional, se usar por permissões de projeto. Para permissões em toda a instância, você provavelmente também vai querer remover essas permissões do grupo Usuários ou alterar a atribuição automática de todos os usuários para esse grupo (ver Associações automáticas de grupo).
Ver também
Controle de acesso por projeto¶
Nota
Ao habilitar a ACL, todos os usuários são proibidos de acessar qualquer coisa dentro de um determinado projeto, a menos que você adicione as permissões para que eles façam exatamente isso.
Você pode limitar o acesso do usuário a projetos individuais. Este recurso é ligado por Controle de acesso na configuração de cada projeto. Isso cria automaticamente vários grupos para este projeto, consulte Grupos predefinidos.
Existem as seguintes opções para Controle de acesso:
- Público
Publicamente visível e traduzível
- Protegido
Publicamente visível, mas somente traduzível por usuários selecionados
- Privado
Visível e traduzível apenas por usuários selecionados
- Personalizado
Weblate não gerencia usuários, consulte Controle de acesso personalizado.
Para permitir o acesso a este projeto, você tem que adicionar o privilégio diretamente ao usuário ou grupo de usuários na interface administrativa do Django, ou usando o gerenciamento do usuário na página do projeto, conforme descrito em Gerenciando controle de acesso por projeto.
Nota
Mesmo com a ACL ativada, algumas informações de resumo estarão disponíveis sobre o seu projeto:
Estatísticas para todo o caso, incluindo contagens para todos os projetos.
Resumo do idioma para toda a instância, incluindo contagens para todos os projetos.
Associações automáticas de grupo¶
Você pode configurar o Weblate para adicionar automaticamente usuários a grupos com base em seus endereços de e-mail. Essa atribuição automática acontece apenas no momento da criação da conta.
Isso pode ser configurado na interface administrativa do Django para cada grupo (na seção Autenticação).
Nota
A associação automática de grupo para os grupos Usuários e Visualizadores sempre será criada pelo Weblate após as migrações; caso você queira desativá-las, basta definir a expressão regular para ^$
, que nunca corresponderá.
Usuários, funções, grupos e permissões¶
Os modelos de autenticação consistem em vários objetos:
- Permissão
Permissões individuais definidos por Weblate. Você não pode atribuir permissões individuais, isso só pode ser feito através da atribuição de funções.
- Função
A função define um conjunto de permissões. Isso permite a reutilização desses conjuntos em vários lugares, e facilita a administração.
- Usuário
Os usuários podem ser membros de vários grupos.
- Grupo
Grupos conectam funções, usuários e objetos de autenticação (projetos, idiomas e listas de componentes).
Verificação de permissões¶
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 escopo, e as seguintes verificações são realizadas na ordem:
Lista de componentes é comparada com componente ou projeto.
Componentes são comparados com componente ou projeto.
Projetos são comparados com o projeto.
Como se pode ver, conceder acesso a um componente concede automaticamente o acesso do usuário a um projeto que contém um componente.
Nota
Apenas a primeira regra será usada. Então, se você definir todas de Lista de componentes, Componentes e Projeto, apenas Lista de componentes terá efeito.
Uma etapa adicional é executada se estiver verificando 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
Você pode usar Seleção de idioma ou Seleção de projeto para automatizar a inclusão de todos os idiomas ou projetos.
Verificando acesso a um projeto¶
Um usuário tem que ser um membro de um grupo vinculado ao projeto ou qualquer componente dentro dele. Apenas a adesão é suficiente, não são necessárias permissões específicas para acessar um projeto (isso é usado no grupo padrão Visualizadores, consulte Grupos e funções padrão).
Verificando acesso a um componente¶
Um usuário 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 para o componente (ou que contenha lista de componentes).
Gerenciando usuários e grupos¶
Todos os usuários e grupos podem ser gerenciados usando-se a interface administrativa do Django, disponível na URL /admin/
.
Gerenciando controle de acesso por projeto¶
Nota
Este recurso só funciona para projetos controlados por ACL, veja Controle de acesso por projeto.
Os usuários com o privilégio Pode gerenciar regras ACL para um projeto (veja a Controle de acesso) também podem gerenciar usuários em projetos de controle de acesso ativado através da página do projeto. A interface permite que você:
Adicione usuários existentes ao projeto
Convide novos usuários para o projeto
Altere permissões dos usuários
Revogue acesso dos usuários
Novo na versão 3.11.
Reenvie convites de e-mail do usuário, invalidando qualquer convite enviado anteriormente
O gerenciamento do usuário está disponível no menu Gerenciar de um projeto:
Ver também
Grupos predefinidos¶
Weblate vem com um conjunto predefinido de grupos para um projeto, onde você pode atribuir usuários.
-
Administration
Tem todas as permissões disponíveis no projeto.
-
Glossary
Pode gerenciar glossário (adicionar ou remover entradas ou enviar).
-
Languages
Pode gerenciar idiomas traduzidos - adicionar ou remover traduções.
-
Screenshots
Pode gerenciar capturas de tela - adicioná-las ou removê-las e associá-las a textos fonte.
-
Template
Pode editar modelos de tradução em Componentes monolíngues e informações de textos fonte.
-
Translate
Pode traduzir o projeto, e enviar traduções feitas offline.
-
VCS
Pode gerenciar VCS e acessar o repositório exportado.
-
Review
Pode aprovar traduções durante a revisão.
-
Billing
Pode acessar informações de cobrança (consulte Cobrança).
Controle de acesso personalizado¶
Ao escolher Personalizado como Controle de acesso, o Weblate deixará de gerenciar o acesso para um determinado projeto e todos os usuários e grupos podem ser gerenciados usando a interface administrativa do Django. Isso pode ser usado para definir um controle de acesso mais complexo ou configurar uma política de acesso compartilhado para todos os projetos em uma única instância Weblate. Se você quiser ativar isso para todos os projetos por padrão, configure DEFAULT_ACCESS_CONTROL
.
Aviso
Ao ativar isso, o Weblate removerá todos os Controle de acesso por projeto que ele criou para este projeto. Se você estiver fazendo isso sem permissão administrativa da instância, você perderá instantaneamente o seu acesso para gerenciar o projeto.
Grupos e funções padrão¶
Lista de privilégios¶
- 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]
- Componente
Editar configurações do componente [Administração]
Bloquear componente, evitando de ele ser traduzido [Administração]
- Glossário
Adicionar entrada do 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 do glossário [Administração, Gerenciar glossário, Usuário avançado]
- Sugestões automáticas
Usar sugestões automáticas [Administração, Usuário avançado]
- Projetos
Editar configurações do projeto [Administração]
Gerenciar acesso ao projeto [Administração]
- Relatórios
Baixar relatórios [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 de textos fonte [Administração, Editar fonte]
- Textos
Adicionar novo texto [Administração]
Ignorar verificações 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ões [Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir]
Adicionar sugestões [Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir]
Excluir sugestões [Administração]
Votar em sugestões [Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir]
- Traduções
Iniciar nova tradução [Administração, Gerenciar idiomas, Usuário avançado]
Efetuar tradução automática [Administração, Gerenciar idiomas]
Excluir traduções existentes [Administração, Gerenciar idiomas]
Iniciar tradução em um novo idioma [Administração, Gerenciar idiomas]
- Envios
Definir autor da tradução enviada [Administração]
Sobrescrever textos existentes com um envio [Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir]
Enviar textos de tradução [Administração, Editar fonte, Usuário avançado, Revisar textos, Traduzir]
- VCS
Acessar o repositório interno [Acessar repositório, Administração, Gerenciar repositório, Usuário avançado]
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]
Ver o local do repositório upstream [Acessar repositório, Administração, Gerenciar repositório, Usuário avançado]
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 grupos
Gerenciar usuários
Gerenciar funções
Gerenciar anúncios
Gerenciar memória de tradução
Gerenciar listas de componentes
Nota
Os 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 grupos¶
Os seguintes grupos são criados após a instalação (ou após a execução de setupgroups
):
- Convidados
Define permissões para usuários não autenticados.
Este grupo contém apenas usuários anônimos (consulte
ANONYMOUS_USER_NAME
).Você pode remover funções deste grupo 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 deste grupo.
Por padrão, todos os usuários são membros deste grupo, usando Associações automáticas de grupo.
Funções padrão: nenhuma
- Usuários
Grupo padrão para todos os usuários.
Por padrão, todos os usuários são membros deste grupo usando Associações automáticas de grupo.
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 pra administradores.
Funções padrão: Administração
Aviso
Nunca remova os grupos e usuários predefinidos do Weblate, pois isso pode levar a problemas inesperados. Se você não quiser usar esses recursos, basta remover todos os privilégios deles.