アクセス制御

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

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

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

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

共通設定

Weblate の閉鎖

To completely lock down your Weblate installation, you can use REQUIRE_LOGIN to force users to sign in and REGISTRATION_OPEN to prevent new registrations.

サイト全体のアクセス権

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

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

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

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

さらに、プロジェクト、コンポーネント、言語セットに基づいて、どのユーザーにもアクセス権を追加で設定できます。設定方法は、新しいグループ(例:Czech translators)を作成し、特定のリソースに対して設定します。割り当てたアクセス権は、選択したリソースのグループのメンバーに設定されます。

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

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

注釈

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

個々のプロジェクトへのユーザーのアクセスを制限できます。この機能を有効にするには、各プロジェクトの設定で アクセス制御 を有効にします。これにより、このプロジェクトに複数のグループが自動的に作成されます、参照 定義済みのグループ

アクセス制御 には次の選択肢があります:

公開

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

保護

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

プライベート

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

カスタム

Weblate はユーザーを管理しません、参照 カスタム アクセス制御

../_images/project-access.png

このプロジェクトへのアクセスを許可するには、Django 管理画面で、特定のユーザーまたはユーザー グループに権限を直接追加するか、プロジェクト ページのユーザー管理で権限の追加が必要です、解説は プロジェクトごとのアクセス制御の管理

注釈

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

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

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

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

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

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

注釈

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

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

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

アクセス権

Weblate が定義済みの個別のアクセス権。個別にアクセス権の割り当てはできません。これは、ロールの割り当てを通じてのみ設定できます。

ロール

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

ユーザー

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

グループ

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

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

アクセス権の確認

指定した操作が実行できるかどうか、毎回アクセス権を範囲に応じて検査します、確認の順番は次のとおりです:

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

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

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

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

注釈

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

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

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

ヒント

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

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

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

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

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

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

すべてのユーザーおよびグループは、Django 管理画面から管理できます、/admin/ URL から利用可能。

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

注釈

この機能は ACL 制御のプロジェクトでのみ動作します、参照 プロジェクト単位のアクセス制御

プロジェクトの ACL 規則を管理できる 権限(参照 アクセス制御)を持つユーザーは、プロジェクト ページでアクセス制御が有効になっているプロジェクト内のユーザーも管理できます。このインタフェースでは、次のことができます:

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

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

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

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

バージョン 3.11 で追加.

  • ユーザーにメールの招待状を再送信して、以前に送信した招待状を無効にする

ユーザー管理は、プロジェクトの 管理 から設定:

../_images/manage-users.png

定義済みのグループ

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

Administration

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

Glossary

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

Languages

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

Screenshots

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

Template

Monolingual components の翻訳テンプレートと原文情報を編集できる。

Translate

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

VCS

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

Review

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

Billing

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

カスタム アクセス制御

アクセス制御 として カスタム を選択すると、Weblate は特定のプロジェクトのアクセス管理を停止し、すべてのユーザーとグループを Django 管理インターフェースを使って管理できます。これを使用すると、より複雑なアクセス制御を定義したり、単一の Weblate インスタンス内のすべてのプロジェクトに対して共有アクセス ポリシーを設定できます。デフォルトですべてのプロジェクトに対してこのオプションを有効にする場合は、DEFAULT_ACCESS_CONTROL を設定してください。

警告

これを有効にすると、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, Power user]

プロジェクト

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

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

レポート

レポートのダウンロード [Administration]

スクリーンショット

スクリーンショットの追加 [Administration, Manage screenshots]

スクリーンショットの編集 [Administration, Manage screenshots]

スクリーンショットの削除 [Administration, Manage screenshots]

原文

原文情報の編集 [Administration, Edit source]

文字列

新しい原文の追加 [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]

提案の追加 [Add suggestion, Administration, Edit source, Power user, Review strings, Translate]

提案の削除 [Administration]

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

翻訳

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

自動翻訳の実行 [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

内部リポジトリへのアクセス [Access repository, Administration, Manage repository, Power user]

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

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

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

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

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

サイト全体の特権

管理画面の使用

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

言語定義の追加

言語定義の管理

グループの管理

ユーザーの管理

ロールの管理

お知らせの管理

翻訳メモリの管理

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

注釈

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

グループ一覧

インストール時(または setupgroups の実行後 )に、以下のグループが作成されます。

ゲスト

非認証ユーザーのアクセス権を定義する。

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

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

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

閲覧者

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

デフォルトでは、 自動的なグループの割り当て によってすべてのユーザーがこのグループに割り当てられます。

デフォルトのロール: none

ユーザー

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

デフォルトでは、すべてのユーザーがこのグループのメンバーである 自動的なグループの割り当て を使用する。

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

査読者

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

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

管理者

管理者用のグループ。

デフォルトのロール: Administration

警告

定義済みの Weblate グループとユーザーを削除しないでください。削除すると、予期しない問題が発生することがあります。これらの機能を使用しない場合は、すべての権限を削除してください。