uVersion
日本語
ダウンロード →

Wiki

パーミッション

グループまたはユーザーに、リポジトリ内のフォルダーへの read / write / none アクセスを付与します。パターン、優先度、既定の解決、パーミッションのテスト。

はじめに

Permissions タブは、指定したリポジトリについて、誰がどのフォルダーを読み書きできるかを定義します。 パーミッションは グループまたはユーザー を対象とし、パスのパターン に適用され、 レベル(write / read / none)を持ちます。ロールはアカウントに何ができるかを、パーミッションは どのファイルに対してかを定めます。

アクセスとロール

このタブは スーパー管理者(すべてのリポジトリ)と project_admin (管理しているリポジトリ)が利用できます。ルールは常に選択中のリポジトリに紐づきます。

3つのレベル

レベル効果
write対象パスでの読み取りと書き込み(チェックアウト、チェックイン)。
read読み取り専用: 同期はできますが変更はできません。
noneアクセスなし: より広いルールが許可する場合でも、フォルダーを明示的に隠します。

アクセスの付与

フォルダーツリー、3状態のチェックボックス、グループ/ユーザーのセレクター、write/read/none のレベルバー。
  1. リポジトリを選択し、次に Permissions タブを開きます。
  2. セレクターで 対象 を選びます: グループ または ユーザー(「Groups」と「Users」の 2つのサブリスト)。1つのルールはどちらか一方のみを対象とし、両方は対象にしません。
  3. フォルダーツリー で対象のフォルダーにチェックを入れます(チェックボックスは3状態: すべて / 一部 / なし)。検索フィールドでツリーを絞り込めます。
  4. 表示されるバーでレベル(write / read / none)を選び、 Apply をクリックします。

対象の有効なルールは表(パターン、レベル、優先度)に表示され、1つずつ削除できます。

ユーザー名で付与

"+ By username" ボタンを使うと、表示されているリストに現れないユーザーにも、その 正確な名前 を入力してアクセスを付与できます。これは、まだ何のパーミッションも持たない playtester のように、通常の範囲外のアカウントにアクセスを付与する手段です。

名前は 完全に一致 する必要があります(前方一致は不可)。このフィールドは識別子と名前のみを返し、 ロールは決して返しません。既存アカウントの探索に使われないためです。

パターンと優先度

チェックしたフォルダー Foo/Bar はパターン Foo/Bar/** になります(そのフォルダーと、 任意の深さに含まれるすべて)。リポジトリのルートは /** になります。

各ルールには、フォルダーの 深さに等しい優先度 が自動的に付与されます(セグメント数、ルート = 0)。 したがって、より 具体的(より深い)なルールが、より一般的なルールに優先します。 例: Content/**writeContent/Secret/**none を設定すると、 Content/ 全体で書き込み可能ですが、Secret/ は除外されます。

自動グループ化 あるフォルダーのすべての子にチェックを入れると、クライアントはそれらを単一のルール Parent/** にまとめ(将来のサブフォルダーも対象になります)、冗長になった子ルールを削除します。

既定の解決

明示的なルールがパスをカバーしない場合、実効的なアクセスは次のモデルに従います:

  • 既定では、一致するルールがないとき、アクセスは read(読み取り)です。
  • adminleadどこでも write(ロールのバイパス)です。
  • project_admin管理するリポジトリで write を持ち、それ以外では特別な扱いは ありません。
  • それ以外では、最も具体的なルールが適用されます。該当がなければ既定の読み取りです。

言い換えると: 誰かにフォルダーの読み取りを 禁止 するには、何も付与しないだけでは不十分で (既定が read のため)、明示的な none ルールが必要です。

パーミッションのテスト

実効レベルと、判断を下したソースおよびパターンを示す結果が表示された Test Permission パネル。

Test Permission パネルは「このユーザーはこのパスに対してどの実効アクセスを持つか」に答えます。 ユーザーを選び、パス(例: /Content/Maps/Level01.umap)を入力してテストを実行します。 結果には実効レベルに加えて、判断を下した ソースパターン が表示され、 アクセスが許可または拒否される理由を理解できます。

閲覧する権限のないユーザーについては、テストは存在しないアカウントと同じ「見つかりません」を返し、 アカウントの存在を明かさないようにします。

よくある落とし穴

「何も付与していないのに読めてしまう」

これは read の既定によるものです。フォルダーを閉じるには、明示的な none ルールを そのフォルダーに設定してください。

2つのルールが矛盾する

最も具体的なもの(深さが最大)が勝ちます。どちらが決定するかは テスト で確認してください。

none ルールがあるのに lead が書き込みのまま

adminlead のロールはパスのルールをバイパスします(どこでも write)。none ルールでも制限されません。project_admin が自身のリポジトリに対して持つ場合も同様です。

グループ経由のアクセスと直接のアクセス

アクセスはアカウント自身から来る場合と、所属する グループ から来る場合があります。 ルールを削除しても何も変わらない場合は、もう一方のソースを探してください(どちらが適用されるかはテストが示します)。