Changes between Version 2 and Version 3 of TracFineGrainedPermissions
- Timestamp:
- 12/07/15 15:40:17 (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracFineGrainedPermissions
v2 v3 31 31 === !AuthzPolicy === #AuthzPolicy 32 32 ==== 設定方法 ==== #Configuration 33 * [http://www.voidspace.org.uk/python/configobj.html ConfigObj] をインストールする 。(0.12 でも必要)34 * authz_policy.py を plugins にコピーする 。(Trac 0.11でのみ必要)35 * [http://swapoff.org/files/authzpolicy.conf authzpolicy.conf] ファイルを適当な場所 (望ましくは、 Web サーバ起動ユーザ以外が読み取りできないセキュアな領域) に配置する。ファイルに非ASCII文字が含まれる場合は UTF-8 で保存してください 。33 * [http://www.voidspace.org.uk/python/configobj.html ConfigObj] をインストールする (0.12 でも必要) 34 * authz_policy.py を plugins にコピーする (Trac 0.11でのみ必要) 35 * [http://swapoff.org/files/authzpolicy.conf authzpolicy.conf] ファイルを適当な場所 (望ましくは、 Web サーバ起動ユーザ以外が読み取りできないセキュアな領域) に配置する。ファイルに非ASCII文字が含まれる場合は UTF-8 で保存してください 36 36 * `trac.ini` ファイルをアップデートする: 37 37 1. `[trac]` セクションの [TracIni#trac-section permission_policies] を編集する … … 46 46 authz_file = /some/trac/env/conf/authzpolicy.conf 47 47 }}} 48 1. [/admin/general/plugin WebAdmin]でプラグインを有効にするか、 `[components]` のセクションを編集する 。48 1. [/admin/general/plugin WebAdmin]でプラグインを有効にするか、 `[components]` のセクションを編集する 49 49 {{{ 50 50 [components] … … 63 63 個々のポリシーはパーミッションチェックに対して `True`, `False`, `None` を返します。 ポリシーが明示的にパーミッションを許可する場合は、 `True` を返します。明示的に拒否する場合は、 `False` を返します。そして、パーミッションを許可も拒否もできない場合、 `None` が返されます。 64 64 65 N OTE: 戻り値が `None` の場合のみ、 ''次の'' パーミッションポリシーに問い合わせを行います。65 Note: 戻り値が `None` の場合のみ、 ''次の'' パーミッションポリシーに問い合わせを行います。 66 66 どのポリシーも明示的にパーミッションを許可しない場合、最終的な結果は `False` となります 67 67 (つまり、権限なしとみなされます)。 … … 102 102 103 103 * セクションは設定ファイルに書かれている '''順に''' 現在の Trac のリソース記述子に対して 104 チェックされます。'''順番は重要です''' 。104 チェックされます。'''順番は重要です''' 105 105 106 106 * 一度 セッションにマッチすれば、'''順に''' 現在のユーザ名がセッションの 107 キー (ユーザ名) と照合されます 。108 * キー (ユーザ名) の前に `@` を付けると、グループとして処理されます 。107 キー (ユーザ名) と照合されます 108 * キー (ユーザ名) の前に `@` を付けると、グループとして処理されます 109 109 * 値 (パーミッション) の前に `!` を付けると、そのパーミッションは 110 拒否されます 。111 112 通常の Trac パーミッションのルールを適用していれば、ユーザ名は、 'anonymous', 'authenticated', <username> '*' 等とマッチするはずです。 || '''Note:''' ユーザによって作成された (例えば、ブラウザ上から //管理 / 権限// (英語版では //Admin / Permissions//) の '権限グループの追加' (英語版では 'adding subjects to groups')) グループには使えません。詳細については [trac: ticket:5648 #5648] を参照してください。 ||110 拒否されます 111 112 通常の Trac パーミッションのルールを適用していれば、ユーザ名は、 'anonymous', 'authenticated', <username> '*' 等とマッチするはずです。 || '''Note:''' ユーザによって作成された (例えば、ブラウザ上から //管理 / 権限// (英語版では //Admin / Permissions//) の '権限グループの追加' (英語版では 'adding subjects to groups')) グループには使えません。詳細については [trac:#5648 #5648] を参照してください。 || 113 113 114 114 例えば、 `authz_file` が次の内容を含み: … … 129 129 130 130 結果: 131 * WikiStart の全てのバージョンは、 (匿名ユーザも含む) 全員が閲覧できます 。132 * !PrivatePage は john が表示可能です 。133 * 他のページは john と jack が表示可能です 。131 * WikiStart の全てのバージョンは、 (匿名ユーザも含む) 全員が閲覧できます 132 * !PrivatePage は john が表示可能です 133 * 他のページは john と jack が表示可能です 134 134 135 135 Groups: … … 152 152 - すべてのアクセスがブロックされます (ホワイトリストアプローチ)。しかし 153 153 - admins グループはすべてにおいて TRAC_ADMIN 権限を取得しており、 154 - devs グループは Wiki ページを閲覧可能です 。154 - devs グループは Wiki ページを閲覧可能です 155 155 156 156 リポジトリの例 (閲覧ソースの詳細設定): … … 192 192 193 193 194 ==== 備わっていない機能 ==== #MissingFeatures195 粒度が細かいパーミッションでは!DefaultPermissionPolicyで行っていたような (管理画面での) グループ機能は備わっていません ([trac: ticket:9573 #9573], [trac:ticket:5648 #5648] 参照)。パッチは一部利用可能です( [trac:ticket:6680 #6680] にある authz_policy.2.patch を参照してください)194 ==== 利用不可となる機能 ==== #MissingFeatures 195 粒度が細かいパーミッションでは!DefaultPermissionPolicyで行っていたような (管理画面での) グループ機能は備わっていません ([trac:#9573 #9573], [trac:#5648 #5648] 参照)。パッチは一部利用可能です( [trac:#6680 #6680] にある authz_policy.2.patch を参照してください) 196 196 197 197 利用不可となる機能: … … 204 204 }}} 205 205 206 パーミッショングループも同様にサポートされていません。 利用不可となる機能:206 パーミッショングループも同様にサポートされていません。下記のことができません: 207 207 {{{ 208 208 [groups] … … 288 288 }}} 289 289 290 複数のプロジェクト Environment において、プロジェクト全体にどのようにアクセス制限を行うかについての情報は [ http://trac.edgewall.org/wiki/TracMultipleProjectsSVNAccess] を参照してください。290 複数のプロジェクト Environment において、プロジェクト全体にどのようにアクセス制限を行うかについての情報は [trac:TracMultipleProjectsSVNAccess] を参照してください。 291 291 292 292 == デバッグ用パーミッション #DebuggingPermissions