アクセス制御

Weblate は、インスタンス全体または限定した範囲のユーザーに、アクセス権を割り当てるための詳細な権限システムを搭載しています。

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

シンプルなアクセス制御

あなたが Weblate のインストール全体を管理しておらず、特定のプロジェクトを管理するためのアクセス権だけを持っている場合(Hosted Weblate のように)、アクセスコントロールの管理オプションは以下の設定に限られます。複雑な設定を必要としないのであれば、これらの設定で十分でしょう。

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

注釈

この機能は、 Hosted Weblate で Libre プランを使用するプロジェクトでは利用できません。

プロジェクトごとに別の アクセス制御 設定を選択することで、ユーザーのアクセスを制限できます。使用可能なオプションは次のとおりです。

公開

公開、ログインしたすべてのユーザーが翻訳できます。

保護

公開、選択したユーザーのみ翻訳できます。

プライベート

選択したユーザーのみ、表示および翻訳ができます。

カスタム

ユーザー管理 の機能は無効になります。デフォルトでは、プロジェクト上での操作は、どのユーザーに対しても禁止されています。すべてのパーミッションは カスタム アクセス制御 を使用して設定することが必要です。

アクセス制御 は、各プロジェクトの設定(管理設定)の アクセス タブで変更できます。

../_images/project-access.png

デフォルト値は DEFAULT_ACCESS_CONTROL で変更できます。

注釈

プライベート プロジェクトの場合でも公開される、プロジェクトに関する情報: インスタンス全体の統計と言語の概要には、アクセス制御の設定にかかわらず、すべてのプロジェクトの統計値が含まれています。この情報からは、プロジェクト名やその他の情報は分かりません。

注釈

公開保護、および プライベート プロジェクトでユーザーがデフォルトで使用できる実際の権限のセットは、Weblate インスタンス管理者が custom settings から再定義できます。

警告

カスタム アクセス制御を有効にすると、Weblate は選択したプロジェクト用に作成したすべての special groups を削除します。Weblate インスタンス全体の管理者権限なしに実行すると、プロジェクトを管理するためのアクセス権を即座に失います。

プロジェクトごとのアクセス制御の管理

プロジェクトのアクセス管理 権限(参照: 特権と自動生成されるアクセス権の一覧)があるユーザーは、チームにユーザーを追加してプロジェクト内のユーザーを管理できます。最初のチームのアクセス権は Weblate によって自動生成されます。追加のチームを設定すると、より詳細なアクセス制御ができます。チームには、言語と個別のアクセス権を設定して制限をかけられます(参照: 特権と自動生成されるアクセス権の一覧)。

プロジェクトごとに自動生成されるチームのアクセス権:

公開保護 および プライベート プロジェクトのアクセス権:

管理

プロジェクトで使用できるアクセス権をすべて含みます。

査読( review workflow が有効化されている場合のみ)

査読中に翻訳を承認するアクセス権。

保護 および プライベート プロジェクトのみのアクセス権:

翻訳

プロジェクトを翻訳し、オフラインで作成した翻訳をアップロードするアクセス権。

原文

原文(プロジェクトの設定 で許可している場合)および モノリンガル コンポーネント と原文情報を編集するアクセス権。

言語

翻訳言語を管理するアクセス権(翻訳の追加または削除)。

用語集

用語集を管理するアクセス権(エントリの追加、削除、またはアップロード)。

翻訳メモリ

翻訳メモリを管理するアクセス権。

スクリーンショット

スクリーンショットを管理するアクセス権(追加または削除、原文への関連付け)。

自動翻訳

自動翻訳を有効にするアクセス権。

VCS

VCS を管理し、リポジトリをエクスポートするアクセス権。

請求

請求情報と請求の設定をするアクセス権(参照: 請求)。

../_images/manage-users.png

この機能は、プロジェクトにあるメニューの 管理ユーザー から操作できる アクセス制御 のページで設定します。

新しいユーザーの招待

また、既存のユーザーをプロジェクトに追加する以外に、新しいユーザーを招待することもできます。新しいユーザーは直ちに作成されますが、メールで送信された招待状のリンクを使用してサインインするまで、アカウントは無効の状態のままです。メールで招待するために、サイト全体のアクセス権は必要はありません、プロジェクト全体に対するアクセス権(例: 「管理」グループへの登録)で十分です。

ヒント

