Контроль доступа

Weblate поставляется с детальной системой привилегий, позволяющей назначать права пользователя для всего экземпляра с применением заданных ролей, или назначать группы прав пользователям для всех действий, определённых проектов, компонентов, словарей и т.д.

Контроль доступа к проекту

Примечание

Проекты, использующие бесплатный план Libre на Hosted Weblate, всегда являются открытыми. Вы можете переключиться на платный план, если хотите ограничить доступ к своему проекту.

Ограничивайте доступ пользователей к отдельным проектам, выбрав другой тип настройки Контроль доступа. Возможные варианты:

Публичный

Видно всем.

Любой авторизованный пользователь может внести свой вклад.

Репозиторий VCS может быть доступен всем.

Выберите этот вариант для проектов с открытым исходным кодом или если ваш экземпляр Weblate является закрытым или заблокированным.

Защищённый

Видно всем.

Только избранные пользователи могут внести свой вклад.

Только избранные пользователи могут получить доступ к репозиторию VCS.

Выберите этот вариант, чтобы обеспечить видимость, но при этом контролировать, кто может внести свой вклад.

Приватный

Видно только избранным пользователям.

Только избранные пользователи могут внести свой вклад.

Только избранные пользователи могут получить доступ к репозиторию VCS.

Выберите это для проектов, которые вообще не должны публиковаться.

Пользовательский

Видно только избранным пользователям.

Только избранные пользователи могут внести свой вклад.

Только избранные пользователи могут получить доступ к репозиторию VCS.

Недоступно на Hosted Weblate.

Вам нужно будет настроить все разрешения, используя Контроль доступа на всём сайте.

Выберите это на своём собственном экземпляре Weblate, если вы хотите определить доступ определённым, тонко настраиваемым способом.

Контроль доступа можно изменить на вкладке «Доступ» конфигурации («Управление»«Настройки») каждого соответствующего проекта.

../_images/project-access.webp

Значение по умолчанию можно изменить с помощью параметра DEFAULT_ACCESS_CONTROL.

Примечание

Даже статистика приватных проектов учитывается в общей статистике сайта и сводке по языкам. При этом не раскрываются названия проектов и любая другая информация.

Примечание

Instance administrators can modify the default permission sets available to users in Public, Protected, and Private projects by using custom settings.

Управление контролем доступа для каждого проекта

Для`публичных`, защищённых и частных проектов:

Granting users Manage project access (see Список привилегий) allows them to assign other users in Public, Protected and Private (but not Custom) projects via adding them to teams.

Это стандартные команды, предоставляемые Weblate; команды могут быть добавлены или изменены пользователями с достаточными привилегиями:

Администрация

Все разрешения, доступные для проекта.

Рецензирование

Одобрять переводы на стадии рецензирования.

Доступно только если рабочий процесс рецензирования включен.

Только для проектов защищённых и частных:

Перевести

Переводить проект и загружать переводы, сделанные в автономном режиме.

Источники

Редактировать исходные строки (если это разрешено в настройках проекта) и информацию об исходной строке.

Языки

Manage translated languages (add or remove translations).

Glossary

Manage glossary (add, remove, and upload entries).

Memory

Управление памятью переводов.

Screenshots

Manage screenshots (add, remove, and associate them to source strings).

Automatic translation

Возможно использовать автоматический перевод.

VCS

Manage VCS and access the exported repository.

Billing

Access billing info and settings (see Выставление счетов).

../_images/manage-users.webp

These features are available on the Access control page in the project’s menu ManageUsers.

Подсказка

You can limit teams to languages or components, and assign them designated access roles (see Список привилегий).

Администраторы команд

Добавлено в версии 4.15.

У каждой команды может быть администратор, который может добавлять и удалять пользователей в команде. Это полезно, если вы хотите создать самоуправляемые команды.

Приглашение новых пользователей

При добавлении существующих пользователей им будет отправлено приглашение для подтверждения. С помощью настройки REGISTRATION_OPEN администратор может также приглашать новых пользователей по электронной почте. Приглашённые пользователи должны пройти процесс регистрации, чтобы получить доступ к проекту.

Для этого не требуется иметь какие-либо привилегии для всего сайта, достаточно разрешения на управление доступом в рамках проекта (например, членство в команде администраторов).

Подсказка

Если приглашённый пользователь пропустил срок действия приглашения, необходимо создать новое приглашение.

Такие же приглашения доступны для всего сайта из management interface на вкладке Пользователи.

