Керування доступом

Weblate постачається із системою прав доступу із багатьма рівнями, які надають змогу визначати права доступу користувача для усього екземпляра системи з наперед заданими ролями, або назначити одну чи більше груп дозволів для користувачів для всього чи для окремих проєктів, компонентів, глосаріїв, і т.д..

Керування доступом на рівні проєкту

Примітка

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

Обмежте доступ користувачів до окремих проєктів, вибравши інший параметр Керування доступом. Доступні наступні варіанти:

Відкритий

Видно всім.

Будь-який авторизований користувач може брати участь.

Сховище VCS може бути відкритим для всіх.

Виберіть цей варіант для проєктів з відкритим кодом або якщо ваш екземпляр Weblate є приватним або таким, доступ до якого заблоковано.

Захищений

Видно всім.

Тільки обрані користувачі можуть брати участь.

Лише вибрані користувачі можуть отримати доступ до сховища VCS.

Виберіть цей варіант, якщо вам потрібна більше доступність, але ви хочете зберігати контроль над тим, хто бере участь у перекладі.

Приватний

Доступно лише вибраним користувачам.

Тільки обрані користувачі можуть брати участь.

Лише вибрані користувачі можуть отримати доступ до сховища VCS.

Виберіть цей варіант для проєктів, які мають бути повністю закритими.

Нетиповий

Доступно лише вибраним користувачам.

Тільки обрані користувачі можуть брати участь.

Лише вибрані користувачі можуть отримати доступ до сховища VCS.

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

Вам доведеться налаштувати усі права доступу за допомогою варіанта Контроль доступу на всьому сайті.

Виберіть цей варіант на вашому власному екземплярі Weblate, якщо хочете визначити доступ у спеціалізований, точно запрограмований спосіб.

Керування доступом може бути змінено на вкладці Доступ налаштувань (УправлінняНалаштування) відповідного проєкту.

../_images/project-access.webp

Типове значення також можна змінити за допомогою DEFAULT_ACCESS_CONTROL.

Примітка

До статистичних даних та резюме щодо мов буде включено навіть статистику проєктів Private. Втім, там не буде назв проєктів або будь-яких інших даних.

Примітка

Набір прав доступу, який типово доступний для користувачів у проєктах Public, Protected і Private, може бути перевизначено адміністратором екземпляра за допомогою нетипових параметрів.

Дивись також

Керування доступом

Керування правами доступу на рівні проєкту

Для проєктів Public, Protected і Private:

Надання користувачам доступу Manage project access (див. Список прав доступу) дозволяє їм призначати інших користувачів до проєктів Public, Protected та Private (але не Custom) шляхом додавання користувачів до команд.

Це — типові команди, що надаються Weblate; команди можуть додаватися користувачами з достатніми дозволами:

Administration

Усі можливі права доступу до проєкту.

Review

Затверджувати переклади у процесі рецензування.

Доступно лише якщо увімкнено робоче середовище з рецензуванням.

Лише для проєктів Protected і Private:

Переклад

Перекладати проєкт і вивантажувати виконані поза межами вебредактора переклади.

Sources

Редагувати початкові рядки (якщо дозволено параметрами проєкту) і дані щодо початкового рядка.

Languages

Керувати мовами перекладу (додавати або вилучати переклади).

Glossary

Змінювати глосарій (додавати або вилучати записи, а також вивантажувати дані).

Memory

Керувати памʼяттю перекладів.

Screenshots

Керувати знімками екрану (додавати і вилучати знімки, а також пов’язувати їх із початковими рядками).

Автоматичний переклад

Може використовувати автоматичний переклад.

VCS

Управляти системою керування версіями та доступатися до експортованого сховища початкового коду.

Оплата

Доступатися до даних щодо фінансових рахунків і параметрів (див. Оплата).

../_images/manage-users.webp

Ці можливості доступні на сторінці Керування доступом з меню проєкту УправлінняКористувачі.

Підказка

Ви можете обмежити команди мовами або складниками і призначити для них ролі доступу (див. Список прав доступу).

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

Added in version 4.15.

У кожної команди може бути адміністратор, який додає і вилучає користувачів у команді. Це корисно, якщо ви хочете побудувати самоврядні команди.