If the invited user missed the validity of the invitation, they can set their password using invited e-mail address in the password reset form as the account is created already.

バージョン 3.11 で追加: ユーザーを招待するメールの再送信ができる(以前送信した招待を無効とする)。

The same kind of invitations are available site-wide from the management interface on the Users tab.

ユーザーのブロック

バージョン 4.7 で追加.

In case some users behave badly in your project, you have an option to block them from contributing. The blocked user still will be able to see the project if he has permissions for that, but he won't be able to contribute.

プロジェクトごとのアクセス権の管理

Weblate のユーザー インターフェイスでは、プロジェクトごとに 保護 または プライベート に設定、さらに manage users に設定できます。

By default this prevents Weblate from granting access provided by Users and Viewers default groups due to these groups’ own configuration. This doesn’t prevent you from granting permissions to those projects site-wide by altering default groups, creating a new one, or creating additional custom settings for individual component as described in カスタム アクセス制御 below.

One of the main benefits of managing permissions through the Weblate user interface is that you can delegate it to other users without giving them the superuser privilege. In order to do so, add them to the Administration group of the project.

カスタム アクセス制御

注釈

この機能は、 Hosted Weblate で Libre プランを使用するプロジェクトでは利用できません。

権限システムはグループとロールに基づいています。ロールにはアクセス権のセットを設定し、グループはアクセス権をユーザーと翻訳にリンクさせます。詳細については、ユーザー、ロール、グループ、およびアクセス権 を確認してください。

The most powerful features of the Weblate’s access control system for now are available only through the Django admin interface. 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.

If you are not interested in details of implementation, and just want to create a simple-enough configuration based on the defaults, or don’t have a site-wide access to the whole Weblate installation (like on Hosted Weblate), please refer to the シンプルなアクセス制御 section.

共通設定

This section contains an overview of some common configurations you may be interested in.

サイト全体のアクセス権の管理

To manage permissions for a whole instance at once, add users to appropriate default groups:

  • Users (this is done by default by the automatic group assignment).

  • Reviewers (if you are using review workflow with dedicated reviewers).

  • Managers (if you want to delegate most of the management operations to somebody else).

すべてのプロジェクトを 公開 (参照: プロジェクトのアクセス制御)として設定してください。公開と設定されていない場合は、 ユーザー および 査読 グループの登録者に与えられるサイト全体のアクセス権は無効になります。

You may also grant some additional permissions of your choice to the default groups. For example, you may want to give a permission to manage screenshots to all the Users.

You can define some new custom groups as well. If you want to keep managing your permissions site-wide for these groups, choose an appropriate value for the Project selection (e.g. All projects or All public projects).

言語、コンポーネント、またはプロジェクトの独自のアクセス権

You can create your own dedicated groups to manage permissions for distinct objects such as languages, components, and projects. Although these groups can only grant additional privileges, you can’t revoke any permission granted by site-wide or per-project groups by adding another custom group.

例:

If you want (for whatever reason) to allow translation to a specific language (lets say Czech) only to a closed set of reliable translators while keeping translations to other languages public, you will have to:

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

    グループ ユーザー

    言語の選択

    設定に沿う

    言語

    All but Czech

  1. Add a dedicated group for Czech translators.

    グループ チェコ語翻訳者

    ロール

    パワー ユーザー

    プロジェクトの選択

    すべての公開プロジェクト

    言語の選択

    設定に沿う

    言語

    チェコ語

  1. Add users you wish to give the permissions to into this group.

As you can see, permissions management this way is powerful, but can be quite a tedious job. You can’t delegate it to another user, unless granting superuser permissions.

ユーザー、ロール、グループ、およびアクセス権

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

アクセス権

Weblate に設定済みの個別のアクセス権。ユーザーにアクセス権を割り当てることはできません。アクセス権は、ロールを使用してのみ割り当てることができます。

ロール

ロールは、アクセス権のセットを設定します。これにより、アクセス権のセットを複数の場所で再利用できるため、管理が簡単になります。

ユーザー

ユーザーは複数のグループに所属できます。

グループ

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

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

注釈

A group can have no roles assigned to it, in that case access to browse the project by anyone is assumed (see below).

プロジェクトを表示させる接続

ユーザーは、プロジェクトまたはプロジェクト内のコンポーネントにリンクされたグループに登録されていることが必要です。登録されていれば十分であり、プロジェクトに表示させるための特定なアクセス権は必要ありません(これはデフォルトの 閲覧者 グループで使用します。参照: グループ一覧)。