Изменено в версии 5.0: Теперь Weblate не создаёт автоматически учётные записи и не добавляет пользователей в команды. Это происходит только после подтверждения пользователя.

Блокирование пользователей

Добавлено в версии 4.7.

If users misbehave in your project, you can block them from contributing. With the relevant permissions blocked, users can still see the project, but won’t be able to contribute.

Управление разрешениями для каждого проекта

You can set your projects to Protected or Private (see Контроль доступа к проекту), and manage users access per-project.

По умолчанию это не позволяет Weblate предоставлять доступ, предоставляемый пользователям и просматривающим команды по умолчанию из-за собственной настройки в этих командах. Это не мешает вам предоставлять права доступа к этим проектам в масштабах всего сайта, изменив команды по умолчанию, создав новую или создав дополнительные пользовательские настройки для отдельного компонента, как описано ниже в Контроль доступа на всём сайте.

Одним из основных преимуществ управления правами доступа через пользовательский интерфейс Weblate является то, что вы можете делегировать его другим пользователям, не наделяя их привилегиями суперпользователя. Для этого добавьте их в команду Администрации проекта.

Per-project access tokens

Добавлено в версии 4.10.

You can define project-scoped access tokens in API access tab. The API tokens can have expiry date set, and their permissions can be customized by team memberships same as with users.

Контроль доступа на всём сайте

Примечание

Эта функция недоступна на Hosted Weblate.

The permission system is based on roles defining a set of permissions, and teams linking roles to users and translations, read Пользователи, роли, команды и разрешения for more details.

The most powerful features of the Weblate’s access control system can be configured in the Интерфейс управления. You can use it to manage permissions of any project. You don’t necessarily have to switch it to Custom access control to utilize it. However you must have superuser privileges in order to use it.

Если вам не интересны детали реализации, и вы хотите создать достаточно простую конфигурацию на основе значений по умолчанию или у вас нет доступа ко всему установленному Weblate (например, на Hosted Weblate), пожалуйста, обратитесь к разделу Управление контролем доступа для каждого проекта в документации.

Управление разрешениями по всему сайту

Чтобы управлять разрешениями сразу для всего экземпляра, добавьте пользователей в соответствующие команды по умолчанию:

Вы должны сохранять все проекты настроенными как публичные (смотрите раздел Контроль доступа к проекту), иначе разрешения, предоставляемые участием в командах пользователей и рецензенты, не будут иметь никакого эффекта.

Вы также можете предоставить некоторые дополнительные разрешения по своему выбору командам по умолчанию. Например, вы можете дать разрешение на управление снимками экрана всем пользователям.

Вы также можете определить некоторые новые пользовательские команды. Если вы хотите продолжать управлять всеми разрешениями на сайте для этих команд, выберите соответствующее значение для «Выбор проекта» (например, «Все проекты» или «Все открытые проекты»).

Особые разрешения для определённых языков, компонентов или проектов

Вы можете создавать собственные специальные команды для управления разрешениями для отдельных объектов, таких как языки, компоненты и проекты. Хотя эти команды могут предоставлять только дополнительные привилегии, вы не можете отменить разрешение, предоставленное командами для всего сайта или проекта, добавив другую пользовательскую команду.

Пример:

Restricting translation to Czech to a selected set of translators, (while keeping translations to other languages public):

  1. Remove the permission to translate Czech from all users. In the default configuration this can be done by altering the Users default team.

    Группа Пользователи

    Выбор языка

    Как определено

    Языки

    Все, кроме чешского

  2. Добавите специальную команду для переводчиков на чешский.

    Группа Чешские переводчики

    Роли

    Опытные пользователи

    Выбор проекта

    Все публичные проекты

    Выбор языка

    Как определено

    Языки

    Чешский

  3. Добавьте пользователей, которым вы хотите предоставить разрешения, в эту команду.

Management permissions this way is powerful, but can be quite a tedious job. You can only delegate it to other users by granting them Superuser status.

Пользователи, роли, команды и разрешения

Модели авторизации состоят из нескольких объектов:

Разрешение

Individual permission defined by Weblate. Permissions cannot be assigned to users, only through assignment of roles.

Роль

A role defines a set of permissions (and can be reused in several places).

Пользователь

A user can belong to several teams.

Группа

Groups connect roles and users with authentication objects (projects, languages, components, and component lists).

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

Примечание

Группа может не иметь назначенных ей ролей, в этом случае предполагается доступ к просмотру проекта любым желающим (см. ниже).

