Changes between Version 1 and Version 2 of TracFineGrainedPermissions


Ignore:
Timestamp:
2012/06/16 22:07:38 (9 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracFineGrainedPermissions

    v1 v2  
    33Trac 0.11 より前は、リポジトリブラウザ サブシステムだけで「粒度が細かいパーミッション (fine grained permissions)」を定義することができました。 
    44 
    5 0.11 以降、カスタマイズしたパーミッションポリシーのプラグインを各所に使用するための共通のメカニズムが導入されたので、すべての種類の Trac リソースのあらゆるアクションについて、そのリソースの特定バージョンのレベルまで含めて許可/拒否を設定できるようになりました。 
     50.11 以降、カスタマイズした **パーミッションポリシーのプラグイン** を各所に使用するための共通のメカニズムが導入されたので、すべての種類の Trac リソースのあらゆるアクションについて、そのリソースの特定バージョンのレベルまで含めて許可/拒否を設定できるようになりました。 
     6 
     7Note: Trac 0.12 では、 `authz_policy` はオプションモジュールとして実装されました( `tracopt.perm.authz_policy.*` 配下 ) 。したがって、デフォルトでインストールされ、 Trac の管理 Web インタフェースの //プラグイン// パネルで簡単に有効にすることができます。 
     8 
    69 
    710== パーミッションポリシー == #PermissionPolicies 
    811 
     12様々なパーミッションポリシーを実装することができます。 Trac にはいくつかの例を同梱しています。  
     13 
     14現在有効なポリシーは TracIni の中で設定されているコンフィグレーションによって決定します: 
     15 
     16{{{ 
     17[trac] 
     18permission_policies = AuthzSourcePolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy 
     19}}} 
     20このリストの1番目の [#AuthzSourcePolicy] ポリシーについては、下記に記載しています。続く !DefaultPermissionPolicy では、 TracPermissions に記載されている従来型の粒度が粗いパーミッションチェックを行ないます。そして3番目の !LegacyAttachmentPolicy は添付ファイルに対して、粒度の粗いパーミッションチェックを行ないます。 
     21 
     22使用可能なオプションの選択肢として、 Authz 形式のシステムにてとても一般的なパーミッションポリシーを提供する [#AuthzPolicy] があります。 
     23詳細については、 [trac:source:branches/0.12-stable/tracopt/perm/authz_policy.py authz_policy.py] を参照して下さい。 
     24 
     25もう一つの評判のよいパーミッションポリシーである、 [#AuthzSourcePolicy] は pre-0.12 で再実装され、新しいシステムでは、 Subversion のリポジトリに限定して粒度の細かいパーミッション設定をサポートするようになりました。 
     26 
     27その他の例については、 [trac:source:branches/0.12-stable/sample-plugins/permissions sample-plugins/permissions] を参照して下さい。 
     28 
     29 
    930=== !AuthzPolicy === #AuthzPolicy 
    10  
    11 ポリシーの例として、 Authz 形式のシステムを基にしたポリシーが追加されました。詳しくは、 
    12 [http://trac.edgewall.org/browser/trunk/sample-plugins/permissions/authz_policy.py] を参照してください (現在のバージョンは Python 2.4 以降でないと動きません)。 (より多くの例が [http://trac.edgewall.org/browser/trunk/sample-plugins/permissions] にあります。) 
    1331 
    1432 - [http://www.voidspace.org.uk/python/configobj.html ConfigObj] をインストール (必須) 
    1533 - authz_policy.py を plugins ディレクトリにコピーする 
    16  - [http://swapoff.org/files/authzpolicy.conf authzpolicy.conf] ファイルをどこか (できれば、 Web サーバ起動ユーザ以外が読み取りできないセキュアな領域) に置く。 
     34 - [http://swapoff.org/files/authzpolicy.conf authzpolicy.conf] ファイルをどこか (できれば、 Web サーバ起動ユーザ以外が読み取りできないセキュアな領域) に置く。ファイルに非ASCII文字が含まれる場合は UTF-8 で保存してください。 
    1735 - `trac.ini` ファイルをアップデートする: 
     36   1. `[trac]` セクションの [TracIni#trac-section permission_policies] を編集する 
    1837{{{ 
    1938[trac] 
    2039... 
    2140permission_policies = AuthzPolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy 
    22  
     41}}} 
     42   2. 新規に `[authz_policy]` セクションを追加する 
     43{{{ 
    2344[authz_policy] 
    2445authz_file = /some/trac/env/conf/authzpolicy.conf 
    25  
     46}}} 
     47   3. プラグインを有効化する 
     48{{{ 
    2649[components] 
    2750... 
    28 authz_policy = enabled 
     51# Trac 0.12 
     52tracopt.perm.authz_policy.* = enabled 
     53# for Trac 0.11 use this 
     54#authz_policy.* = enabled  
    2955}}} 
    3056 
     
    5985 
    6086 
    61 === mod_authz_svn ライクなパーミッションポリシー === #mod_authz_svn-likepermissionpolicy 
     87=== !AuthzSourcePolicy  (mod_authz_svn ライクなパーミッションポリシー) === #AuthzSourcePolicy 
    6288 
    63 この文書が書かれている時点では、 Trac 0.10 以前にリポジトリへの厳密なアクセス制御に使用されていた、古い「粒度が細かいパーミッション」システムは、まだパーミッションポリシーのコンポーネントにコンバートされていません。しかし、ユーザの視点では、実現できる機能に大きな違いはありません。 
     89この文書が書かれている時点では、 Trac 0.11 以前にリポジトリへの厳密なアクセス制御に使用されていた、古い「粒度が細かいパーミッション」システムは、パーミッションポリシーのコンポーネントにコンバートされました。しかし、ユーザの視点では、実現できる機能に大きな違いはありません。 
    6490 
    6591「粒度が細かいパーミッション」の制御に定義ファイルを必要とします。この定義ファイルは Subversion の mod_authz_svn で使用しているものを使います。 
    66 このファイルの形式と Subversion での用法に関する情報は [http://svnbook.red-bean.com/svnbook/book.html#svn-ch-6-sect-4.4.2 Subversion Book (ディレクトリごとのアクセス制御)] を参照してください。 
     92このファイルの形式と Subversion での用法に関する情報は、 svn book の Server Configuration (サーバ設定) の章にある [http://svnbook.red-bean.com/en/1.5/svn.serverconfig.pathbasedauthz.html Path-Based Authorization (ディレクトリごとのアクセス制御)] の項を参照してください。 
    6793 
    6894例: 
     
    98124}}} 
    99125 
    100 ''modulename'' には、 `[trac]` セクション中の `repository_dir` に設定したリポジトリと同じものを設定します。 (訳注: Subversion で `SVNParentPath` を使用して複数のリポジトリをホストしている場合のリポジトリ指定方法です。 ''modulename'' は個々のリポジトリを指します。) 
     126''modulename'' には、 `[trac]` セクション中の `repository_dir` に設定したリポジトリと同じものを設定します。例えば `[trac]` セクション内の `repository_dir` に {{{/srv/active/svn/blahblah}}} を設定している場合は次のように設定します: 
     127 
     128{{{  
     129[trac] 
     130authz_file = /path/to/svnaccessfile 
     131authz_module_name = blahblah 
     132... 
     133repository_dir = /srv/active/svn/blahblah  
     134}}} 
     135 
     136Subversion の Authz ファイル {{{/path/to/svnaccessfile}}} では、 {{{[blahblah:/some/path]}}} のようにエントリを記載します。 
    101137 
    102138'''Note:''' Authz ファイルで使用するユーザ名と、 Trac で使用するユーザ名は __同じでなければなりません__。 
     139 
     1400.12 では、 trac.ini の permission_policies に ''!AuthzSourcePolicy'' を必ず含めて下さい。さもないと、 authz のパーミッションファイルは無視されます。 
     141 
     142{{{  
     143[trac] 
     144permission_policies = AuthzSourcePolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy 
     145}}} 
    103146 
    104147==== Subversion の設定 ==== #SubversionConfiguration 
     
    117160複数のプロジェクト Environment において、プロジェクト全体にどのようにアクセス制限を行うかについての情報は [http://trac.edgewall.org/wiki/TracMultipleProjectsSVNAccess] を参照してください。 
    118161 
    119 == TracFineGrainedPermissions を動かすために == #GettingTracFineGrainedPermissionstowork 
     162== デバッグ用パーミッション #DebuggingPermissions 
     163trac.ini の設定: 
     164{{{ 
     165[logging] 
     166log_file = trac.log 
     167log_level = DEBUG 
     168log_type = file 
     169}}} 
    120170 
    121 tracd を使用している場合、新しい設定を読み込ませるために、 Trac を再起動するのを忘れないでください。 
     171ウォッチコマンド: 
     172{{{ 
     173tail -n 0 -f log/trac.log | egrep '\[perm\]|\[authz_policy\]' 
     174}}} 
     175 
     176どんなチェックが行なわれているか見ることができます。より詳細な情報については、プラグインのソースに添付されているドキュメントを参照して下さい。 
     177 
    122178 
    123179---- 
    124 See also: TracPermissions 
    125 http://trac-hacks.org/wiki/FineGrainedPageAuthzEditorPlugin は設定を編集するプラグインです。 
     180See also: TracPermissions, 
     181[http://trac-hacks.org/wiki/FineGrainedPageAuthzEditorPlugin TracHacks:FineGrainedPageAuthzEditorPlugin] は設定を編集するプラグインです。