Запрошення нових користувачів

У відповідь на додавання наявних користувачів їм буде надіслано запрошення для підтвердження. За допомогою REGISTRATION_OPEN адміністратор також може запросити нових користувачів електронною поштою. Запрошені користувачі мають завершити процес реєстрації для отримання доступу до проєкту.

Для надсилання запрошення не потрібні права доступу на рівні сайту, достатньо буде прав доступу до керування доступом на рівні проєкту (наприклад, членства у команді Administration).

Підказка

Якщо запрошений користувач пропустить строк чинності запрошення, доведеться створювати нове запрошення.

Подібний тип запрошень доступний і на рівні сайта з інтерфейсу керування на вкладці Користувачі.

Змінено в версії 5.0: Нові версії Weblate не створюватимуть облікові записи і не додаватимуть записи користувачів до команд автоматично. Ці дії буде виконано лише після підтвердження з боку користувача.

Блокування користувачів

Added in version 4.7.

Якщо певні користувачі поводяться недостойно у вашому проєкті, ви можете заблокувати їхню участь. З відповідними дозволами заблоковані користувачі все одно зможуть бачити проєкт, але не зможуть робити свій внесок.

Керування правами доступу на рівні проєктів

Ви можете встановити для своїх проєктів Protected або Private (див. Керування доступом на рівні проєкту), а також :ref:`керувати доступом користувачів <manage-acl>`окремих проєктів.

Типово, це запобігає наданню доступу типовим командам Users and Viewers через власні налаштування цих команд. Це не заборонить вам надавати права доступу до цих проєктів на рівня сайта шляхом зміни параметрів типових групи, створення нової команди або створення додаткових нетипових параметрів для окремого складника, як це описано у розділі Контроль доступу на всьому сайті.

Однією з головних переваг керування правами доступу з інтерфейсу користувача Weblate є те, що ви можете делегувати його іншим користувачам без надання їм прав доступу надкористувача. Для цього додайте користувачів до команди Administration проєкту.

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

Примітка

Ця можливість є недоступною на Hosted Weblate.

Систему прав доступу засновано на ролях, що визначають набір прав доступу, і командах, що пов’язують їх із користувачами та перекладами, див. Користувачі, ролі, команди і права доступу, щоб дізнатися більше.

Найпотужніші можливості поточної версії системи керування доступом Weblate можна налаштувати за допомогою адміністративного інтерфейсу Django. Цей інтерфейс надає змогу керувати правами доступу до будь-якого проєкту. Щоб скористатися ним, не обов’язково перемикатися на керування доступом Custom. Втім, що скористатися цим вам знадобляться права доступу надкористувача.

Якщо вам не цікаві подробиці реалізації і ви просто хочете створити достатньо прості налаштування на основі типових або не маєте доступу на рівні сайта до усього встановленого екземпляра Weblate (зокрема на Hosted Weblate), будь ласка, зверніться до розділу Керування правами доступу на рівні проєкту.

Керування правами доступу на рівні сайта

Для керування правами доступами для усього екземпляра одразу додайте користувачів до відповідних типових команд:

Вам слід зберігати налаштовування усіх проєктів як Public (див. Керування доступом на рівні проєкту). Якщо цього не зробити, загальносайтові права доступу, які надаються членством у командах Users і Reviewers, ні на що не вплинуть.

Крім того, ви можете надати бажані додаткові права доступу типовим командам. Наприклад, ви можете надати права доступу для керування знімками вікон усім учасникам групи Users.

Ви також маєте визначити деякі нові нетипові команди. Якщо ви хочете зберегти керування вашими загальносайтовими правами доступу для цих команд, виберіть відповідне значення для параметра Вибір проєкту (наприклад, Усі проєкти або Усі публічні проєкти).

Нетипові права доступу до мов, складників або проєктів

Ви можете створити ваші власні спеціалізовані команди для керування правами доступу для певних об’єктів, зокрема мов, складників та проєктів. Хоча ці команди можуть додавати лише додаткові права доступу — ви не можете відкликати будь-які права доступу за загальносайтовими командами або командами проєкту додаванням ще однієї нетипової команди.

