Subversionのアクセス制御

tracpath(トラックパス)のリポジトリの1つである Subversion はディレクトリやユーザ・グループによる詳細なアクセス制御が可能です。 tracpath(トラックパス)はプロジェクト毎にユーザ権限やリポジトリへのアクセス権を管理する機能を提供していますが、さらに詳細なアクセス権、例えば特定ディレクトリのみへアクセス可能な権限や閲覧のみを設定する機能があります。

Subversionのsvnauthzによるアクセス制御を設定することが可能です。

アクセス制御リストによるアクセス管理

アクセス制御リスト(svnauthz)による認証規則を定義することができます。 ディレクトリごとのアクセス制御を行いたい場合に利用します。

1. アクセス制御リスト

管理者でログイン後、プロジェクトタブをクリックしてプロジェクト一覧に移動します。 権限設定を行いたいプロジェクトのリポジトリ右側にある「リポジトリのアクセス権設定」

20130226-1.jpg

2. 制御リストの作成

Subversionのマニュアルから設定例のサンプルを説明します。 注意点:

tracpath(トラックパス)のアクセス制御リストの初期値:

[/]
* = rw

[groups]

Subversionの初期設定では、誰であれリポジトリに対するすべてのアクセスは禁止されています。 tracpath(トラックパス)ではプロジェクトに属するユーザをユーザ管理画面で管理しているため、プロジェクトに属するユーザにはアクセス権限を与える必要があるためアスタリスク変数(*) を使って、「すべてのユーザ」にアクセス権限を付与しています。

[/]
* = rw

は変更しないでください。 Subversionのアクセス制御リストルールに従って設定を行います。

3. 制御リストの設定例1

ユーザのグループを定義します。

[groups]
developers = sato, tanaka, shimada
designers = kitada, saitou, yoshida
team = sato, tanaka, shimada, kitada, saitou, yoshida

グループを使ってユーザと同じようにアクセス制御することができます。 グループであることを示す「アットマーク」(@)を先頭に付けます。

[Project-a:/trunk]
@developers = rw

[Project-a:/projects/design]
@designers = rw
shimada = r 

グループは他のグループを含むように定義することもできます。

[groups]
developers = sato, tanaka, shimada
designers = kitada, saitou, yoshida
team = @developers, @designers

4. アクセス制御の設定例2

20130225-2.jpg

  1. グループとユーザのセクセス許可
    • リポジトリにアクセスするグループ/ユーザをチェックします。
    • チェックしたグループ・ユーザについてディレクトリ単位の制御を行う場合
    • アクセス制御リストをクリックします。
  2. アクセス制御リスト
    • 1)で選択したユーザの中で、制限したいユーザを記載します。

[ProjectOG:/fulmo]
guest1 = rw

[groups]

[/]
* = rw

[ProjectOG:/]
guest1 =

1)で選択したユーザ2名のうち、tracpath ユーザはすべてにアクセス可能 guest1ユーザは「/」はアクセス不可、/fulmo/のみアクセス可能、となります。

[/]
* = rw

を削除しないようにしてください。削除した場合、他のユーザがリポジトリにアクセス出来なくなります。

Subversion/svnauthz (last edited 2021-05-21 06:37:50 by omae)