アクセス制御

バージョン 3.0 で変更: Weblate 3.0 より前の権限システムは Django をベースにしていましたが、現在は Weblate 用に独自に構築されています。古いバージョンを使用している場合は、そのバージョンのドキュメントを参照してください。

Weblate には、インスタンス全体または限定された範囲のユーザー権限を割り当てるための詳細な権限システムが付属しています。

グループと権限に基づくアクセス権のシステム。権限が一連のアクセス権を定義し、グループがユーザーと翻訳に割り当てる。詳細については、参照 ユーザー、役割、グループ、および権限 を参照してください。

インストール後にデフォルトのグループが作成され、それを使用しインスタンス全体にユーザーの権限を割り当てられます(参照 Default groups and roles)。さらに、プロジェクト単位のアクセス制御 をオンにすると、特定の翻訳プロジェクトにユーザーを割り当てられます。詳細設定は Custom access control を使用して実現できます

共通設定

Weblate の閉鎖

Weblate のインストールを完全に禁止するには、LOGIN_REQUIRED_URLS を使用してユーザーにサイン インを強制し、REGISTRATION_OPEN を使用して新規登録を防止できます。

サイト全体のアクセス権

インスタンス全体のアクセス権の管理するには、Users`(デフォルトでは :ref:`autogroup を使用)、Reviewers および Managers グループにユーザーを追加します。すべてのプロジェクトを Public に設定する(参照 プロジェクト単位のアクセス制御)。

プロジェクト単位のアクセス権

プロジェクトを Protected または Private に設定し、Weblate インターフェイスでプロジェクトごとにユーザーを管理します。

言語、コンポーネント、プロジェクトへのアクセス権の追加

さらに、プロジェクト、コンポーネント、言語セットに基づいて、任意のユーザーに権限を付与することができます。これを実現するには、新しいグループ(例:Czech translators)を作成し、与えられたリソースに対して設定します。割り当てられたアクセス権は、選択したリソースのグループのメンバーに付与されます。

プロジェクトごとのアクセス権を使用している場合は、追加の設定をしなくても問題なく動作します。インスタンス全体のアクセス権については、Users グループからこれらのアクセス権を削除するか、すべてのユーザーをそのグループに自動的に割り当てるように変更するとよいでしょう(参照 自動的なグループの割り当て)。

プロジェクト単位のアクセス制御

注釈

ACL を有効にすると、すべてのユーザーは、アクセス許可を追加しない限り、該当のプロジェクト内へのすべてのアクセスが禁止されます。

個々のプロジェクトへのユーザーのアクセスを制限できます。この機能は、各プロジェクトの設定で Access control をオンにすることで有効になります。このプロジェクトに対しては、複数のグループが自動的に作成されます。

Access control には次の選択肢があります:

公開

一般公開し、翻訳可能にする

保護

公開しているが、選択したユーザーのみ翻訳可能

プライベート

選択したユーザーのみ表示および翻訳可能

独自設定

Weblate はユーザーを管理しません、参照 Custom access control

../_images/project-access.png

To allow access to this project, you have to add the privilege either directly to the given user, or group of users in the Django admin interface, or by using user management on the project page, as described in Managing per project access control.

注釈

ACL が有効でも、入手できるプロジェクトに関する概要情報:

  • すべてのプロジェクトの数を含む、インスタンス全体の統計。

  • すべてのプロジェクトの数を含む、インスタンス全体の言語の概要。

自動的なグループの割り当て

Weblate を設定すると、ユーザーのメール アドレスに基づいてユーザーをグループに自動的に追加できます。この自動割当は、アカウントの作成時にのみ実行されます。

これは、各グループの Django 管理インターフェイスで設定できます( Authentication セクション内)。

注釈

ユーザー グループと 閲覧 グループの自動グループ割り当ては、移行時に常に Weblate によって作成されます。無効する場合は、正規表現を ^$ に設定するだけで、一致しなくなります。

ユーザー、役割、グループ、および権限

認証モデルを構成している複数のオブジェクト:

権限

Weblate によって定義された個別のアクセス権限。個々の権限を割り当てることはできません。これは、役割の割り当てを通じてのみ実行できます。

役割

役割は、一連のアクセス権限を定義します。これにより、このセットを複数の場所で再利用でき、管理が容易になります。

ユーザー

ユーザーは複数のグループのメンバーに参加できます。

グループ

グループは、役割、ユーザー、認証オブジェクト(プロジェクト、言語、コンポーネント リスト)を関連付けます。

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

アクセス権の確認

特定の操作を実行できるかどうかを判断するための許可の確認が行われるたびに、次のような順番でスコープに応じて確認が行われます。

  1. コンポーネント リスト は、コンポーネントまたはプロジェクトと照合されます。

  2. コンポーネント は、コンポーネントまたはプロジェクトと照合されます。

  3. プロジェクト は、プロジェクトと照合されます。

ご覧のように、コンポーネントへのアクセスを許可すると、そのコンポーネントを含むプロジェクトへのアクセスも自動的に許可されます。

注釈

Only the first rule will be used. So if you set all of Component list, Components and Project, only Component list will be applied.

An additional step is performed if checking permission for the translation:

4. Languages are matched against the scope of translations if set, if not set, this does not match any language.

ヒント

You can use Language selection or Project selection to automate inclusion of all languages or projects.

Checking access to a project

A user has to be a member of a group linked to the project or any component inside it. Only membership is enough, no specific permissions are needed to access a project (this is used in the default Viewers group, see Default groups and roles).

