Wiki
ロールと管理パネル
uVersion の管理パネル: 誰が開けるか、9 つのロール、スーパー管理者と project_admin、ランク階層、どのタブを誰が使えるか。
はじめに
管理パネルは uVersion デスクトップクライアントに組み込まれています。ユーザー、グループ、権限、 検証ルール、Webhook、配布、そしてリポジトリのファイルの管理を一箇所にまとめています。このページは、他のすべてが 依存するロールシステムを説明します。このセクションの他のページより先にお読みください。
どこでも 3 つの言葉が登場します。リポジトリはサーバー上でバージョン管理されたプロジェクトです。
ロールはアカウントが持つラベル (admin、artist、
viewer など) で、そのアカウントに何が許可されているかを示します。パーミッションは
どのフォルダーに対してそれを行えるかを示します。
パネルを開く
1. Admin 項目を開く
管理ロールを持つアカウントでデスクトップクライアントにサインインし、サイドバーの Admin 項目を
開きます。管理ロールを持たないアカウントにはこの項目は表示されません。パネルを開けるロールは 2 つです:
admin (スーパー管理者) と project_admin (プロジェクト管理者)。両者が見る内容は
同一ではありません。次のセクションを参照してください。
2. 2 つのタブの行を見分ける
Admin Panel という見出しの下で、タブは2 つの行に並んでいます。上の SERVER はサーバー全体に関するもので、どのプロジェクトにも依存しません。下の PROJECT は、この行の先頭にあるリポジトリセレクターで選択したリポジトリに 作用します。リポジトリを切り替えると、これらのタブの表示内容が変わります。タブが期待どおりの内容を表示しない ときに最初に確認すべき点です。
スーパー管理者と project_admin
uVersion は 2 つの管理レベルを区別します:
- スーパー管理者 (ロール
admin): サーバー全体に対する権限。 すべてのリポジトリ、すべてのユーザー、グローバル設定、監査、ライセンスを管理します。 - project_admin: 管理するプロジェクトに限って完全な管理者です。 自分のリポジトリでは管理者と同じことをすべて行えます (権限、ルール、Webhook、GC、抹消)。 自分のリポジトリの外では管理権限を一切持ちません。
原則: project_admin は自分のプロジェクトの完全な管理者であり、それ以外の場所では何もできません。 そのためパネルは区画化されています。一部のグローバルな操作 (下記参照) はスーパー管理者専用のままです。
9 つのロール
| ロール | 用途 |
|---|---|
admin | スーパー管理者: 全アクセス、サーバー全体。 |
project_admin | プロジェクト管理者: 自分のリポジトリの完全な管理者、それ以外では何もできません。 |
lead | チームリード: すべてのリポジトリへの書き込みと複数の高い権能 (承認、グローバルアクティビティ、配布)。現状では事実上きわめて強力なロールです。 |
artist | コントリビューター (アート): 権限に応じたファイルの check-out / check-in。 |
programmer | コントリビューター (コード): 権限に応じた check-out / check-in。 |
qa | 品質保証: 貢献しレビューに参加します。 |
user | 汎用コントリビューター。 |
viewer | 読み取り専用。 |
playtester | 公開されたビルドへのアクセスのみ (ゲームのダウンロード)。ワークスペースもリポジトリのファイルも見えません。 |
artist は書き込みを付与されたパスしか変更できません。
ランクとガード
ロールはランクで並びます: admin 100、lead 50、project_admin 40、
programmer / artist / qa / user 10、
viewer / playtester 5。
project_admin は自分のランクより厳密に下のロールしか付与できません。したがって
自己昇格も、自己降格も、admin・lead・別の project_admin の作成や
昇格もできません。
admin を含む
あらゆるロールを付与でき、別のスーパー管理者に対しても操作 (変更または削除) できます。これは
必要なことです。さもないと、誤って作成された 2 人目のスーパー管理者を取り除けなくなります。
どのタブに誰がアクセスできるか
SERVER 行のタブはサーバー全体に対して有効です。PROJECT 行のタブは、同じ行の 先頭にあるセレクターで選択したリポジトリに作用します。
| タブ | 行 | スーパー管理者 | project_admin |
|---|---|---|---|
| Dashboard | SERVER | はい | いいえ |
| Repositories | SERVER | はい | いいえ |
| Users | SERVER | 完全な管理 | 作成と変更 (email、ロール)。スーパー管理者を除くすべてのアカウントが見えます |
| Groups | SERVER | 完全な管理 | いいえ (グループは Permissions から選択可能なまま) |
| Locks | SERVER | サーバーのすべてのロック | はい、自分のリポジトリに限定 |
| Audit Log | SERVER | はい | いいえ |
| Distribution | SERVER | はい | いいえ (admin と lead 専用) |
| Permissions | PROJECT | はい | はい、自分のリポジトリで |
| Rules | PROJECT | はい | はい、自分のリポジトリで |
| Webhooks | PROJECT | はい | はい、自分のリポジトリで |
| Files | PROJECT | はい | はい、自分のリポジトリで |
スーパー管理者専用のまま: ユーザーのパスワードのリセット、ユーザーの削除、アクティブ / 非アクティブの 切り替え、グループ管理、監査、ダッシュボードとリポジトリ一覧、配布、サーバー設定、グローバル統計、ライセンス。 一方 project_admin は、アカウントを作成し、スーパー管理者以外のアカウントの email とロールを 変更できます: ユーザー を参照。
サーバー全体の権能
権能とは、人やフォルダーではなくロールに紐づく、名前付きの権限です (例:「ビルドを公開する」 「変更を承認する」)。重要な点: 権能はサーバー全体で有効で、リポジトリ単位の区別を持ちません。 実務上の帰結は 2 つです:
manage_rules権能を持つleadは、サーバー全体で 配布にアクセスできます。project_adminは権能を一切持ちません。その権限は管理するプロジェクトの一覧に由来し、 権能に由来しません。これは意図的です。権能を一つのプロジェクトに限定することはできないからです。