Skip to main content
詳細な権限を使うと、リポジトリ内の特定のファイルおよびフォルダーに対して、きめ細かなアクセス制御を設定できます。ユーザーにリポジトリ全体へのアクセスを与える代わりに、パスレベルで読み取り、書き込み、マージ、管理を制限できます。

詳細な権限を使うべき場合

詳細な権限は、以下のような場合に便利です:
  • 機密性の高いパスを保護: セキュリティ上重要なコード、設定ファイル、本番アセットをチームメンバーが変更するのを防ぐ
  • 役割で制限: デザイナーはアセットのみを変更し、開発者はコードで作業できるようにする
  • コンポーネントを分離: チームがリポジトリの特定の部分で作業でき、他の部分にはアクセスできないようにする

アクセスレベル

Diversion は 4 つの階層型アクセスレベルを使用します: アクセスレベルは階層型です: Admin は Write のすべての権限を含み、それは Merge を、それは Read を含みます。各レベルで何ができるかの詳細については、アクセスレベル を参照してください。

権限タイプ

各ルールは、アクセスがどのように付与または拒否されるかを制御する 4 つの権限タイプのいずれかを使用します:
ほとんどの場合、自然な権限継承を付与する Allow (Hierarchical) を使用してください。他のレベルに影響を与えずに特定のレベルを付与または拒否する必要がある場合 (例: Write を拒否するが Read は維持) は、Exact タイプを使用します。

パスパターン

パスパターンは、ルールが適用されるファイルを指定します。パターンは常に / で始まり、リポジトリルートを表します。 以下は一般的なパターンです:

ルールの優先順位

ルールは テーブルの下から上へ 評価されます。複数のルールが一致する場合、最高の権限が優先 されます — Deny ルールが評価を停止しない限り。
テーブルで下位のルールほど 優先度が高い です。Deny ルールはその上の Allow ルールを上書きできます。

例: 複数の Allow ルール

Alice が /src/secret/config.json にアクセスするとき:
  • 両方のルールが一致
  • 最高の権限 (Write) が付与される
  • 結果: Alice は /src/secret/ 内のファイルに Write 可能

例: Deny を使ってアクセスを制限

Alice が /src/secret/config.json にアクセスしようとしたとき:
  1. ルール 2 が最初に一致 (下位、最高優先度) — 評価を停止し、すべてのアクセスを拒否する
  2. ルール 1 は決して評価されない
  3. 結果: Alice は /src/secret/ 内のファイルにアクセス不可
Deny (All Above) は終端ルールです。一致すると評価は直ちに停止し、その上のルールは一切チェックされません。より優先度の高いルール (テーブルで下位) によってすでに付与された権限は保持されます。
UI ではルールをドラッグして並び替え、優先度を変更できます。

権限の割り当て

権限は以下に割り当てることができます:
  • 個々のユーザー - 特定のチームメンバーにルールを適用します
  • グループ - グループのすべてのメンバーにルールを適用します (組織が必要)。個々のユーザーよりもグループを優先してください — チームが成長したときに権限の管理が楽になります。
各ルールは、ユーザーまたはグループのいずれか一方をターゲットにする必要があり、両方はできません。同じパターンを両方に適用する必要がある場合は、別々のルールを作成してください。

詳細な権限のセットアップ

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

変更を保存

評価ロジック

ユーザーがファイルにアクセスしようとしたとき:
  1. そのユーザー (グループを含む) の、ファイルパスに一致するすべてのルールを見つける
  2. 下から上へ (最高優先度から) ルールを評価する
  3. 各ルールについて:
    • Deny (All Above) が要求されたレベルに一致する場合: 評価を停止する (以前に付与された権限は保持される)
    • Deny (Exact) が正確に一致する場合: 正確なレベルを拒否済みとマークし、評価を続行する
    • Allow (Hierarchical) または Allow (Exact) が一致する場合: 付与済みとマークし、続行する
  4. 最終決定: 拒否が記録されていない限り、最高の付与された権限が優先される
デフォルトの挙動:
  • リポジトリに 詳細な権限ルールがない 場合、ユーザーはリポジトリレベルの権限を取得します。
  • 誰かに対する ルールが 1 つでも存在 すると、一致するルールがないユーザーは すべてのアクセスが拒否 されます。アクセスが必要なすべてのユーザーに対してルールを追加するようにしてください。

API アクセス

詳細な権限 API を使って、詳細な権限をプログラム的に管理できます。