Керування доступом¶
Weblate постачається із системою прав доступу із багатьма рівнями, які надають змогу визначати права доступу користувача для усього екземпляра системи з наперед заданими ролями, або назначити одну чи більше груп дозволів для користувачів для всього чи для окремих проєктів, компонентів, глосаріїв, і т.д..
Керування доступом на рівні проєкту¶
Примітка
Проєкти, які користуються тарифним планом gratis Libre на Hosted Weblate, завжди Відкриті. Ви можете перемкнутися на платний план, якщо хочете обмежити доступ до вашого проєкту.
Обмежте доступ користувачів до окремих проєктів, вибравши інший параметр Керування доступом. Доступні наступні варіанти:
- Відкритий
Видно всім.
Будь-який авторизований користувач може брати участь.
Сховище VCS може бути відкритим для всіх.
Виберіть цей варіант для проєктів з відкритим кодом або якщо ваш екземпляр Weblate є приватним або таким, доступ до якого заблоковано.
- Захищений
Видно всім.
Тільки обрані користувачі можуть брати участь.
Лише вибрані користувачі можуть отримати доступ до сховища VCS.
Виберіть цей варіант, якщо вам потрібна більше доступність, але ви хочете зберігати контроль над тим, хто бере участь у перекладі.
- Приватний
Доступно лише вибраним користувачам.
Тільки обрані користувачі можуть брати участь.
Лише вибрані користувачі можуть отримати доступ до сховища VCS.
Виберіть цей варіант для проєктів, які мають бути повністю закритими.
- Нетиповий
Доступно лише вибраним користувачам.
Тільки обрані користувачі можуть брати участь.
Лише вибрані користувачі можуть отримати доступ до сховища VCS.
Недоступний на Hosted Weblate.
Вам доведеться налаштувати усі права доступу за допомогою варіанта Контроль доступу на всьому сайті.
Виберіть цей варіант на вашому власному екземплярі Weblate, якщо хочете визначити доступ у спеціалізований, точно запрограмований спосіб.
Access control можна змінити в Access вкладка конфігурації (Operations ↓ Settings) кожного відповідного проекту.
Типове значення також можна змінити за допомогою DEFAULT_ACCESS_CONTROL.
Примітка
До статистичних даних та резюме щодо мов буде включено навіть статистику проєктів Private. Втім, там не буде назв проєктів або будь-яких інших даних.
Примітка
Адміністратори екземплярів можуть змінювати набори дозволів за замовчуванням, доступні користувачам у проектах Public, Protected та Private, використовуючи custom settings.
Дивись також
Керування правами доступу на рівні проєкту¶
Для проєктів Public, Protected і Private:
Надання користувачам доступу Manage project access (див. Список прав доступу) дозволяє їм призначати інших користувачів до проєктів Public, Protected та Private (але не Custom) шляхом додавання користувачів до команд.
Це — типові команди, що надаються Weblate; команди можуть додаватися користувачами з достатніми дозволами:
- Administration
Усі можливі права доступу до проєкту.
- Review
Затверджувати переклади у процесі рецензування.
Доступно, лише якщо увімкнено review workflow.
Лише для проєктів Protected і Private:
- Переклад
Перекладати проєкт і вивантажувати виконані поза межами вебредактора переклади.
- Sources
Редагувати вихідні рядки (якщо це дозволено в project settings) та інформацію про вихідний рядок.
- Languages
Керувати мовами перекладу (додавати або вилучати переклади).
- Glossary
Змінювати глосарій (додавати або вилучати записи, а також вивантажувати дані).
- Memory
Керувати памʼяттю перекладів.
- Screenshots
Керувати знімками екрану (додавати і вилучати знімки, а також пов’язувати їх із початковими рядками).
- Автоматичний переклад
Може використовувати автоматичний переклад.
- VCS
Управляти системою керування версіями та доступатися до експортованого сховища початкового коду.
- Оплата
Доступатися до даних щодо фінансових рахунків і параметрів (див. Оплата).
Ці функції доступні на Access control сторінка в меню проєкту Operations ↓ Users.
Підказка
Ви можете обмежити команди мовами або складниками і призначити для них ролі доступу (див. Список прав доступу).
Адміністратори команд¶
Added in version 4.15.
Кожна команда може мати адміністраторів команди, які можуть додавати та видаляти користувачів у команді.
Це корисно, якщо ви хочете створити самокеровані команди.
Запрошення нових користувачів¶
У відповідь на додавання наявних користувачів їм буде надіслано запрошення для підтвердження. За допомогою REGISTRATION_OPEN адміністратор також може запросити нових користувачів електронною поштою. Запрошені користувачі мають завершити процес реєстрації для отримання доступу до проєкту.
Для надсилання запрошення не потрібні права доступу на рівні сайту, достатньо буде прав доступу до керування доступом на рівні проєкту (наприклад, членства у команді Administration).
Підказка
Якщо запрошений користувач пропустить строк чинності запрошення, доведеться створювати нове запрошення.
Подібні запрошення доступні для всього сайту в інтерфейсі адміністрування на вкладці Користувачі. Як адміністратори проєктів, так і адміністратори сайту можуть також запрошувати одразу декількох користувачів, вставивши адреси електронної пошти, розділені пробілами. Усі запрошення, створені в рамках однієї масової операції, використовують вибрану команду, а масові запрошення для всього сайту також застосовують вибраний прапорець суперкористувача.
Управління користувачами на рівні всього сайту регулюється глобальним дозволом user.edit. На відміну від управління доступом до проектів, це дозвіл адміністратора з високим рівнем довіри, який дозволяє редагувати облікові записи користувачів у всій інстанції, зокрема призначати команди на рівні всього сайту та надавати статус суперкористувача керованому обліковому запису, навіть власному обліковому запису користувача, що виконує виклик.
Масові запрошення обробляються окремо. Недійсні адреси та адреси, на які вже надіслано запрошення, пропускаються, тоді як дійсні запрошення все одно створюються та надсилаються.
Змінено в версії 5.0: Нові версії Weblate не створюватимуть облікові записи і не додаватимуть записи користувачів до команд автоматично. Ці дії буде виконано лише після підтвердження з боку користувача.
Блокування користувачів¶
Added in version 4.7.
Якщо певні користувачі поводяться недостойно у вашому проєкті, ви можете заблокувати їхню участь. З відповідними дозволами заблоковані користувачі все одно зможуть бачити проєкт, але не зможуть робити свій внесок.
Керування правами доступу на рівні проєктів¶
Ви можете встановити для своїх проектів статус Protected або Private (див. Керування доступом на рівні проєкту), а також manage users access для кожного проекту.
За замовчуванням це забороняє Weblate надавати доступ, що надається Користувачами та Переглядачами default teams, через власну конфігурацію цих команд. Це не заважає вам надавати дозволи цим проектам на весь сайт, змінюючи команди за замовчуванням, створюючи нову або створюючи додаткові користувацькі налаштування для окремого компонента, як описано в Контроль доступу на всьому сайті нижче.
Однією з головних переваг керування правами доступу з інтерфейсу користувача Weblate є те, що ви можете делегувати його іншим користувачам без надання їм прав доступу надкористувача. Для цього додайте користувачів до команди Administration проєкту.
Ця делегація повноважень, що діє в межах проекту, відрізняється від загального для всього сайту дозволу user.edit. Членство в команді «Адміністрація» проекту дозволяє керувати доступом лише для цього проекту, тоді як дозвіл user.edit надає можливість керувати користувачами на всьому сайті за допомогою інтерфейсу Weblate та API і повинен надаватися лише повністю довіреним адміністраторам сайту.
Маркери доступу для кожного проекту¶
Added in version 4.10.
Ви можете визначити маркери доступу в межах проекту на вкладці API access. Для токенів API можна встановити дату закінчення терміну дії, а їхні дозволи можна налаштувати членами команди так само, як і для користувачів.
Контроль доступу на всьому сайті¶
Примітка
Ця можливість є недоступною на Hosted Weblate.
Систему прав доступу засновано на ролях, що визначають набір прав доступу, і командах, що пов’язують їх із користувачами та перекладами, див. Користувачі, ролі, команди і права доступу, щоб дізнатися більше.
Найпотужніші функції системи контролю доступу Weblate можна налаштувати в Інтерфейс керування. Ви можете використовувати його для керування дозволами будь-якого проєкту. Вам не обов’язково перемикати його на Custom access control, щоб скористатися ним. Однак, ви повинні мати права суперкористувача, щоб використовувати його.
Якщо вам не цікаві подробиці реалізації і ви просто хочете створити достатньо прості налаштування на основі типових або не маєте доступу на рівні сайта до усього встановленого екземпляра Weblate (зокрема на Hosted Weblate), будь ласка, зверніться до розділу Керування правами доступу на рівні проєкту.
Керування правами доступу на рівні сайта¶
Щоб керувати дозволами для всього екземпляра одночасно, додайте користувачів до відповідних default teams:
Користувачі (це робиться за замовчуванням automatic team assignment).
Рецензенти (якщо ви використовуєте review workflow з виділеними рецензентами).
Managers (якщо ви хочете делегувати більшість дій з керування комусь іншому).
Вам слід зберігати налаштовування усіх проєктів як Public (див. Керування доступом на рівні проєкту). Якщо цього не зробити, загальносайтові права доступу, які надаються членством у командах Users і Reviewers, ні на що не вплинуть.
Крім того, ви можете надати бажані додаткові права доступу типовим командам. Наприклад, ви можете надати права доступу для керування знімками вікон усім учасникам групи Users.
Ви також маєте визначити деякі нові нетипові команди. Якщо ви хочете зберегти керування вашими загальносайтовими правами доступу для цих команд, виберіть відповідне значення для параметра Вибір проєкту (наприклад, Усі проєкти або Усі публічні проєкти).
Нетипові права доступу до мов, складників або проєктів¶
Ви можете створити ваші власні спеціалізовані команди для керування правами доступу для певних об’єктів, зокрема мов, складників та проєктів. Хоча ці команди можуть додавати лише додаткові права доступу — ви не можете відкликати будь-які права доступу за загальносайтовими командами або командами проєкту додаванням ще однієї нетипової команди.
Приклад:
Обмежити переклад на чеську лише обмеженому набору перекладачів, (а переклади іншими мовами зробити загальнодоступними):
Видаліть дозвіл на переклад чеської для всіх користувачів. У конфігурації за замовчуванням це можна зробити, змінивши Users default team.
Група Users¶ Вибір мови
As defined
Мови
Усі, окрім Czech
Додати спеціалізовану команду для перекладачів Czech.
Група Czech translators¶ Ролі
Power users
Вибір проєкту
All public projects
Вибір мови
As defined
Мови
Czech
Додати користувачів, яким ви хочете надати права доступу, до цієї команди.
Керування правами доступу у цей спосіб є потужним, але користуватися ним є марудною справою. Ви можете делегувати його іншому користувачеві лише надавши йому права доступу надкористувача.
Користувачі, ролі, команди і права доступу¶
Моделі розпізнавання складаються з декількох об’єктів:
- Права доступу
Персональні права доступу, які визначаються Weblate. Ви не можете визначати права доступу для користувачів, лише призначати ролі.
- Роль
Роль визначає набір прав доступу (і може бути використана у декількох місцях).
- Користувач
Користувачі можуть бути учасниками декількох команд одночасно.
- Група
Групи поєднують ролі та користувачів з об’єктами автентифікації (проєкти, мови і списки складників).
Примітка
Із командою може бути не пов’язано жодних ролей. У цьому випадку програма припускатиме доступ до навігації проєктом для будь-кого (див. нижче).
Доступ до навігації проєктом¶
Користувач має бути учасником команди, пов’язаної із проєктом або будь-яким складником у проєкті. Участі достатньо — для навігації проєктом не потрібні якісь особливі права доступу (це використано у типовій команді Переглядачі, див. Список команд).
Керування доступом на рівні компонентів¶
Надання користувачеві доступу до навігації в одному проєкті надає йому доступу до будь-якого складника із похідними правами доступу до навігації. Із увімкненим Обмежений доступ доступ до складників (або списків складників) надається явним чином.
Область команд¶
Область дії прав доступу, які призначаються ролями у командах, застосовуються такими правилами:
Якщо група визначає якийсь Список складників, усі права доступу, надані учасникам цієї групи, надаються для всіх складників у списках складників, пов’язаних із командою, і доступ без додаткових прав доступу надається для всіх проєктів, частиною яких є ці складники. Складники і Проєкти буде проігноровано.
Використання величезних списків складників може погано позначитися на швидкодії. Будь ласка, спробуйте надавати замість цього доступ на рівні проєктів.
Якщо команда визначає якийсь Складник, усі права доступу, надані учасникам цієї команди, надаються для всіх складників, пов’язаних із командою, і доступ без додаткових прав доступу надається для всіх проєктів, частиною яких є ці складники. Проєкти буде проігноровано.
В іншому випадку, якщо команда вкаже будь-які Projects, або безпосередньо перерахувавши їх, або встановивши Projects selection на значення типу All public projects, усі ці дозволи застосовуються до всіх проектів, що фактично надає однакові дозволи на доступ до всіх проектів 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.
Підказка
Для автоматизації включення всіх мов або проєктів ви можете скористатися пунктами Вибір мови та Вибір проєкту.
Приклад:
Проєкт
щосьіз такими складниками:щось/десьіщось/тамз правами рецензування та керування у такій команді:
Група Spanish Admin-Reviewers¶ Ролі
Рецензування рядків, Управління сховищем
Складники
щось/десь
Мови
Spanish
Учасники цієї команди матимуть такі права доступу (за умови параметрів типової ролі):
Загальний доступ (до навігації) до усього проєкту
щось, включно із обома складниками у ньому:щось/десьіщось/там.Рецензування рядків у іспанському перекладі
щось/десь(і тільки у ньому).Управління системою керування версіями для усього сховища
щось/десь, наприклад внесення зміни з черги, які є результатами роботи перекладачів, для всіх мов.
Автоматичні призначення команд¶
При редагуванні Команди ви можете вказати Автоматичні призначення, тобто список формальних виразів, які використовуватимуться для автоматичного пов’язування створених записів користувачів до команди на основі адреси електронної пошти. Ця прив’язка виконуватиметься лише під час створення облікового запису.
Найпоширенішим випадком використання для цієї можливості є призначення усіх нових користувачів до певної типової команди. Це використовується для типових команд Користувачі і Гість (див. Список команд). Скористайтеся формальним виразом ^.*$ для встановлення відповідності усім користувачам.
Ще одним випадком використання цього параметра може бути типове надання певних додаткових прав доступу працівникам вашої компанії. Припускаючи, що всі вони користуються корпоративними адресами електронної пошти на вашому домені, досягти цього можна виразом, подібним до ^.*@mycompany.com.
Примітка
Автоматична прив’язка до команд для команд Users і Viewers виконуватиметься завжди при оновленні версії Weblate. Якщо ви хочете вимкнути її, встановіть для формального виразу прив’язки значення ^$, якому не відповідає жоден рядок.
Примітка
Масове надсилання запрошень через інтерфейс користувача створює запрошення. Існуючі користувачі все одно повинні підтвердити запрошення, перш ніж стати членами команди.
Типові команди і ролі¶
Після встановлення буде створено типовий набір команд (див. Список команд).
Ці ролі та команди створюються під час встановлення. Актуальність вбудованих ролей завжди підтримується перенесенням бази даних під час оновлення. Ви не зможете внести зміни. Якщо ви хочете визначити власний набір прав доступу, визначте для нього нову роль.
Список прав доступу¶
Область |
Дозвіл |
Вбудовані ролі |
|---|---|---|
Зміни |
Завантажити зміни |
Administration |
Коментарі |
Опублікувати коментар |
Administration |
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Вилучити коментар |
Administration |
|
Вирішити коментар |
Administration |
|
Translation coordinator |
||
Review strings |
||
Складник |
Змінити налаштування складників |
Administration |
Блокувати складник, запобігаючи перекладу |
Administration |
|
Manage repository |
||
Глосарій |
Додати запис до глосарія |
Administration |
Manage glossary |
||
Power user |
||
Translation coordinator |
||
Додано термінологію глосарія |
Administration |
|
Manage glossary |
||
Translation coordinator |
||
Змінити словникове гніздо |
Administration |
|
Manage glossary |
||
Power user |
||
Translation coordinator |
||
Видалити словникове гніздо |
Administration |
|
Manage glossary |
||
Power user |
||
Translation coordinator |
||
Вивантажити словникове гніздо |
Administration |
|
Manage glossary |
||
Power user |
||
Translation coordinator |
||
Автоматичні пропозиції |
Використовувати автоматичні пропозиції |
Administration |
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Памʼять перекладів |
Змінити памʼять перекладів |
Administration |
Manage translation memory |
||
Вилучити памʼять перекладів |
Administration |
|
Manage translation memory |
||
Проєкти |
Змінити параметри проєкту |
Administration |
Керувати доступом до проєкту |
Administration |
|
Звіти |
Завантажити звіти |
Administration |
Знімки екрана |
Додати знімок |
Administration |
Translation coordinator |
||
Manage screenshots |
||
Змінити знімок |
Administration |
|
Translation coordinator |
||
Manage screenshots |
||
Видалити знімок |
Administration |
|
Translation coordinator |
||
Manage screenshots |
||
Початкові рядки |
Редагувати додаткові відомості про рядок |
Administration |
Edit source |
||
Рядки |
Додати новий рядок |
Administration |
Вилучити рядок |
Administration |
|
Відхилити невдалу перевірку |
Administration |
|
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Змінити рядки |
Administration |
|
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Перерити рядки |
Administration |
|
Translation coordinator |
||
Review strings |
||
Масове редагування рядків |
Administration |
|
Bulk editing |
||
Змінювати рядок з примусовими пропозиціями |
Administration |
|
Translation coordinator |
||
Review strings |
||
Редагувати початкові рядки |
Administration |
|
Edit source |
||
Power user |
||
Translation coordinator |
||
Пропозиції |
Прийняти пропозицію |
Administration |
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Додати пропозицію |
Administration |
|
Edit source |
||
Додати пропозицію |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Вилучити пропозицію |
Administration |
|
Power user |
||
Translation coordinator |
||
Проголосувати за пропозицію |
Administration |
|
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Переклади |
Додати мову перекладу |
Administration |
Power user |
||
Translation coordinator |
||
Manage languages |
||
Виконати автоматичний переклад |
Administration |
|
Automatic translation |
||
Видалити наявний переклад |
Administration |
|
Manage languages |
||
Завантажити файл перекладу |
Administration |
|
Edit source |
||
Access repository |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Manage languages |
||
Додати кілька мов для перекладу |
Administration |
|
Manage languages |
||
Вивантаження |
Задати творця завантаженого перекладу |
Administration |
Переписати наявні переклади завантаженням |
Administration |
|
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
Вивантажити переклади |
Administration |
|
Edit source |
||
Power user |
||
Translation coordinator |
||
Review strings |
||
Translate |
||
VCS |
Доступ до внутрішнього сховища |
Administration |
Access repository |
||
Power user |
||
Translation coordinator |
||
Manage repository |
||
Внести зміни у внутрішнє сховище |
Administration |
|
Manage repository |
||
Записати зміни з внутрішнього сховища |
Administration |
|
Manage repository |
||
Скинути усі зміни у внутрішньому сховищі |
Administration |
|
Manage repository |
||
Переглянути розташування основного сховища |
Administration |
|
Access repository |
||
Power user |
||
Translation coordinator |
||
Manage repository |
||
Оновити внутрішнє сховище |
Administration |
|
Manage repository |
||
Оголошення |
Оголошення про публікації |
Administration |
Translation coordinator |
||
Видалити оголошення |
Administration |
|
Translation coordinator |
||
Привілеї на рівні сайта |
Використовувати інтерфейс керування |
|
Додавати нові проєкти |
Додати нові проєкти |
|
Додати визначення мов |
||
Керувати визначеннями мов |
||
Керування командами |
||
Переглянути інформацію про команду |
||
Управління користувачами |
||
Переглянути інформацію про користувача |
||
Керувати ролями |
||
Переглянути інформацію про роль |
||
Керувати оголошеннями |
||
Керувати памʼяттю перекладів |
||
Керування автоматизацією |
||
Керувати списками складників |
||
Керування рахунками |
||
Керування додатками для усього сайта |
Примітка
Привілеї на рівні сайта не надаються будь-якій типовій ролі. Ці привілеї є доволі широкими і дуже близькими до стану Надкористувача — більшість з них стосуються усіх проєктів у встановленому вами Weblate.
Список вбудованих ролей¶
Administration |
|
Змінити початковий рядок |
|
Додати пропозицію |
|
Доступ до репозиторію |
|
Управління глосарієм |
|
Power user |
|
Координатор перекладів |
|
Рецензування рядків |
|
Переклад |
|
Управління мовами |
|
Масове редагування |
|
Автоматичний переклад |
|
Керувати памʼяттю перекладів |
|
Керування знімками екрана |
|
Керування репозиторієм |
|
Додати нові проєкти |
|
Список команд¶
Під час встановлення (або після виконання setupgroups) буде створено вказані нижче команди. Ви можете внести зміни до цих груп. Втім, під час перенесення даних типові групи, якщо ви вилучите або перейменуєте їх, буде створено повторно.
- Guests
Визначає права доступу для користувачів, які не пройшли розпізнавання.
У цій команді містяться записи лише анонімних користувачів (див.
ANONYMOUS_USER_NAME).Вилучати ролі з цієї команди для обмеження прав доступу неавторизованих користувачів.
Типові ролі: Add suggestion, Access repository
- Переглядачі
Ця роль забезпечує видимість відкритих проєктів для всіх користувачів. Типово учасниками цієї команди є всі користувачі.
За замовчуванням automatic team assignment робить усі нові облікові записи членами цієї команди, коли вони приєднуються.
Типові ролі: немає
- Users
Типова команда для всіх користувачів.
За замовчуванням automatic team assignment робить усі нові облікові записи членами цієї команди, коли вони приєднуються.
Типові ролі: Power user
- Рецензенти
Група для рецензентів (див. Процеси перекладу).
Типові ролі: Review strings
- Керівники
Група для адміністраторів.
Типові ролі: Administration
- Творці проєкту
Added in version 5.1.
Користувачі, які можуть створювати нові проєкти.
Типові ролі: Додавати нові проєкти
Попередження
Ніколи не вилучайте попередньо визначені команди та користувачів Weblate, оскільки це може призвести до неочікуваних проблем! Якщо ви не хочете скористатися цими можливостями, просто вилучіть усі привілеї з цих записів.
Додаткові обмеження доступу¶
Якщо ви хочете скористатися встановленим вами Weblate у менш відкритий спосіб, тобто дозволити нових користувачів лише на основі запрошень, зробити це можна налаштовуванням Weblate так, що до нього матимуть доступ лише відомі користувачі. Для цього ви можете встановити для параметра REGISTRATION_OPEN значення False для запобігання реєстрації будь-яких нових користувачів і встановити для REQUIRE_LOGIN значення True, щоб вимагати входу до системи для доступу до усіх сторінок сайта. Це, на базовому рівні, є способом блокування встановленого вами Weblate.
Крім того, зміна DEFAULT_ACCESS_CONTROL на 100 зробить усі новостворені проекти приватними, що вимагатиме надання явного доступу.
Підказка
Ви можете використовувати вбудований Запрошення нових користувачів для додавання нових користувачів.
Закінчення терміну дії облікових записів користувачів¶
Для кожного облікового запису може бути встановлено термін дії. Після закінчення терміну дії обліковий запис буде автоматично деактивовано. Це використовується для Маркери доступу для кожного проекту, але також може використовуватися звичайними користувачами.