Приклад:

Обмежити переклад на чеську лише обмеженому набору перекладачів, (а переклади іншими мовами зробити загальнодоступними):

  1. Вилучити права доступу до перекладу Czech для всіх користувачів. За типових налаштувань це можна зробити зміною типової команди Users.

    Група Users

    Вибір мови

    As defined

    Мови

    Усі, окрім Czech

  2. Додати спеціалізовану команду для перекладачів Czech.

    Група Czech translators

    Ролі

    Power users

    Вибір проєкту

    All public projects

    Вибір мови

    As defined

    Мови

    Czech

  3. Додати користувачів, яким ви хочете надати права доступу, до цієї команди.

Керування правами доступу у цей спосіб є потужним, але користуватися ним є марудною справою. Ви можете делегувати його іншому користувачеві лише надавши йому права доступу надкористувача.

Користувачі, ролі, команди і права доступу

Моделі розпізнавання складаються з декількох об’єктів:

Права доступу

Персональні права доступу, які визначаються Weblate. Ви не можете визначати права доступу для користувачів, лише призначати ролі.

Роль

Роль визначає набір прав доступу (і може бути використана у декількох місцях).

Користувач

Користувачі можуть бути учасниками декількох команд одночасно.

Група

Групи поєднують ролі та користувачів з об’єктами автентифікації (проєкти, мови і списки складників).

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

Примітка

Із командою може бути не пов’язано жодних ролей. У цьому випадку програма припускатиме доступ до навігації проєктом для будь-кого (див. нижче).

Доступ до навігації проєктом

Користувач має бути учасником команди, пов’язаної із проєктом або будь-яким складником у проєкті. Участі достатньо — для навігації проєктом не потрібні якісь особливі права доступу (це використано у типовій команді Переглядачі, див. Список команд).

Керування доступом на рівні компонентів

Надання користувачеві доступу до навігації в одному проєкті надає йому доступу до будь-якого складника із похідними правами доступу до навігації. Із увімкненим Обмежений доступ доступ до складників (або списків складників) надається явним чином.

Область команд

Область дії прав доступу, які призначаються ролями у командах, застосовуються такими правилами:

  • Якщо група визначає якийсь Список складників, усі права доступу, надані учасникам цієї групи, надаються для всіх складників у списках складників, пов’язаних із командою, і доступ без додаткових прав доступу надається для всіх проєктів, частиною яких є ці складники. Складники і Проєкти буде проігноровано.

    Використання величезних списків складників може погано позначитися на швидкодії. Будь ласка, спробуйте надавати замість цього доступ на рівні проєктів.

  • Якщо команда визначає якийсь Складник, усі права доступу, надані учасникам цієї команди, надаються для всіх складників, пов’язаних із командою, і доступ без додаткових прав доступу надається для всіх проєктів, частиною яких є ці складники. Проєкти буде проігноровано.

  • Інакше, якщо команда визначає якісь Проєкти, або безпосереднім визначенням їхнього списку, або встановленням для параметра Вибір проєктів значення, подібного до Усі публічні проєкти, усі ці права доступу застосовуються до усіх проєктів, які насправді надають ті самі права доступу для доступу до усіх складників без обмежень проєкту.

  • Обмеження, які накладаються параметром Мови команди, застосовуються окремо, після перевірки, чи має користувач доступ до певних дій. А саме, вони застосовуються лише до дій безпосередньо пов’язаних із самим процесом перекладу, зокрема рецензуванням, збереженням перекладів, додаванням пропозицій тощо.

Підказка

Для автоматизації включення всіх мов або проєктів ви можете скористатися пунктами Вибір мови та Вибір проєкту.

Приклад:

Проєкт щось із такими складниками: щось/десь і щось/там з правами рецензування та керування у такій команді:

Група Spanish Admin-Reviewers

Ролі

Рецензування рядків, Управління сховищем

Складники

щось/десь

Мови

Spanish

