詳細な権限を使うべき場合
詳細な権限は、以下のような場合に便利です:- 機密性の高いパスを保護: セキュリティ上重要なコード、設定ファイル、本番アセットをチームメンバーが変更するのを防ぐ
- 役割で制限: デザイナーはアセットのみを変更し、開発者はコードで作業できるようにする
- コンポーネントを分離: チームがリポジトリの特定の部分で作業でき、他の部分にはアクセスできないようにする
アクセスレベル
Diversion は 4 つの階層型アクセスレベルを使用します:
アクセスレベルは階層型です: Admin は Write のすべての権限を含み、それは Merge を、それは Read を含みます。各レベルで何ができるかの詳細については、アクセスレベル を参照してください。
権限タイプ
各ルールは、アクセスがどのように付与または拒否されるかを制御する 4 つの権限タイプのいずれかを使用します:パスパターン
パスパターンは、ルールが適用されるファイルを指定します。パターンは常に/ で始まり、リポジトリルートを表します。
以下は一般的なパターンです:
ルールの優先順位
ルールは テーブルの下から上へ 評価されます。複数のルールが一致する場合、最高の権限が優先 されます — Deny ルールが評価を停止しない限り。テーブルで下位のルールほど 優先度が高い です。Deny ルールはその上の Allow ルールを上書きできます。
例: 複数の Allow ルール
Alice が
/src/secret/config.json にアクセスするとき:
- 両方のルールが一致
- 最高の権限 (Write) が付与される
- 結果: Alice は
/src/secret/内のファイルに Write 可能
例: Deny を使ってアクセスを制限
Alice が
/src/secret/config.json にアクセスしようとしたとき:
- ルール 2 が最初に一致 (下位、最高優先度) — 評価を停止し、すべてのアクセスを拒否する
- ルール 1 は決して評価されない
- 結果: Alice は
/src/secret/内のファイルにアクセス不可
権限の割り当て
権限は以下に割り当てることができます:- 個々のユーザー - 特定のチームメンバーにルールを適用します
- グループ - グループのすべてのメンバーにルールを適用します (組織が必要)。個々のユーザーよりもグループを優先してください — チームが成長したときに権限の管理が楽になります。
詳細な権限のセットアップ
1
組織設定を開く
上部ナビゲーションの プロフィールアバター をクリックし、Your organizations を選択します。
2
Permission rules に移動
サイドバーで Repositories を選択し、リポジトリ列で Permission rules を選択します。
3
リポジトリを選択
リポジトリ列上部のリポジトリピッカーを使って、設定したいリポジトリを選択します。
4
テーブルを編集
「Edit Table」をクリックして編集モードを有効にします。

5
ルールを追加
「Add Rule」をクリックして以下を設定します:
- User or Group: このルールを適用する対象
- Path Pattern: 影響を受けるファイル
- Access Level: Admin、Write、Merge、または Read
- Permission Type: アクセスレベルを適用する方法

6
既存のルールを編集
ルールをドラッグして並び替え (テーブル下位のルールほど優先度が高い)、任意のフィールドを編集、または不要になったルールを削除できます。
7
変更を保存
評価ロジック
ユーザーがファイルにアクセスしようとしたとき:- そのユーザー (グループを含む) の、ファイルパスに一致するすべてのルールを見つける
- 下から上へ (最高優先度から) ルールを評価する
- 各ルールについて:
- Deny (All Above) が要求されたレベルに一致する場合: 評価を停止する (以前に付与された権限は保持される)
- Deny (Exact) が正確に一致する場合: 正確なレベルを拒否済みとマークし、評価を続行する
- Allow (Hierarchical) または Allow (Exact) が一致する場合: 付与済みとマークし、続行する
- 最終決定: 拒否が記録されていない限り、最高の付与された権限が優先される
デフォルトの挙動:
- リポジトリに 詳細な権限ルールがない 場合、ユーザーはリポジトリレベルの権限を取得します。
- 誰かに対する ルールが 1 つでも存在 すると、一致するルールがないユーザーは すべてのアクセスが拒否 されます。アクセスが必要なすべてのユーザーに対してルールを追加するようにしてください。

