アクセス制御

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

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

シンプルなアクセス制御

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

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

注釈

This feature is unavailable for projects running the Libre plan on Hosted Weblate.

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

公開

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

保護

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

プライベート

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

カスタム

User management features will be disabled; by default all users are forbidden to performed any actions on the project. You will have to set up all the permissions using カスタム アクセス制御.

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

../_images/project-access.png

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

注釈

「プライベート」プロジェクトの場合でも、プロジェクトに関する情報が公開されます。インスタンス全体の統計と言語の概要には、アクセス制御の設定に関係なく、すべてのプロジェクトのカウントが含まれます。これでは、プロジェクト名やその他の情報は公開されません。

注釈

Public、` Protected`、および `Private`プロジェクトでユーザーがデフォルトで使用できる実際の権限のセットは、Weblateインスタンス管理者が :ref:`custom settings <custom-acl>`を使用して再定義できます。

警告

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

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

プロジェクトのアクセス管理 権限(参照: 特権の一覧)があるユーザーは、カスタム 以外のアクセス制御を持つプロジェクトのユーザーを管理できます。ユーザーは、次のいずれかのグループに割り当てることができます。

PublicProtected および Private プロジェクト:

管理

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

査読( review workflow がオンになっている場合のみ)

査読中に翻訳を承認できる。

Protected および Private プロジェクトのみ:

翻訳

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

原文

原文(プロジェクトの設定 で許可している場合)および 単一言語コンポーネント と原文情報で編集できる。

言語

翻訳言語を管理できる(翻訳の追加または削除)。

用語集

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

メモリ

翻訳メモリを管理できる。

スクリーンショット

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

VCS

VCS を管理し、エクスポートしたリポジトリにアクセスできる。

請求

請求情報と設定にアクセスできる(参照: 請求)。

Unfortunately, it’s not possible to change this predefined set of groups for now. Also this way it’s not possible to give just some additional permissions to all users.

注釈

For non-Custom access control an instance of each group described above is actually defined for each project. The actual name of those groups will be Project@Group, also displayed in the Django admin interface this way. Although they can’t be edited from Weblate user-interface.

../_images/manage-users.png

These features are available on the Access control page, which can be accessed from the project’s menu ManageUsers.

新しいユーザーの招待

Also, besides adding an existing user to the project, it is possible to invite new ones. Any new user will be created immediately, but the account will remain inactive until signing in with a link in the invitation sent via an e-mail. It is not required to have any site-wide privileges in order to do so, access management permission on the project’s scope (e.g. a membership in the Administration group) would be sufficient.

ヒント

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.

カスタム アクセス制御

注釈

This feature is unavailable for projects running the Libre plan on Hosted Weblate.

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

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 should keep all projects configured as Public (see プロジェクトのアクセス制御), otherwise the site-wide permissions provided by membership in the Users and Reviewers groups won’t have any effect.

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 グループ一覧).

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

特権の一覧

請求(参照: 請求

請求情報の表示 [Administration, Billing]

変更

変更のダウンロード [Administration]

コメント

コメントの投稿 [Administration, Edit source, Power user, Review strings, Translate]

コメントの削除 [Administration]

コンポーネント

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

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

用語集

用語集へ用語の追加 [Administration, Manage glossary, Power user]

用語集の用語の編集 [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]

Dismiss failing check [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, Power user, Review strings, Translate]

提案の削除 [Administration, Power user]

提案に投票 [Administration, Edit source, Power user, Review strings, Translate]

翻訳

翻訳用言語の追加 [Administration, Power user, Manage languages]

Perform automatic translation [Administration]

翻訳済み文字列の削除 [Administration, Manage languages]

Download translation file [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]

upstream リポジトリの場所の表示 [Administration, Access repository, Power user, Manage repository]

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

サイト全体の特権

管理画面の使用

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

言語定義の追加

言語定義の管理

グループの管理

ユーザーの管理

ロールの管理

お知らせの管理

翻訳メモリの管理

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

注釈

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

グループ一覧

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

ゲスト

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

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

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

デフォルトのロール: Add suggestionAccess repository

閲覧者

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

デフォルトでは、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.