Учасники цієї команди матимуть такі права доступу (за умови параметрів типової ролі):

  • Загальний доступ (до навігації) до усього проєкту щось, включно із обома складниками у ньому: щось/десь і щось/там.

  • Рецензування рядків у іспанському перекладі щось/десь (і тільки у ньому).

  • Управління системою керування версіями для усього сховища щось/десь, наприклад внесення зміни з черги, які є результатами роботи перекладачів, для всіх мов.

Автоматичні призначення команд

При редагуванні Команди ви можете вказати Автоматичні призначення, тобто список формальних виразів, які використовуватимуться для автоматичного пов’язування створених записів користувачів до команди на основі адреси електронної пошти. Ця прив’язка виконуватиметься лише під час створення облікового запису.

Найпоширенішим випадком використання для цієї можливості є призначення усіх нових користувачів до певної типової команди. Це використовується для типових команд Користувачі і Гість (див. Список команд). Скористайтеся формальним виразом ^.*$ для встановлення відповідності усім користувачам.

Ще одним випадком використання цього параметра може бути типове надання певних додаткових прав доступу працівникам вашої компанії. Припускаючи, що всі вони користуються корпоративними адресами електронної пошти на вашому домені, досягти цього можна виразом, подібним до ^.*@mycompany.com.

Примітка

Автоматична прив’язка до команд для команд Users і Viewers виконуватиметься завжди при оновленні версії Weblate. Якщо ви хочете вимкнути її, встановіть для формального виразу прив’язки значення ^$, якому не відповідає жоден рядок.

Примітка

У поточній версії немає способу пакетного додавання наявних користувачів до певної команди за допомогою інтерфейсу користувача. Для цього ви можете вдатися до використання програмного інтерфейсу REST.

Типові команди і ролі

Після встановлення буде створено типовий набір команд (див. Список команд).

Ці ролі та команди створюються під час встановлення. Актуальність вбудованих ролей завжди підтримується перенесенням бази даних під час оновлення. Ви не зможете внести зміни. Якщо ви хочете визначити власний набір прав доступу, визначте для нього нову роль.

Список прав доступу

Область

Дозвіл

Вбудовані ролі

Фінансові рахунки (див. Оплата)

Переглянути відомості про оплату

Administration, Billing

Зміни

Завантажити зміни

Administration

Коментарі

Опублікувати коментар

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

Вилучити коментар

Administration

Вирішити коментар

Administration, Review strings

Складник

Змінити налаштування складників

Administration

Блокувати складник, запобігаючи перекладу

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, Edit source, Power user, Review strings, Translate

Памʼять перекладів

Змінити памʼять перекладів

Administration, Manage translation memory

Вилучити памʼять перекладів

Administration, Manage translation memory

Проєкти

Змінити параметри проєкту

Administration

Керувати доступом до проєкту

Administration

Звіти

Завантажити звіти

Administration

Знімки екрана

Додати знімок

Administration, Manage screenshots

Змінити знімок

Administration, Manage screenshots

Видалити знімок

Administration, Manage screenshots

Джерельні рядки

Редагувати додаткові відомості про рядок

Administration, Edit source

Рядки

Додати новий рядок

Administration

Вилучити рядок

Administration

Відхилити невдалу перевірку

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

Змінити рядки

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

Перерити рядки

Administration, Review strings

Змінювати рядок з примусовими пропозиціями

Administration, Review strings

Змінити джерельні рядки

Administration, Edit source, Power user

Пропозиції

Прийняти пропозицію

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

Додати пропозицію

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

Вилучити пропозицію

Administration, Power user

Проголосувати за пропозицію

Administration, Edit source, 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

Вивантаження

Задати творця завантаженого перекладу

Administration

Переписати наявні переклади завантаженням

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

Вивантажити переклади

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

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

Привілеї на рівні сайта

Використовувати інтерфейс керування

Додавати нові проєкти

Додати нові проєкти

Додати визначення мов

Керувати визначеннями мов

Керування командами

Управління користувачами

Керувати ролями

Керувати оголошеннями

Керувати памʼяттю перекладів

Керування автоматизацією

Керувати списками складників

Керування рахунками

Керування додатками для усього сайта

Примітка

Привілеї на рівні сайта не надаються будь-якій типовій ролі. Ці привілеї є доволі широкими і дуже близькими до стану Надкористувача — більшість з них стосуються усіх проєктів у встановленому вами Weblate.