Project-browsing access

Пользователь должен быть членом группы, связанной с проектом или с каким-либо компонентом внутри проекта. Чтобы получить доступ к просмотру, никаких специальных разрешений не требуется, достаточно только членства в группе (этот факт используется для создаваемой по умолчанию группы просматривающих, смотрите раздел Список команд).

Component-browsing access

Granting browsing access to a user in one project gives it access to any component with derived browsing permissions. With Ограниченный доступ on, access to components (or component lists) are granted explicitly.

Область действия команд

Область действия разрешений, назначенных ролями в группах, применяется по следующим правилам:

  • Если группа указывает какой-либо список компонентов, то все разрешения, предоставленные членам этой группы, предоставляются для всех компонентов в списках компонентов, прикреплённых к группе, и доступ без дополнительных разрешений предоставляется для всех проектов, в которых находятся эти компоненты. Компоненты и проекты игнорируются.

    Использование огромных списков компонентов может сказаться на производительности, поэтому вместо этого рассмотрите возможность предоставления доступа через проекты.

  • Если в группе указаны какие-либо компоненты, то все разрешения, данные членам этой группы, предоставляются для всех компонентов, присоединённых к группе, и доступ без дополнительных разрешений предоставляется для всех проектов, в которых находятся эти компоненты. Проекты игнорируются.

  • В противном случае, если группа указывает какие-либо проекты, либо прямо перечислив их, либо установив выбор проекта в значение типа «Все публичные проекты», все эти разрешения применяются ко всем проектам, что фактически предоставляет одинаковые разрешения на доступ ко всем проектам unrestricted components.

  • Ограничения, накладываемые группой языков, применяются отдельно, когда проверяется, имеет ли пользователь доступ к выполнению определённых действий. А именно, они применяются только к действиям, непосредственно связанным с самим процессом перевода, таким как рецензирование, сохранение переводов, добавление предложений и т.д.

Подсказка

Для автоматического включения всех языков или проектов используйте переключатели Выбор языка или Выбор проекта.

Пример:

A project foo with the components: foo/bar and foo/baz, with reviewing and management rights, in the following team:

Группа Испанские администраторы-рецензенты

Роли

Рецензирование строк, Управление репозиторием

Компоненты

foo/bar

Языки

Испанский

Members of that team will have these permissions (assuming the default role settings):

  • Общий (просмотровый) доступ ко всему проекту foo, включая оба компонента в нём: foo/bar и foo/baz.

  • Рецензирование строк в испанском переводе foo/bar (не в других местах).

  • Управление VCS для всего репозитория foo/bar, например, коммит ожидающий изменений, сделанных переводчиками для всех языков.

Автоматическое назначение команд

При редактировании команды можно указать автоматическое назначение, которое представляет собой список регулярных выражений, используемых для автоматического назначения вновь созданных пользователей в команду на основе их адресов электронной почты. Это назначение происходит только при создании учётной записи.

Наиболее часто эта функция используется для назначения всех новых пользователей в некоторую команду по умолчанию. Такое поведение используется для команд по умолчанию пользователей и гостей (см. Список команд). Используйте регулярное выражение ^.*$ для соответствия всем пользователям.

Другим вариантом использования этой опции может быть предоставление дополнительных привилегий сотрудникам вашей компании по умолчанию. Если предположить, что все они используют корпоративные адреса электронной почты в вашем домене, то это можно сделать с помощью выражения типа ^.*@моякомпания.com.

Примечание

При выполнении миграций автоматическое назначение для групп пользователей и просматривающих всегда пересоздаётся при переходе с одной версии Weblate на другую. В случае, если вы хотите его отключить, просто задайте для него регулярное выражение ^$ (которому не будет соответствовать ничего).

Примечание

На данный момент не существует способа массового добавления уже существующих пользователей в какую-либо группу через пользовательский интерфейс. Для этого вы можете прибегнуть к использованию функции REST API.

Команды и роли по умолчанию

После установки создаётся набор команд по умолчанию (см. Список команд).

Эти роли и группы создаются во время установки. Встроенные роли всегда приводятся в актуальное состояние при процессе миграции базы данных во время обновления. Вы не можете изменить их, пожалуйста, создайте новую роль, если вы хотите определить свой собственный набор разрешений.

Список привилегий

Область

Разрешение

Встроенные роли

Тарифный план (смотрите раздел Выставление счетов)

Просмотр платёжной информации