コンポーネントを表示させる接続

ユーザーは、参加しているプロジェクトにアクセスできれば、コンポーネントへ無制限にアクセスできます(そのプロジェクトに対してユーザーに与えられたすべてのアクセス権があることになります)。アクセス制限 を有効にすると、コンポーネントへアクセスするには、そのコンポーネント(または、そのコンポーネントが含まれるコンポーネント リスト)に対してアクセス権が設定されていることが必要になります。

グループの範囲

The scope of the permission assigned by the roles in the groups are applied by the following rules:

  • If the group specifies any Component list, all the permissions given to members of that group are granted for all the components in the component lists attached to the group, and an access with no additional permissions is granted for all the projects these components are in. Components and Projects are ignored.

  • If the group specifies any Components, all the permissions given to the members of that group are granted for all the components attached to the group, and an access with no additional permissions is granted for all the projects these components are in. Projects are ignored.

  • Otherwise, if the group specifies any Projects, either by directly listing them or by having Projects selection set to a value like All public projects, all those permissions are applied to all the projects, which effectively grants the same permissions to access all projects unrestricted components.

  • The restrictions imposed by a group’s Languages are applied separately, when it’s verified if a user has an 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.

ヒント

言語の選択 または プロジェクトの選択 を使用して、すべての言語またはプロジェクトを自動的に一括で設定できます。

例:

Let’s say there is a project foo with the components: foo/bar and foo/baz and the following group:

Group Spanish Admin-Reviewers

ロール

文字列の査読リポジトリの管理

コンポーネント

foo/bar

言語

スペイン語

Members of that group will have following permissions (assuming the default role settings):

  • General (browsing) access to the whole project foo including both components in it: foo/bar and foo/baz.

  • Review strings in foo/bar Spanish translation (not elsewhere).

  • Manage VCS for the whole foo/bar repository e.g. commit pending changes made by translators for all languages.

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

Django admin interfaceグループ 編集ページの下で、自動的なグループの割り当て を指定できます。これは、新規に作成したユーザーをメールアドレスに基づいてグループに自動的に割り当てるために使用する正規表現のリストです。この割り当ては、アカウントの作成時にのみ行われます。

The most common use-case for the feature is to assign all new users to some default group. In order to do so, you will probably want to keep the default value (^.*$) in the regular expression field. Another use-case for this option might be to give some additional privileges to employees of your company by default. Assuming all of them use corporate e-mail addresses on your domain, this can be accomplished with an expression like ^.*@mycompany.com.

注釈

ある Weblate バージョンから別のバージョンにアップグレードすると、ユーザー閲覧者 へのグループの自動割り当てが常に再作成されます。これを無効にするときは、正規表現を ^$ (何にも一致しない)に設定してください。

注釈

As for now, there is no way to bulk-add already existing users to some group via the user interface. For that, you may resort to using the REST API.

デフォルトのグループとロール

After installation, a default set of groups is created (see グループ一覧).

このロールとグループは、インストール時に作成されます。組み込みのロールは、アップグレード時にはデータベースを移行して常に最新の状態に保たれます。実際に変更することはできませんが、独自のアクセス権のセットを設定したい場合は、新しいロールを設定してください。

特権と自動生成されるアクセス権の一覧

アクセス範囲

パーミッション

ロール

