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 algo mais antigo, consulte a documentação para a versão específica que você está usando.

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 permissão é baseado em grupos e funções, onde as funções de definir um conjunto de permissões, e grupos as atribuem 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 seu 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 do projeto).

Permissões por projeto

Nota

Este recurso está indisponível para os projetos que executam o plano Libre no Hosted Weblate.

Defina seus projetos para o Protegido ou Privado, e gerencie usuários por projeto na interface do Weblate.

Permissões personalizadas a idiomas, componentes ou projetos

Nota

Este recurso está indisponível para os projetos que executam o plano Libre no Hosted Weblate.

Os membros recebem quaisquer permissões atribuídas aos grupos em que estão, portanto, você pode conceder ao usuário várias permissões de uma vez. Crie grupos e anexe-os a um projeto, componente ou idioma. Você pode colocar usuários em vários grupos e as permissões podem se sobrepor entre eles.

Conceder quaisquer permissões selecionadas 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).

Controle de acesso do projeto

Nota

Ao ativar controle de acesso, 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.

Nota

Este recurso está indisponível para os projetos que executam o plano Libre no Hosted Weblate.

Limite o acesso do usuário a projetos individuais selecionado uma variação de controle de acesso diferente na aba Acesso em Configurações de cada projeto. Isso cria automaticamente vários grupos para o projeto em questão. Consulte Grupos predefinidos.

Controle de acesso pode ser definido para:

Público

Publicamente visível, traduzível por todos usuários autenticados

Protegido

Publicamente visível, mas somente traduzível por usuários selecionados

Privado

Visível e traduzível apenas por usuários selecionados

Personalizado

Administração do Django gerencia usuários em vez do Weblate, consulte Controle de acesso personalizado.

../_images/project-access.png

Concede acesso a um projeto adicionando 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 controle de acesso ativada, algumas informações 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

A partir do Autenticação na interface administrativa do Django, os usuários podem ser atribuídos a grupos [para os quais você deseja isso] automaticamente com base em seus endereços de e-mail. Isto só acontece quando a conta é criada.

Nota

Associação automática de grupo para Usuários e Visualizadores sempre será criada durante migrações. Se você deseja desativá-los, defina 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 definidas pelo Weblate. Permissões não podem ser atribuídas a usuários. 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, facilitando a administração.

Usuário

Os usuários podem pertencer a vários grupos.

Grupo

Grupos conectam funções, usuários 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õ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 nesta ordem:

  1. A Lista de componentes do grupo é comparada com componente ou projeto acessado (para acesso a nível de projeto).

  2. Os Componentes de grupo é comparada com componente ou projeto acessado (para acesso a nível de projeto).

  3. Os Projetos de grupo são comparados com o projeto acessado.

Assim, a concessão de acesso a um componente dá ao usuário acesso ao projeto em que também está.

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:

  1. Os Idiomas de grupo é compatível com traduções acessadas, é ignorado para acesso em nível de componente ou projeto.

Dica

Use 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 daquele projeto. Ser membro é suficiente, não são necessárias permissões específicas para acessar o 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 for possível acessar o projeto de contenção. Com o Restricted access ativado, o acesso ao componente requer permissão explícita àquele componente (ou uma lista de componentes em que ele está).

Gerenciando usuários e grupos

Todos os usuários e vários grupos em que eles estão podem ser gerenciados usando-se a interface administrativa do Django, a qual você pode acessar anexando /admin/ à URL do site do Weblate.

Gerenciando controle de acesso por projeto

Nota

Este recurso só funciona para projetos usando controle de acesso, veja Controle de acesso do projeto.

Os usuários com o privilégio Gerenciar acesso ao 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 de usuário

  • Revogue acesso de usuário

Novo na versão 3.11.

  • Reenvie o e-mail para convites de usuário (invalidando qualquer convite enviado anteriormente)

O gerenciamento de usuário está disponível no menu Gerenciar de qualquer projeto:

../_images/manage-users.png

Grupos predefinidos

Weblate vem com um conjunto predefinido de grupos para um projeto, onde você pode atribuir usuários.

Translate

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

Sources

Pode editar textos fonte em Componentes monolíngues e informações de textos fonte.

Languages

Pode gerenciar idiomas traduzidos (adicionar ou remover traduções).

Glossary

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

Memory

Pode gerenciar memória de tradução.

Screenshots

Pode gerenciar capturas de tela (adicioná-las ou removê-las e associá-las a textos fonte).

Review

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

VCS

Pode gerenciar VCS e acessar o repositório exportado.

Administration

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

Billing

Pode acessar informações de cobrança (consulte Cobrança).

Controle de acesso personalizado

Para obter mais ajustes de controle de acesso em um projeto, você pode definir Controle de acesso para Personalizado para alternar para utilizar a interface de administração Django em vez da interface de Weblate.

Se você quiser fazer isso por padrão para todos os projetos atuais e novos, configure DEFAULT_ACCESS_CONTROL para administrar todas as permissões e relações utilizando a interface administrativa do Django.

Aviso

Ao ativar isso, o Weblate removerá todos os Controle de acesso do 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

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. Alterações personalizadas não são perdidas. Defina uma nova função caso você queira definir seu próprio conjunto de permissões.

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 traduções [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, 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

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 adicionais de texto [Administração, Editar fonte]

Textos

Adicionar novo texto [Administração]

Remover um texto [Administração]

Ignorar 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 em 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]

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

Excluir tradução existente [Administração, Gerenciar idiomas]

Adicionar idiomas para tradução [Administração, Gerenciar idiomas]

Envios

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

Sobrescrever textos existentes com envio [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 o 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]

Ver o 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 grupos

Gerenciar usuários

Gerenciar funções

Gerenciar anúncios

Gerenciar memória de tradução

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 grupos

Os seguintes grupos são criados após a instalação (ou após a execução de setupgroups) e você está livre para modificá-los. A migração irá, no entanto, recriá-los se você excluí-los ou renomeá-los.

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, Associações automáticas de grupo faz com que todos os novos membros de contas deste grupo quando eles entram.

Funções padrão: nenhuma

Usuários

Grupo padrão para todos os usuários.

Por padrão, Associações automáticas de grupo faz com que todos os novos membros de contas deste grupo 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 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 tiver uso para eles, você pode remover todos os privilégios deles.