Администрирование, Тарифный план

Изменения

Скачивание изменений

Администрирование

Комментарии

Публикация комментариев

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Удаление комментариев

Администрирование

Разрешить комментарий

Administration, Review strings

Компонент

Правка настроек компонентов

Администрирование

Блокировка компонента от перевода

Administration, Manage repository

Словарь

Добавление записей в словарь

Administration, Manage glossary, Power user

Добавление терминологии в словарь

Administration, Manage glossary

Правка записей словаря

Administration, Manage glossary, Power user

Удаление записей из словаря

Administration, Manage glossary, Power user

Загрузка записей в словарь

Administration, Manage glossary, Power user

Автоматические советы

Использовать автоматические советы

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Память переводов

Правка памяти переводов

Administration, Manage translation memory

Удаление памяти переводов

Administration, Manage translation memory

Проекты

Правка настроек проекта

Администрирование

Управление доступом к проекту

Администрирование

Отчёты

Скачивание отчётов

Администрирование

Снимки экрана

Добавление снимков экрана

Administration, Manage screenshots

Править снимок экрана

Administration, Manage screenshots

Удалить снимок экрана

Administration, Manage screenshots

Исходные строки

Правка дополнительных свойств строки

Administration, Edit source

Строки

Добавление новой строки

Администрирование

Удаление строки

Администрирование

Отказ от проверки

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Правка строк

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Рецензирование строк

Administration, Review strings

Правка строк, когда предложения являются обязательными

Administration, Review strings

Правка исходных строк

Administration, Edit source, Power user

Предложения

Принятие предложения

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Добавление предложения

Administration, Edit source, Add suggestion, Power user, Review strings, Translate

Удаление предложения

Администрация, Опытный пользователь

Голосование за предложения

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Переводы

Добавление языка для перевода

Administration, Power user, Manage languages

Производство автоматического перевода

Administration, Automatic translation

Удаление существующего перевода

Administration, Manage languages

Скачать файл перевода

Administration, Edit source, Access repository, Power user, Review strings, Translate, Manage languages

Добавление нескольких языков для перевода

Administration, Manage languages

Загрузки

Задание автора загружаемого перевода

Администрирование

Перезапись существующих строк при загрузке новых

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

Загрузка переводов

Администрирование, Правка источника, Опытный пользователь, Рецензирование строк, Перевод

VCS

Доступ к внутреннему репозиторию

Administration, Access repository, Power user, Manage repository

Коммит изменений во внутренний репозиторий

Administration, Manage repository

Отправка изменений из внутреннего репозитория

Administration, Manage repository

Сброс изменений во внутреннем репозитории

Administration, Manage repository

Просмотр расположения вышестоящего репозитория

Administration, Access repository, Power user, Manage repository

Обновление внутреннего репозитория

Administration, Manage repository

Привилегии для всего сайта

Использование интерфейса управления

Добавление новых проектов

Add new projects

Добавление определений языка

Управление определениями языков

Управление пользователями

Управление пользователями

Управление ролями

Управление объявлениями

Управление памятью переводов

Управление автоматизированным переводом

Управление списками компонентов

Управление тарифами

Управление надстройками для всего сайта

Примечание

Site-wide privileges are not granted to any default role. These are powerful and quite close to the Superuser status. Most of them affect all projects in your Weblate installation.

Список встроенных ролей

Администрация

  • View billing info

  • Download changes

  • Post comment

  • Delete comment

  • Resolve comment

  • Edit component settings

  • Lock component, preventing translations

  • Add glossary entry

  • Delete glossary entry

  • Edit glossary entry

  • Add glossary terminology

  • Upload glossary entries

  • Use automatic suggestions

  • Delete translation memory

  • Edit translation memory

  • Edit project settings

  • Manage project access

  • Download reports

  • Add screenshot

  • Delete screenshot

  • Edit screenshot

  • Edit additional string info

  • Accept suggestion

  • Add suggestion

  • Delete suggestion

  • Vote on suggestion

  • Add language for translation

  • Add several languages for translation

  • Perform automatic translation

  • Delete existing translation

  • Download translation file

  • Add new string

  • Dismiss failing check

  • Remove a string

  • Edit strings

  • Edit string when suggestions are enforced

  • Review strings

  • Edit source strings

  • Define author of uploaded translation

  • Overwrite existing strings with upload

  • Upload translations

  • Access the internal repository

  • Commit changes to the internal repository

  • Push change from the internal repository

  • Reset changes in the internal repository

  • Update the internal repository

  • View upstream repository location