Checking access to a component

A user can access the unrestricted component once he can access the containing project. With enabled Restricted access the access to the component requires explicit permission to the component (or containing component list).

Managing users and groups

All users and groups can be managed using the Django admin interface, available under /admin/ URL.

Managing per project access control

注釈

This feature only works for ACL controlled projects, see プロジェクト単位のアクセス制御.

Users with the Can manage ACL rules for a project privilege (see アクセス制御) can also manage users in projects with access control turned on through the project page. The interface allows you to:

  • Add existing users to the project

  • Invite new users to the project

  • Change permissions of the users

  • Revoke access to the users

The user management is available in the Manage menu of a project:

../_images/manage-users.png

Predefined groups

Weblate comes with a predefined set of groups for a project, wherefrom you can assign users.

Administration

Has all permissions available in the project.

Glossary

Can manage glossary (add or remove entries, or upload).

Languages

Can manage translated languages - add or remove translations.

Screenshots

Can manage screenshots - add or remove them, and associate them to source strings.

Template

Can edit translation templates in Monolingual components and source string info.

Translate

Can translate the project, and upload translations made offline.

VCS

Can manage VCS and access the exported repository.

Review

Can approve translations during review.

Billing

Can access billing info (see 課金).

Custom access control

By choosing Custom as Access control, Weblate will stop managing access for a given project, and all users and groups can be managed using the Django admin interface. This can be used to define more complex access control, or set up a shared access policy for all projects in a single Weblate instance. If you want to turn this on for all projects by default, please configure the DEFAULT_ACCESS_CONTROL.

警告

By turning this on, Weblate will remove all プロジェクト単位のアクセス制御 it has created for this project. If you are doing this without admin permission from the instance, you will instantly lose your access to manage the project.

Default groups and roles

List of privileges

Billing (see 課金)

View billing info [Administration, Billing]

変更

Download changes [Administration]

コメント

Post comment [Administration, Edit source, Power user, Review strings, Translate]

コメントの削除 [Administration]

コンポーネント

コンポーネント設定の編集 [Administration]

コンポーネントのロック、翻訳の防止 [Administration]

用語集

Add glossary entry [Administration, Manage glossary, Power user]

Edit glossary entry [Administration, Manage glossary, Power user]

Delete glossary entry [Administration, Manage glossary, Power user]

Upload glossary entries [Administration, Manage glossary, Power user]

機械翻訳

機械翻訳の使用 [Administration, Power user]

プロジェクト

プロジェクト設定の編集 [Administration]

プロジェクトのアクセス管理s [Administration]

レポート

Download reports [Administration]

スクリーンショット

Add screenshot [Administration, Manage screenshots]

Edit screenshot [Administration, Manage screenshots]

Delete screenshot [Administration, Manage screenshots]

原文

Edit source string info [Administration, Edit source]

文字列

新しい原文の追加 [Administration]

Ignore failing checks [Administration, Edit source, Power user, Review strings, Translate]

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

Review strings [Administration, Review strings]

提案が施行されている場合の文字列の編集 [Administration, Review strings]

Edit source strings [Administration, Edit source, Power user]

提案

Accept suggestions [Administration, Edit source, Power user, Review strings, Translate]

Add suggestions [Add suggestion, Administration, Edit source, Power user, Review strings, Translate]

提案の削除 [Administration]

Vote on suggestions [Administration, Edit source, Power user, Review strings, Translate]

翻訳

新しい翻訳の開始 [Administration, Manage languages, Power user]

Perform automatic translation [Administration, Manage languages]

Delete existing translations [Administration, Manage languages]

新しい言語での翻訳の開始 [Administration, Manage languages]

Uploads

アップロードする翻訳者の登録 [Administration]

Overwrite existing strings with an upload [Administration, Edit source, Power user, Review strings, Translate]

Upload translation strings [Administration, Edit source, Power user, Review strings, Translate]

VCS

Access the internal repository [Access repository, Administration, Manage repository, Power user]

内部リポジトリへの変更点のコミット [Administration, Manage repository]

内部リポジトリからの変更点のプッシュ [Administration, Manage repository]

内部リポジトリの変更点のリセット [Administration, Manage repository]

View upstream repository location [Access repository, Administration, Manage repository, Power user]

内部リポジトリの更新 [Administration, Manage repository]

Site wide privileges

管理画面の使用

言語定義の追加

言語定義の管理

グループの追加

グループの管理

ユーザーの追加

ユーザーの管理

お知らせの管理

翻訳メモリの管理

注釈

The 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 the projects of your Weblate installation.

List of groups

The following groups are created upon installation (or after executing setupgroups):

Guests

Defines permissions for non authenticated users.

This group contains only anonymous users (see ANONYMOUS_USER_NAME).

You can remove roles from this group to limit permissions for non authenticated users.

Default roles: Add suggestion, Access repository

Viewers

This role ensures visibility of public projects for all users. By default all users are members of this group.

By default all users are members of this group, using 自動的なグループの割り当て.

Default roles: none

Users

Default group for all users.

By default all users are members of this group using 自動的なグループの割り当て.

Default roles: Power user

Reviewers

Group for reviewers (see Translation workflows).

Default roles: Review strings

Managers

Group for administrators.

Default roles: Administration

警告

Never remove the predefined Weblate groups and users, as this can lead to unexpected problems. If you do not want to use these features, just remove all privileges from them.