Список вбудованих ролей

Administration

  • Переглянути відомості про оплату

  • 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

  • Додати пропозицію

  • Delete suggestion

  • Vote on suggestion

  • Add language for translation

  • Add several languages for 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

Змінити джерельний рядок

  • Post comment

  • Use automatic suggestions

  • Edit additional string info

  • Accept suggestion

  • Додати пропозицію

  • Vote on suggestion

  • Download translation file

  • Dismiss failing check

  • Edit strings

  • Edit source strings

  • Overwrite existing strings with upload

  • Upload translations

Додати пропозицію

  • Додати пропозицію

Доступ до репозиторію

  • Download translation file

  • Access the internal repository

  • View upstream repository location

Управління глосарієм

  • Add glossary entry

  • Delete glossary entry

  • Edit glossary entry

  • Add glossary terminology

  • Upload glossary entries

Power user

  • Post comment

  • Add glossary entry

  • Delete glossary entry

  • Edit glossary entry

  • Upload glossary entries

  • Use automatic suggestions

  • Accept 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

Рецензування рядків

  • Post comment

  • Resolve comment

  • Use automatic suggestions

  • Accept 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

  • Додати пропозицію

  • Vote on suggestion

  • Download translation file

  • Dismiss failing check

  • Edit strings

  • Overwrite existing strings with upload

  • Upload translations

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

  • Add language for translation

  • Add several languages for translation

  • Delete existing translation

  • Download translation file

Автоматичний переклад

  • Виконати автоматичний переклад

Керувати памʼяттю перекладів

  • Delete translation memory

  • Edit translation memory

Керування знімками екрана

  • Add screenshot

  • Delete screenshot

  • Edit screenshot

Керування репозиторієм

  • 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

Оплата

  • Переглянути відомості про оплату

Додати нові проєкти

  • Додати нові проєкти

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

Під час встановлення (або після виконання setupgroups) буде створено вказані нижче команди. Ви можете внести зміни до цих груп. Втім, під час перенесення даних типові групи, якщо ви вилучите або перейменуєте їх, буде створено повторно.

Guests

Визначає права доступу для користувачів, які не пройшли розпізнавання.

У цій команді містяться записи лише анонімних користувачів (див. ANONYMOUS_USER_NAME).

Вилучати ролі з цієї команди для обмеження прав доступу неавторизованих користувачів.

Типові ролі: Add suggestion, Access repository

Переглядачі

Ця роль забезпечує видимість відкритих проєктів для всіх користувачів. Типово учасниками цієї команди є всі користувачі.

Типово, автоматична прив’язка команд створює усі нові облікові записи учасників цієї команди, коли вони долучаються.

Типові ролі: немає

Users

Типова команда для всіх користувачів.

Типово, автоматична прив’язка команд створює усі нові облікові записи учасників цієї команди, коли вони долучаються.

Типові ролі: Power user

Рецензенти

Група для рецензентів (див. Процеси перекладу).

Типові ролі: Review strings

Керівники

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

Типові ролі: Administration

Творці проєкту

Added in version 5.1.

Користувачі, які можуть створювати нові проєкти.

Типові ролі: Додавати нові проєкти

Попередження

Ніколи не вилучайте попередньо визначені команди та користувачів Weblate, оскільки це може призвести до неочікуваних проблем! Якщо ви не хочете скористатися цими можливостями, просто вилучіть усі привілеї з цих записів.

Додаткові обмеження доступу

Якщо ви хочете скористатися встановленим вами Weblate у менш відкритий спосіб, тобто дозволити нових користувачів лише на основі запрошень, зробити це можна налаштовуванням Weblate так, що до нього матимуть доступ лише відомі користувачі. Для цього ви можете встановити для параметра REGISTRATION_OPEN значення False для запобігання реєстрації будь-яких нових користувачів і встановити для REQUIRE_LOGIN значення /.*, щоб вимагати входу до системи для доступу до усіх сторінок сайта. Це, на базовому рівні, є способом блокування встановленого вами Weblate.

Підказка

Ви можете скористатися вбудованими запрошеннями для додавання нових користувачів.