Edit source

  • Post comment

  • Use automatic suggestions

  • Edit additional string info

  • Accept suggestion

  • Add suggestion

  • Vote on suggestion

  • Download translation file

  • Dismiss failing check

  • Edit strings

  • Edit source strings

  • Overwrite existing strings with upload

  • Upload translations

Add suggestion

  • Add suggestion

Access repository

  • Download translation file

  • Access the internal repository

  • View upstream repository location

Manage glossary

  • Add glossary entry

  • Delete glossary entry

  • Edit glossary entry

  • Add glossary terminology

  • Upload glossary entries

Опытный пользователь

  • Post comment

  • Add glossary entry

  • Delete glossary entry

  • Edit glossary entry

  • Upload glossary entries

  • Use automatic suggestions

  • Accept suggestion

  • Add suggestion

  • Delete suggestion

  • Vote on suggestion

  • Add language for translation

  • Download translation file

  • Dismiss failing check

  • Edit strings

  • Edit source strings

  • Overwrite existing strings with upload

  • Upload translations

  • Access the internal repository

  • View upstream repository location

Review strings

  • Post comment

  • Resolve comment

  • Use automatic suggestions

  • Accept suggestion

  • Add suggestion

  • Vote on suggestion

  • Download translation file

  • Dismiss failing check

  • Edit strings

  • Edit string when suggestions are enforced

  • Review strings

  • Overwrite existing strings with upload

  • Upload translations

Перевести

  • Post comment

  • Use automatic suggestions

  • Accept suggestion

  • Add suggestion

  • Vote on suggestion

  • Download translation file

  • Dismiss failing check

  • Edit strings

  • Overwrite existing strings with upload

  • Upload translations

Manage languages

  • Add language for translation

  • Add several languages for translation

  • Delete existing translation

  • Download translation file

Automatic translation

  • Perform automatic translation

Manage translation memory

  • Delete translation memory

  • Edit translation memory

Manage screenshots

  • Add screenshot

  • Delete screenshot

  • Edit screenshot

Manage repository

  • Lock component, preventing translations

  • Access the internal repository

  • Commit changes to the internal repository

  • Push change from the internal repository

  • Reset changes in the internal repository

  • Update the internal repository

  • View upstream repository location

Billing

  • View billing info

Add new projects

  • Add new projects

Список команд

Следующие группы будут созданы после установки (или после выполнения команды setupgroups) и вы можете их изменять. Однако, если вы удалите или переименуете их, то они могут быть воссозданы в процессе миграции на новую версию.

Гости

Определяет разрешения для неавторизованных пользователей.

Эта группа содержит только анонимных пользователей (смотрите параметр ANONYMOUS_USER_NAME).

Remove roles from this team to limit permissions for non-authenticated users.

Роли по умолчанию: Добавление предложений, Доступ к репозиторию

Просматривающие

This role ensures the visibility of public projects to all users. By default, all users are members of this team.

По умолчанию автоматическое назначение команды делает все новые учётные записи членами этой команды при их присоединении.

Роли по умолчанию: нет

Пользователи

Стандартная группа для всех пользователей.

По умолчанию автоматическое назначение команды делает все новые учётные записи членами этой команды при их присоединении.

Роли по умолчанию: Опытный пользователь

Рецензенты

Группа для рецензентов (смотрите раздел Рабочие процессы перевода).

Роли по умолчанию: Рецензирование строк

Управляющие

Группа для администраторов.

Роли по умолчанию: Администрирование

Создатели проекта

Добавлено в версии 5.1.

Пользователи которые могут создавать новые проекты.

Default roles: Add new projects

Предупреждение

Never remove the predefined Weblate teams and users, as that can lead to unexpected problems! If you have no use for them, simply remove all their privileges instead.

Дополнительные ограничения доступа

Если вы хотите использовать вашу установку Weblate менее публично, т.е. допускать новых пользователей только по приглашениям, это можно сделать, настроив Weblate таким образом, чтобы доступ к нему имели только известные пользователи. Для этого вы можете установить REGISTRATION_OPEN в False, чтобы предотвратить регистрацию любых новых пользователей, и установить REQUIRE_LOGIN в /.*, чтобы требовать авторизацию для доступа ко всем страницам сайта. В принципе, это способ заблокировать установку Weblate.

Подсказка

Вы можете использовать встроенный Приглашение новых пользователей для добавления новых пользователей.