請求(参照: 請求

請求情報の表示

管理請求

変更

変更点のダウンロード

管理

コメント

コメントの投稿

管理原文の編集パワー ユーザー査読翻訳

コメントの削除

管理

コンポーネント

コンポーネント設定の編集

管理

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

管理

用語集

用語集への項目の追加

管理用語集の管理パワー ユーザー

用語集の項目の編集

管理用語集の管理パワー ユーザー

用語集の項目の削除

管理用語集の管理パワー ユーザー

用語集の項目のアップロード

管理用語集の管理パワー ユーザー

自動提案

提案の自動採用

管理原文の編集パワー ユーザー査読翻訳

翻訳メモリ

翻訳メモリの編集

管理翻訳メモリの管理

翻訳メモリの削除

管理翻訳メモリの管理

プロジェクト

プロジェクト設定の編集

管理

プロジェクトのアクセス管理

管理

レポート

レポートのダウンロード

管理

スクリーンショット

スクリーンショットの追加

管理スクリーンショットの管理

スクリーンショットの編集

管理スクリーンショットの管理

スクリーンショットの削除

管理スクリーンショットの管理

原文

原文情報の追加編集

管理, 原文の編集

文字列

新しい文字列の追加

管理

文字列の削除

管理

検査の不合格項目の除外

管理原文の編集パワー ユーザー査読翻訳

文字列の編集

管理原文の編集パワー ユーザー査読翻訳

文字列の査読

管理査読

提案採用時の編集

管理査読

原文の編集

管理原文の編集パワー ユーザー

提案

提案の採用

管理原文の編集パワー ユーザー査読翻訳

提案の追加

管理原文の編集提案の追加パワー ユーザー査読翻訳

提案の削除

管理パワー ユーザー

提案に投票

管理原文の編集パワー ユーザー査読翻訳

翻訳

翻訳用の言語の追加

管理パワー ユーザー言語の管理

自動翻訳の実行

管理自動翻訳

既存の翻訳の削除

管理言語の管理

翻訳ファイルのダウンロード

管理原文の編集リポジトリへのアクセスパワー ユーザー査読翻訳言語の管理

翻訳用に複数言語の追加

管理言語の管理

アップロード

アップロードした翻訳に、翻訳者の登録

管理

アップロードでの既存文字列の上書き

管理原文の編集パワー ユーザー査読翻訳

翻訳のアップロード

管理原文の編集パワー ユーザー査読翻訳

VCS

内部リポジトリへのアクセス

管理リポジトリへのアクセスパワー ユーザーリポジトリの管理

内部リポジトリへの変更点のコミット

文字列の査読リポジトリの管理

内部リポジトリからの変更点のプッシュ

文字列の査読リポジトリの管理

内部リポジトリの変更点のリセット

文字列の査読リポジトリの管理

アップストリーム リポジトリの場所の表示

管理リポジトリへのアクセスパワー ユーザーリポジトリの管理

内部リポジトリの更新

文字列の査読リポジトリの管理

サイト全体の特権

管理画面の使用

新しいプロジェクトの追加

言語定義の追加

言語定義の管理

グループの管理

ユーザーの管理

ロールの管理

お知らせの管理

翻訳メモリの管理

コンポーネント リストの管理

注釈

サイト全体の特権は、デフォルトのどのロールにも与えられません。これらは強力で、スーパーユーザーの状態と変わりません。ほとんどの場合、インストールした Weblate のすべてのプロジェクトに影響します。

グループ一覧

インストール時(または setupgroups の実行後 )に、以下のグループが作成され、自由に変更できます。ただし、移行によって、削除または名前の変更を行うと、移行によって再作成されます。

ゲスト

未認証ユーザーのアクセス権の設定。

このグループには、匿名ユーザーのみ含める(参照: ANONYMOUS_USER_NAME)。

このグループからロールを削除して、未認証ユーザーの権限を制限できる。

デフォルトのロール: 提案の追加リポジトリへのアクセス

閲覧者

このロールにより、すべてのユーザーが公開プロジェクトを参照できる。デフォルトでは、すべてのユーザーがこのグループのメンバーである。

デフォルトでは、automatic group assignment と指定すると、新しい参加者には自動的にこのグループのメンバーのアカウントが作成されます。

デフォルトのロール: none

ユーザー

すべてのユーザーのデフォルトのグループ。

デフォルトでは、automatic group assignment と指定すると、新しい参加者には自動的にこのグループのメンバーのアカウントが作成されます。

デフォルトのロール: Power user

査読者

査読者用のグループ(参照: 翻訳ワークフロー)。

デフォルトのロール: Review strings

管理者

管理者用のグループ。

デフォルトのロール: Administration

警告

想定外の問題が発生することあるので、デフォルトで設定済みの Weblate グループとユーザーは決して削除しないでください。これらの権限が不要な場合は、権限をすべて削除できます。

追加のアクセス制限

If you want to use your Weblate installation in a less public manner, i.e. allow new users on an invitational basis only, it can be done by configuring Weblate in such a way that only known users have an access to it. In order to do so, you can set REGISTRATION_OPEN to False to prevent registrations of any new users, and set REQUIRE_LOGIN to /.* to require logging-in to access all the site pages. This is basically the way to lock your Weblate installation.

ヒント

You can use built-in invitations to add new users.