アクセス制御

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

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

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

インストール後にデフォルトのグループが作成され、それを使用してインスタンス全体にユーザーの権限が割り当てることができます(参照: デフォルトのグループとロール)。また、 プロジェクトのアクセス制御 を有効にすると、指定する翻訳プロジェクトにユーザーが割り当てることができます。さらに詳細な設定は カスタム アクセス制御 で設定します。

共通設定

Weblate の閉鎖

Weblate を完全に封鎖するには、REQUIRE_LOGIN を使用してユーザーにサイン インを強制し、REGISTRATION_OPEN を使用して新規登録を阻止します。

サイト全体のアクセス権

インスタンス全体のアクセス権の管理するには、ユーザー (デフォルトでは 自動的なグループの割り当て を使用)、査読者 および 管理者 グループにユーザーを追加します。すべてのプロジェクトを 公開 に設定する(参照: プロジェクトのアクセス制御)。

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

注釈

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

プロジェクトを 保護 または プライベート に設定し、Weblate 管理画面でプロジェクトごとにユーザーを管理します。

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

注釈

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

メンバーには、所属するグループに割り当てられたすべての権限が与えられるので、ユーザーには一度に複数の権限を与えられます。グループを作成して、プロジェクト、コンポーネント、または言語に割り当てます。ユーザーを複数のグループに所属させて、複数のアクセス権を与えることができます。

プロジェクト、コンポーネント、または言語セットに基づいて、選択した権限を与えます。これを実行させるには、新しいグループ(例: Czech translators)を作成して、指定するリソースに設定します。割り当てられたすべての権限は、選択したリソースのグループのメンバーに与えられます。

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

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

注釈

アクセス制御を有効にすると、すべてのユーザーは、アクセス権を追加しない限り、指定したプロジェクトへのすべてのアクセスが禁止されます。

注釈

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

各プロジェクトの 設定 にある アクセス から、個別のアクセス制御を指定して、ユーザーの各プロジェクトに対してアクセス制限できます。これにより、指定したプロジェクトに複数のグループが自動的に作成されます。 参照: 定義済みのグループ

設定できる アクセス制御 の値:

公開

公開すると、ログインしたすべてのユーザーが翻訳可能

保護

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

プライベート

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

カスタム

Django admin が Weblate の代わりにユーザーを管理する。参照: カスタム アクセス制御

../_images/project-access.png

プロジェクトへのアクセス権を与えるには、Django 管理画面でユーザーまたはユーザーのグループにアクセス権を直接追加するか、プロジェクト ページからユーザー管理を使用して、プロジェクトへのアクセスを許可します(参照: プロジェクトごとのアクセス制御の管理)。

注釈

アクセス制御を有効にしていても、表示されるプロジェクトに関する情報:

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

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

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

Django 管理画面の 認証 から、ユーザーをメールアドレスに基づいて自動的に(必要な)グループに割り当てることができます。自動割り当てはアカウント作成時のみです。

注釈

ユーザー閲覧者 への自動グループ割り当ては、移行時に常に再作成されます。無効にする場合は、正規表現を ^$ (何も一致しない)に設定してください。

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

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

アクセス権

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

ロール

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

ユーザー

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

グループ

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

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

アクセス権の確認

指定した操作が実行できるかどうかを判断するたびに、範囲に従ってアクセス権を確認します。確認する項目と順番:

  1. コンポーネント リスト グループは、アクセスされたコンポーネントまたはプロジェクト(プロジェクト レベルでのアクセスの場合) と照合される。

  2. コンポーネント グループは、アクセスされたコンポーネントまたはプロジェクト(プロジェクト レベルでのアクセスの場合) と照合される。

  3. プロジェクト グループは、アクセスされたプロジェクトと照合される。

したがって、コンポーネントへのアクセスを許可すると、ユーザーは、そのコンポーネントが含まれるプロジェクトへのアクセスも許可されます。

注釈

最初の規則のみが適用されます。したがって、コンポーネント リストコンポーネントプロジェクト をすべて設定すると、コンポーネント リスト のみが適用されます。

翻訳のアクセス権を確認する場合に実行する、次の手順:

  1. 言語 のグループは、アクセスされた翻訳と照合され、コンポーネントまたはプロジェクトのレベルのアクセスでは無視されます。

ヒント

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

プロジェクトへのアクセスの確認

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

コンポーネントへのアクセスの確認

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

ユーザーとグループの管理

すべてのユーザーと、ユーザーが所属するさまざまなグループは、 Weblate サイトの URL に /admin/ を追加して表示される Django 管理画面から管理できます。

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

注釈

この機能はアクセス制御を使用しているプロジェクトでのみ動作します。参照: プロジェクトのアクセス制御

プロジェクトのアクセス管理 権限(参照: アクセス制御)があるユーザーは、プロジェクト ページでアクセス制御が有効になっているプロジェクト内のユーザーも管理できます。この管理画面でできること:

  • 既存のユーザーをプロジェクトに追加

  • 新しいユーザーをプロジェクトに招待

  • ユーザーのアクセス権の変更

  • ユーザーのアクセス件の取り消し

バージョン 3.11 で追加.

  • ユーザーを招待するメールの再送信(以前送信した招待を無効とする)

各プロジェクトの 管理 メニューから設定するユーザーの管理方法:

../_images/manage-users.png

定義済みのグループ

Weblate には、事前に複数のグループがプロジェクトに登録されているので、そこからユーザーを割り当てることができます。

Translate

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

Sources

原文を 単一言語コンポーネント と原文情報で編集できる。

Languages

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

Glossary

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

Memory

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

Screenshots

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

Review

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

VCS

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

Administration

プロジェクトで有効なすべてのアクセス権がある。

Billing

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

カスタム アクセス制御

プロジェクトでさらに多くのアクセス制御の設定をするために、アクセス制御カスタム に設定して、 Weblate 管理画面ではなく Django 管理画面を使用する設定に変更できます。

すべての現行および新規プロジェクトにおいて、デフォルトで多くのアクセス制御を管理画面を使用するには、DEFAULT_ACCESS_CONTROL を設定して Django 管理画面からすべてのアクセス権と関係を管理します。

警告

これを有効にすると、Weblate はこのプロジェクト用に作成したすべての プロジェクトのアクセス制御 を削除します。この操作をインスタンスからの管理者権限なしで実行すると、プロジェクトを管理するためのアクセス権を即座に失います。

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

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

特権の一覧

請求(参照: 請求

請求情報の表示 [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]

不合格となった検査の除外 [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]

自動翻訳の実行 [Administration, Manage languages]

翻訳済み文字列の削除 [Administration, 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

閲覧者

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

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

デフォルトのロール: none

ユーザー

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

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

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

査読者

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

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

管理者

管理者用のグループ。

デフォルトのロール: Administration

警告

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