Контроль доступа¶
Weblate поставляется с детальной системой привилегий, позволяющей назначать права пользователя для всего экземпляра с применением заданных ролей, или назначать группы прав пользователям для всех действий, определённых проектов, компонентов, словарей и т.д.
Контроль доступа к проекту¶
Примечание
Проекты, использующие бесплатный план Libre на Hosted Weblate, всегда являются открытыми. Вы можете переключиться на платный план, если хотите ограничить доступ к своему проекту.
Ограничивайте доступ пользователей к отдельным проектам, выбрав другой тип настройки Контроль доступа. Возможные варианты:
- Публичный
Видно всем.
Любой авторизованный пользователь может внести свой вклад.
Репозиторий СКВ может быть доступен всем.
Выберите этот вариант для проектов с открытым исходным кодом или если ваш экземпляр Weblate является закрытым или заблокированным.
- Защищённый
Видно всем.
Только избранные пользователи могут внести свой вклад.
Только избранные пользователи могут получить доступ к репозиторию системы контроля версий.
Выберите этот вариант, чтобы обеспечить видимость, но при этом контролировать, кто может внести свой вклад.
- Приватный
Видно только избранным пользователям.
Только избранные пользователи могут внести свой вклад.
Только избранные пользователи могут получить доступ к репозиторию системы контроля версий.
Выберите это для проектов, которые вообще не должны публиковаться.
- Пользовательский
Видно только избранным пользователям.
Только избранные пользователи могут внести свой вклад.
Только избранные пользователи могут получить доступ к репозиторию системы контроля версий.
Недоступно на Hosted Weblate.
Вам нужно будет настроить все разрешения, используя Контроль доступа на всём сайте.
Выберите это на своём собственном экземпляре Weblate, если вы хотите определить доступ определённым, тонко настраиваемым способом.
Контроль доступа можно изменить на вкладке «Доступ» конфигурации («Операции» ↓ «Настройки») каждого соответствующего проекта.
Значение по умолчанию можно изменить с помощью параметра DEFAULT_ACCESS_CONTROL.
Примечание
Даже статистика приватных проектов учитывается в общей статистике сайта и сводке по языкам. При этом не раскрываются названия проектов и любая другая информация.
Примечание
Администраторы экземпляров могут изменять стандартные наборы разрешений, доступные пользователям в проектах Public, Protected и Private с помощью custom settings.
См. также
Управление контролем доступа для каждого проекта¶
Для`публичных`, защищённых и частных проектов:
Предоставление пользователям Manage project access (см. Список привилегий) позволяет им прикрепить других пользователей к проектам Проекты, Защищенные и Приватные (но не Заказные), добавляя их в команды.
Это стандартные команды, предоставляемые Weblate; команды могут быть добавлены или изменены пользователями с достаточными привилегиями:
- Администрация
Все разрешения, доступные для проекта.
- Рецензирование
Одобрять переводы на стадии рецензирования.
Доступно только, если включено review workflow.
Только для проектов защищённых и частных:
- Перевести
Переводить проект и загружать переводы, сделанные в автономном режиме.
- Источники
Редактировать исходные строки (если это разрешено в project settings) и информацию об исходных строках.
- Языки
Управление языками перевода (добавление или удаление переводов).
- Словарь
Управление словарём (добавление, удаление и загрузка записей).
- Память
Управление памятью переводов.
- Снимки экрана
Управление снимками экрана (добавление, удаление и связывание их с исходными строками).
- Автоматический перевод
Возможно использовать автоматический перевод.
- VCS
Управление системой контроля версиями (VCS) и доступ к хранилищу исходного кода.
- Оплата
Доступ к информации о выставлении счетов и настройкам (см. Выставление счетов).
Эти функции доступны на странице Контроль доступа в меню проекта Операции ↓ Пользователи.
Подсказка
Вы можете ограничить команды языками или компонентами и прикрепить к ним определенные роли доступа (см. Список привилегий).
Администраторы команд¶
Добавлено в версии 4.15.
У каждой команды могут быть администраторы, которые могут добавлять и удалять пользователей в команде.
Это полезно в том случае, если вы хотите создать самоуправляемые команды.
Приглашение новых пользователей¶
При добавлении существующих пользователей им будет отправлено приглашение для подтверждения. С помощью настройки REGISTRATION_OPEN администратор может также приглашать новых пользователей по электронной почте. Приглашённые пользователи должны пройти процесс регистрации, чтобы получить доступ к проекту.
Для этого не требуется иметь какие-либо привилегии для всего сайта, достаточно разрешения на управление доступом в рамках проекта (например, членство в команде администраторов).
Подсказка
Если приглашённый пользователь пропустил срок действия приглашения, необходимо создать новое приглашение.
Такие же приглашения общесайтово доступны из интерфейса управления на вкладке Пользователи. Как администраторы проекта, так и администраторы сайта могут также приглашать несколько пользователей одновременно, вставляя через пробел адреса электронной почты. Все приглашения, созданные одним массовым действием, используют выбранную команду, а общесайтовые массовые приглашения также применяют выбранный флаг суперпользователя.
Общесайтовое управление пользователями контролируется глобальным разрешением user.edit. В отличие от управления доступом к проекту, это доверенное административное разрешение, которое позволяет редактировать учётные записи пользователей во всём экземпляре, включая назначение общесайтовых команд и предоставление статуса суперпользователя управляемой учётной записи, даже собственной учётной записи вызывающего.
Массовые приглашения обрабатываются по отдельности. Недействительные адреса и адреса с уже ожидающим приглашением пропускаются, при этом действительные приглашения всё равно создаются и отправляются.
Изменено в версии 5.0: Теперь Weblate не создаёт автоматически учётные записи и не добавляет пользователей в команды. Это происходит только после подтверждения пользователя.
Блокирование пользователей¶
Добавлено в версии 4.7.
Если пользователи плохо ведут себя в вашем проекте, вы можете запретить им вносить свой вклад. Заблокировав соответствующие разрешения, пользователи смогут видеть проект, но не смогут вносить свой вклад.
Управление разрешениями для каждого проекта¶
Вы можете установить для своих проектов параметры Protected или Private (см. Контроль доступа к проекту), а также manage users access для каждого проекта.
По умолчанию это не позволяет Weblate предоставлять доступ, предоставляемый Пользователям и Просматривающим команды по умолчанию из-за собственной настройки в этих командах. Это не мешает вам предоставлять права доступа к этим проектам в масштабах всего сайта, изменив команды по умолчанию, создав новую или создав дополнительные пользовательские настройки для отдельного компонента, как описано ниже в Контроль доступа на всём сайте.
Одним из основных преимуществ управления правами доступа через пользовательский интерфейс Weblate является то, что вы можете делегировать его другим пользователям, не наделяя их привилегиями суперпользователя. Для этого добавьте их в команду Администрации проекта.
Эта делегация в рамках проекта отделена от общесайтового разрешения user.edit. Членство в команде Управляющие проекта позволяет управлять доступом только для этого проекта, в то время как user.edit предоставляет общесайтовое управление пользователями в интерфейсе Weblate и API и должно назначаться только полностью доверенным администраторам сайта.
Токены доступа для каждого проекта¶
Добавлено в версии 4.10.
На вкладке API access можно определить токены доступа, привязанные к проекту. У токенов API может быть установлен срок действия, а их разрешения могут быть настроены членами команды так же, как и у пользователей.
Контроль доступа на всём сайте¶
Примечание
Эта функция недоступна на Hosted Weblate.
Система разрешений основана на ролях, определяющих набор разрешений, и командах, связывающих роли с пользователями и переводами, подробнее читайте на Пользователи, роли, команды и разрешения.
Самые мощные возможности системы управления доступом Weblate можно настроить на сайте Интерфейс управления. С его помощью вы можете управлять разрешениями любого проекта. Чтобы использовать его, не обязательно переходить на Custom access control. Однако для ее использования вы должны обладать правами суперпользователя.
Если вам не интересны детали реализации, и вы хотите создать достаточно простую конфигурацию на основе значений по умолчанию или у вас нет доступа ко всему установленному Weblate (например, на Hosted Weblate), пожалуйста, обратитесь к разделу Управление контролем доступа для каждого проекта в документации.
Управление разрешениями по всему сайту¶
Чтобы управлять разрешениями сразу для всего экземпляра, добавьте пользователей в соответствующие команды по умолчанию:
Пользователи (по умолчанию это делается с помощью автоматического назначения команды).
Рецензенты (если вы используете процесс рецензирования с выделенными рецензентами).
Управляющие (если вы хотите делегировать большую часть операций по управлению кому-то другому).
Вы должны сохранять все проекты настроенными как публичные (см. Контроль доступа к проекту), иначе разрешения, предоставляемые участием в командах пользователей и рецензенты, не будут иметь никакого эффекта.
Вы также можете предоставить некоторые дополнительные разрешения по своему выбору командам по умолчанию. Например, вы можете дать разрешение на управление снимками экрана всем пользователям.
Вы также можете определить некоторые новые пользовательские команды. Если вы хотите продолжать управлять всеми разрешениями на сайте для этих команд, выберите соответствующее значение для «Выбор проекта» (например, «Все проекты» или «Все открытые проекты»).
Особые разрешения для определённых языков, компонентов или проектов¶
Вы можете создавать собственные специальные команды для управления разрешениями для отдельных объектов, таких как языки, компоненты и проекты. Хотя эти команды могут предоставлять только дополнительные привилегии, вы не можете отменить разрешение, предоставленное командами для всего сайта или проекта, добавив другую пользовательскую команду.
Пример:
Ограничение перевода на чешский язык для выбранного круга переводчиков (при этом переводы на другие языки остаются открытыми):
Снимите разрешение на перевод Чешского языка со всех пользователей. В конфигурации по умолчанию это можно сделать, изменив параметр Пользователи default team.
Группа Пользователи¶ Выбор языка
Как определено
Языки
Все, кроме чешского
Добавите специальную команду для переводчиков на чешский.
Группа Чешские переводчики¶ Роли
Опытные пользователи
Выбор проекта
Все публичные проекты
Выбор языка
Как определено
Языки
Чешский
Добавьте пользователей, которым вы хотите предоставить разрешения, в эту команду.
Управление разрешениями таким способом - мощная, но довольно утомительная работа. Вы можете делегировать ее другим пользователям, предоставив им состояние Суперпользователя.
Пользователи, роли, команды и разрешения¶
Модели авторизации состоят из нескольких объектов:
- Разрешение
Индивидуальное разрешение, определяемое Weblate. Разрешения нельзя прикрепить к пользователям, только через прикрепление ролей.
- Роль
Роль определяет набор разрешений (и может быть использована повторно в нескольких местах).
- Пользователь
Пользователь может состоять в нескольких командах.
- Группа
Группы связывают роли и пользователей с объектами авторизации (проектами, языками, компонентами и списками компонентов).
Примечание
Группа может не иметь назначенных ей ролей, в этом случае предполагается доступ к просмотру проекта любым желающим (см. ниже).
Доступ к просмотру проектов¶
Пользователь должен быть членом группы, связанной с проектом или с каким-либо компонентом внутри проекта. Чтобы получить доступ к просмотру, никаких специальных разрешений не требуется, достаточно только членства в группе (этот факт используется для создаваемой по умолчанию группы просматривающих, см. Список команд).
Доступ к просмотру компонентов¶
Предоставление доступа к обзору пользователю в одном проекте дает ему доступ к любому компоненту с производными разрешениями на просмотр. При вкл. Ограниченный доступ доступ к компонентам (или спискам компонентов) предоставляется в явном виде.
Область действия команд¶
Область действия разрешений, назначенных ролями в группах, применяется по следующим правилам:
Если группа указывает какой-либо список компонентов, то все разрешения, предоставленные членам этой группы, предоставляются для всех компонентов в списках компонентов, прикреплённых к группе, и доступ без дополнительных разрешений предоставляется для всех проектов, в которых находятся эти компоненты. Компоненты и проекты игнорируются.
Использование огромных списков компонентов может сказаться на производительности, поэтому вместо этого рассмотрите возможность предоставления доступа через проекты.
Если в группе указаны какие-либо компоненты, то все разрешения, данные членам этой группы, предоставляются для всех компонентов, присоединённых к группе, и доступ без дополнительных разрешений предоставляется для всех проектов, в которых находятся эти компоненты. Проекты игнорируются.
В противном случае, если группа указывает какие-либо проекты, либо прямо перечислив их, либо установив выбор проекта в значение типа «Все публичные проекты», все эти разрешения применяются ко всем проектам, что фактически предоставляет одинаковые разрешения на доступ ко всем проектам unrestricted components.
The restrictions imposed by a team’s Languages are applied separately, when it’s verified if a user has access to perform certain actions. Namely, it’s applied only to actions directly related to the translation process itself like reviewing, saving translations, adding suggestions, etc.
Подсказка
Для автоматического включения всех языков или проектов используйте переключатели Выбор языка или Выбор проекта.
Пример:
Проект
fooс компонентами:foo/barиfoo/baz, с правами рецензирования и управления, в следующей команде:
Группа Испанские администраторы-рецензенты¶ Роли
Рецензирование строк, Управление репозиторием
Компоненты
foo/bar
Языки
Испанский
Члены этой команды будут иметь эти разрешения (при настройках роли по умолчанию):
Общий (просмотровый) доступ ко всему проекту
foo, включая оба компонента в нём:foo/barиfoo/baz.Рецензирование строк в испанском переводе
foo/bar(не в других местах).Управление системой контроля версий для всего репозитория
foo/bar, например, коммит ожидающий изменений, сделанных переводчиками для всех языков.
Автоматическое назначение команд¶
При редактировании команды можно указать автоматическое назначение, которое представляет собой список регулярных выражений, используемых для автоматического назначения вновь созданных пользователей в команду на основе их адресов электронной почты. Это назначение происходит только при создании учётной записи.
Наиболее часто эта функция используется для назначения всех новых пользователей в некоторую команду по умолчанию. Такое поведение используется для команд по умолчанию пользователей и гостей (см. Список команд). Используйте регулярное выражение ^.*$ для соответствия всем пользователям.
Другим вариантом использования этой опции может быть предоставление дополнительных привилегий сотрудникам вашей компании по умолчанию. Если предположить, что все они используют корпоративные адреса электронной почты в вашем домене, то это можно сделать с помощью выражения типа ^.*@моякомпания.com.
Примечание
При выполнении миграций автоматическое назначение для групп пользователей и просматривающих всегда пересоздаётся при переходе с одной версии Weblate на другую. В случае, если вы хотите его отключить, просто задайте для него регулярное выражение ^$ (которому не будет соответствовать ничего).
Примечание
Массовое приглашение через пользовательский интерфейс создаёт приглашения. Существующие пользователи всё равно должны подтвердить приглашение, прежде чем стать членами команды.
Команды и роли по умолчанию¶
После установки создаётся набор команд по умолчанию (см. Список команд).
Эти роли и группы создаются во время установки. Встроенные роли всегда приводятся в актуальное состояние при процессе миграции базы данных во время обновления. Вы не можете изменить их, пожалуйста, создайте новую роль, если вы хотите определить свой собственный набор разрешений.
Список привилегий¶
Область |
Разрешение |
Встроенные роли |
|---|---|---|
Изменения |
Скачивание изменений |
Администрирование |
Комментарии |
Публикация комментариев |
Администрирование |
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Удаление комментариев |
Администрирование |
|
Разрешить комментарий |
Администрирование |
|
Координатор перевода |
||
Рецензирование строк |
||
Компонент |
Правка настроек компонентов |
Администрирование |
Блокировка компонента от перевода |
Администрирование |
|
Управление репозиторием |
||
Словарь |
Добавление записей в словарь |
Администрирование |
Управление словарём |
||
Опытный пользователь |
||
Координатор перевода |
||
Добавление терминологии в словарь |
Администрирование |
|
Управление словарём |
||
Координатор перевода |
||
Правка записей словаря |
Администрирование |
|
Управление словарём |
||
Опытный пользователь |
||
Координатор перевода |
||
Удаление записей из словаря |
Администрирование |
|
Управление словарём |
||
Опытный пользователь |
||
Координатор перевода |
||
Загрузка записей в словарь |
Администрирование |
|
Управление словарём |
||
Опытный пользователь |
||
Координатор перевода |
||
Автоматические советы |
Использовать автоматические советы |
Администрирование |
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Память переводов |
Правка памяти переводов |
Администрирование |
Управление памятью переводов |
||
Удаление памяти переводов |
Администрирование |
|
Управление памятью переводов |
||
Проекты |
Правка настроек проекта |
Администрирование |
Управление доступом к проекту |
Администрирование |
|
Отчёты |
Скачивание отчётов |
Администрирование |
Снимки экрана |
Добавление снимков экрана |
Администрирование |
Координатор перевода |
||
Управление снимками экрана |
||
Править снимок экрана |
Администрирование |
|
Координатор перевода |
||
Управление снимками экрана |
||
Удалить снимок экрана |
Администрирование |
|
Координатор перевода |
||
Управление снимками экрана |
||
Исходные строки |
Правка дополнительных свойств строки |
Администрирование |
Правка источника |
||
Строки |
Добавление новой строки |
Администрирование |
Удаление строки |
Администрирование |
|
Отказ от проверки |
Администрирование |
|
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Правка строк |
Администрирование |
|
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Рецензирование строк |
Администрирование |
|
Координатор перевода |
||
Рецензирование строк |
||
Массовая правка строк |
Администрирование |
|
Массовое редактирование |
||
Правка строк, когда предложения являются обязательными |
Администрирование |
|
Координатор перевода |
||
Рецензирование строк |
||
Правка исходных строк |
Администрирование |
|
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Предложения |
Принятие предложения |
Администрирование |
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Добавление предложения |
Администрирование |
|
Правка источника |
||
Добавление предложения |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Удаление предложения |
Администрирование |
|
Опытный пользователь |
||
Координатор перевода |
||
Голосование за предложения |
Администрирование |
|
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Переводы |
Добавление языка для перевода |
Администрирование |
Опытный пользователь |
||
Координатор перевода |
||
Управление языками |
||
Производство автоматического перевода |
Администрирование |
|
Автоматический перевод |
||
Удаление существующего перевода |
Администрирование |
|
Управление языками |
||
Скачать файл перевода |
Администрирование |
|
Правка источника |
||
Доступ к репозиторию |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Управление языками |
||
Добавление нескольких языков для перевода |
Администрирование |
|
Управление языками |
||
Загрузки |
Задание автора загружаемого перевода |
Администрирование |
Перезапись существующих строк при загрузке новых |
Администрирование |
|
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
Загрузка переводов |
Администрирование |
|
Правка источника |
||
Опытный пользователь |
||
Координатор перевода |
||
Рецензирование строк |
||
Translate |
||
VCS |
Доступ к внутреннему репозиторию |
Администрирование |
Доступ к репозиторию |
||
Опытный пользователь |
||
Координатор перевода |
||
Управление репозиторием |
||
Коммит изменений во внутренний репозиторий |
Администрирование |
|
Управление репозиторием |
||
Отправка изменений из внутреннего репозитория |
Администрирование |
|
Управление репозиторием |
||
Сброс изменений во внутреннем репозитории |
Администрирование |
|
Управление репозиторием |
||
Просмотр расположения вышестоящего репозитория |
Администрирование |
|
Доступ к репозиторию |
||
Опытный пользователь |
||
Координатор перевода |
||
Управление репозиторием |
||
Обновление внутреннего репозитория |
Администрирование |
|
Управление репозиторием |
||
Объявления |
Опубликовать объявления |
Администрирование |
Координатор перевода |
||
Удаление объявлений |
Администрирование |
|
Координатор перевода |
||
Привилегии для всего сайта |
Использование интерфейса управления |
|
Добавление новых проектов |
Добавление новых проектов |
|
Добавление определений языка |
||
Управление определениями языков |
||
Управление пользователями |
||
Просмотр информации о команде |
||
Управление пользователями |
||
Просмотр пользователя |
||
Управление ролями |
||
Просмотр ролей |
||
Управление объявлениями |
||
Управление памятью переводов |
||
Управление автоматизированным переводом |
||
Управление списками компонентов |
||
Управление тарифами |
||
Управление надстройками для всего сайта |
Примечание
Привилегии для всего сайта не предоставляются никаким умолчательным ролям. Они мощны и достаточно близки к статусу суперпользователя. Большинство из них влияют на все проекты вашей установки Weblate.
Список встроенных ролей¶
Администрация |
|
Правка источника |
|
Добавление предложения |
|
Доступ к репозиторию |
|
Управление словарём |
|
Опытный пользователь |
|
Координатор перевода |
|
Рецензирование строк |
|
Перевести |
|
Управление языками |
|
Массовая правка |
|
Автоматический перевод |
|
Управление памятью переводов |
|
Управление снимками экрана |
|
Управление репозиторием |
|
Добавление новых проектов |
|
Список команд¶
Следующие группы будут созданы после установки (или после выполнения команды setupgroups) и вы можете их изменять. Однако, если вы удалите или переименуете их, то они могут быть воссозданы в процессе миграции на новую версию.
- Гости
Определяет разрешения для неавторизованных пользователей.
Эта группа содержит только анонимных пользователей (см.
ANONYMOUS_USER_NAME).Удалите роли из этой группы, чтобы ограничить разрешения для неавторизированных пользователей.
Роли по умолчанию: Добавление предложений, Доступ к репозиторию
- Просматривающие
Эта роль обеспечивает видимость публичных проектов всем пользователей. По умолчанию, членами этой группы являются все пользователи.
По умолчанию автоматическое назначение команды делает все новые учётные записи членами этой команды при их присоединении.
Роли по умолчанию: нет
- Пользователи
Стандартная группа для всех пользователей.
По умолчанию автоматическое назначение команды делает все новые учётные записи членами этой команды при их присоединении.
Роли по умолчанию: Опытный пользователь
- Рецензенты
Группа для рецензентов (см. Рабочие процессы перевода).
Роли по умолчанию: Рецензирование строк
- Управляющие
Группа для администраторов.
Роли по умолчанию: Администрирование
- Создатели проекта
Добавлено в версии 5.1.
Пользователи которые могут создавать новые проекты.
Роль по умолчанию: Добавление новых проектов
Предупреждение
Никогда не удаляйте предопределённые в Weblate группы и пользователей, поскольку это может привести к неожиданным проблемам! Если они вам не нужны, вы можете просто удалить из них все привилегии.
Дополнительные ограничения доступа¶
Если вы хотите использовать вашу установку Weblate менее публично, т.е. допускать новых пользователей только по приглашениям, это можно сделать, настроив Weblate таким образом, чтобы доступ к нему имели только известные пользователи. Для этого вы можете установить REGISTRATION_OPEN в False, чтобы предотвратить регистрацию любых новых пользователей, и установить REQUIRE_LOGIN в True, чтобы требовать авторизацию для доступа ко всем страницам сайта. В принципе, это способ заблокировать установку Weblate.
Кроме того, изменение DEFAULT_ACCESS_CONTROL на 100 сделает все вновь созданные проекты приватными, что потребует явного предоставления доступа.
Подсказка
Вы можете использовать встроенный Приглашение новых пользователей для добавления новых пользователей.
Истечение срока действия учётных записей¶
Для каждой учётной записи можно установить срок действия. После истечения срока учётная запись будет автоматически отключена. Это используется для Токены доступа для каждого проекта, но может быть применено и для обычных пользователей.