初期バージョン から バージョン 1 における更新: TracPermissions

差分発生行の前後
無視リスト:
更新日時:
2011/12/16 18:40:18 (13 年 前)
更新者:
trac
コメント:

--

凡例:

変更なし
追加
削除
変更
  • TracPermissions

    v1 v1  
     1= アクセス制御とパーミッション = #TracPermissions 
     2[[TracGuideToc]] 
     3 
     4Trac はシンプルなアクセス制御システムを使用しています。大文字小文字は区別されます。 
     5 
     6パーミッションの付与は [wiki:TracAdmin trac-admin] ツール、または (バージョン 0.11 の新しい機能では) ''管理'' (英語版では ''Admin'') Web インタフェースの ''一般設定 / パーミッション'' (英語版では ''General / Permissions'') パネルを使用して操作します。 
     7 
     8このページで説明するデフォルトのパーミッションポリシーに加え、他のパーミッションポリシーを使用することができます。プラグインを有効化し、 TracIni の `[trac] permission_policies` リストのエントリに追加してください。詳細は TracFineGrainedPermissions を参照してください。 
     9 
     10認証していないユーザは "anonymous" としてシステムにアクセスします。 "anonymous" ユーザには anonymous/guest ユーザの権限を割り当てます。 権限が与えられていない Trac のモジュールはナビゲーションバーに表示されません。 
     11これらの権限に加えて、登録したユーザ (HTTP 認証を行ったユーザ) には個別に権限を付与することができます。ログインしたすべてのユーザは "authenticated" という仮想グループに所属します ("authenticated" は "anonymous" からパーミッションを継承します)。 
     12 
     13== Web Admin でのタブ == #GraphicalAdminTab 
     14''この機能はバージョン 0.11 で追加されました。'' 
     15 
     16このタブにアクセスするには `TRAC_ADMIN 権限` が必要です。以下の要領で権限を付与してください (trac-admin スクリプトを使用します): 
     17{{{ 
     18  $ trac-admin /path/to/projenv permission add bob TRAC_ADMIN 
     19}}} 
     20 
     21そのユーザは Web Admin でタブが表示されるようになり、パーミッションのメニューにアクセスできるようになります。このメニューでは、以下に記述される全ての機能を Web ブラウザから使用でき、サーバへの root 権限でのアクセスは必要としません (ユーザアカウントに適切なパーミッションが付与されている必要があります)。 
     22 
     23 
     24An easy way to quickly secure a new Trac install is to run the above command on the anonymous user, install the [http://trac-hacks.org/wiki/AccountManagerPlugin AccountManagerPlugin], create a new admin account graphically and then remove the TRAC_ADMIN permission from the anonymous user.  (訳者註: secure と書いてありますがセキュリティ的に脆弱な瞬間が発生するため、お薦めできません。コマンドを使用してください。) 
     25 
     26== 付与できる権限 == #AvailablePrivileges 
     27 
     28あるユーザで全ての権限を有効にしたい場合、 `TRAC_ADMIN` 権限を使用してください。 `TRAC_ADMIN` 権限を持っているユーザは *NIX システムでの `root` と同じように、いかなる操作も行うことができます。 
     29 
     30または Trac の機能ごとに異なる種類の権限を、ユーザごとに個別に付与することができます。('''パーミッション名は大文字/小文字を区別します'''): 
     31 
     32=== リポジトリブラウザ === #RepositoryBrowser 
     33 
     34|| `BROWSER_VIEW` || [wiki:TracBrowser リポジトリブラウザ] でディレクトリの一覧表示を行う || 
     35|| `LOG_VIEW` || [wiki:TracBrowser リポジトリブラウザ] でファイルとディレクトリのリビジョンログを表示する || 
     36|| `FILE_VIEW` || [wiki:TracBrowser リポジトリブラウザ] でファイルを表示する || 
     37|| `CHANGESET_VIEW` || [wiki:TracChangeset リポジトリへのチェックイン] を表示する || 
     38 
     39=== チケットシステム === #TicketSystem 
     40 
     41|| `TICKET_VIEW` || 登録済みの [wiki:TracTickets チケット] を表示し、 [wiki:TracQuery チケットクエリ] を実行する || 
     42|| `TICKET_CREATE` || 新規 [wiki:TracTickets チケット] を登録する || 
     43|| `TICKET_APPEND` || [wiki:TracTickets チケット] にコメントや添付ファイルを追加する || 
     44|| `TICKET_CHGPROP` || チケットの概要フィールドを除いた [wiki:TracTickets チケット] 属性 (優先度 (Priority), 担当者 (Owner), キーワード (Keywords)など) を変更する。ログインしていたり、ユーザ設定 (Pref) を設定している場合、関係者 (Cc) に自分を追加/削除できる || 
     45|| `TICKET_MODIFY` || `TICKET_APPEND` と `TICKET_CHGPROP` の両方に加え、 [wiki:TracTickets チケット] の解決を可能にする || 
     46|| `TICKET_EDIT_CC` || 関係者 (英語版では Cc) のリストを直接編集できる || 
     47|| `TICKET_EDIT_DESCRIPTION` || 説明 (英語版では description) フィールドを編集できる || 
     48|| `TICKET_ADMIN` || 全ての `TICKET_*` 権限に加え、チケットへの添付ファイルの削除やチケットの概要フィールドの変更を可能にする || 
     49 
     50注意: "チケットを見る" (英語版では "view tickets") ボタンは、 `REPORT_VIEW` 権限で表示されます。 
     51 
     52=== ロードマップ === #Roadmap 
     53 
     54|| `MILESTONE_VIEW` || マイルストーンを表示する || 
     55|| `MILESTONE_CREATE` || 新しいマイルストーンを作成する || 
     56|| `MILESTONE_MODIFY` || 既に存在するマイルストーンを編集する || 
     57|| `MILESTONE_DELETE` || マイルストーンを削除する || 
     58|| `MILESTONE_ADMIN` || 全ての `MILESTONE_*` 権限を持つ || 
     59|| `ROADMAP_VIEW` || [wiki:TracRoadmap ロードマップ] を表示する, (すでに) MILESTONE_VIEW と同じではない [http://trac.edgewall.org/ticket/4292 #4292] 参照 || 
     60|| `ROADMAP_ADMIN` || [http://trac.edgewall.org/ticket/3022 #3022] で削除され、 MILESTONE_ADMIN に置き換えられた || 
     61 
     62=== レポート === #Reports 
     63 
     64|| `REPORT_VIEW` || [wiki:TracReports レポート] を表示する。つまり "チケットを見る" (英語版では "view tickets") リンク || 
     65|| `REPORT_SQL_VIEW` || [wiki:TracReports レポート] の SQL を表示する || 
     66|| `REPORT_CREATE` || 新しい [wiki:TracReports レポート] を作成する || 
     67|| `REPORT_MODIFY` || 既に存在する [wiki:TracReports レポート] を編集する || 
     68|| `REPORT_DELETE` || [wiki:TracReports レポート] を削除する || 
     69|| `REPORT_ADMIN` || 全ての `REPORT_*` 権限を持つ || 
     70 
     71=== Wiki システム === #WikiSystem 
     72 
     73|| `WIKI_VIEW` || 既に存在する [wiki:TracWiki Wiki] ページを表示する || 
     74|| `WIKI_CREATE` || 新しい [wiki:TracWiki Wiki] ページを作成する || 
     75|| `WIKI_MODIFY` || [wiki:TracWiki Wiki] ページを編集する || 
     76|| `WIKI_DELETE` || [wiki:TracWiki Wiki] ページと添付ファイルを削除する || 
     77|| `WIKI_ADMIN` || 全ての `WIKI_*` 権限に加え、 ''読み込み専用'' ページを管理する || 
     78 
     79=== パーミッション === #Permissions 
     80 
     81|| `PERMISSION_GRANT` || パーミッションを追加および付与する || 
     82|| `PERMISSION_REVOKE` || パーミッションを削除およびはく奪する || 
     83|| `PERMISSION_ADMIN` || 全ての `PERMISSION_*` 権限を持つ || 
     84 
     85 
     86=== その他 === #Others 
     87 
     88|| `TIMELINE_VIEW` || [wiki:TracTimeline タイムライン] を表示する || 
     89|| `SEARCH_VIEW` || [wiki:TracSearch 検索] の表示と実行 || 
     90|| `CONFIG_VIEW` || ''Trac について'' (英語版では ''About Trac'') のページに追加して、現在のコンフィグやインストールされているプラグインの表示を可能にする || 
     91|| `EMAIL_VIEW` || [wiki:TracIni `show_email_addresses` が `false`] でもメールアドレスを表示する || 
     92 
     93== 権限の付与 == #GrantingPrivileges 
     94 
     95[wiki:TracAdmin trac-admin] を使用してユーザに権限を与えて下さい。現在設定されている権限は以下のコマンドで一覧できます: 
     96{{{ 
     97  $ trac-admin /path/to/projenv permission list 
     98}}} 
     99 
     100次のコマンドはユーザ ''bob'' にレポートの削除権限を与えます: 
     101{{{ 
     102  $ trac-admin /path/to/projenv permission add bob REPORT_DELETE 
     103}}} 
     104 
     105`permission add` コマンドでは複数の権限を扱うことができます: 
     106{{{ 
     107  $ trac-admin /path/to/projenv permission add bob REPORT_DELETE WIKI_CREATE 
     108}}} 
     109 
     110次のコマンドはユーザ ''bob'' に管理者権限を与えます: 
     111{{{ 
     112  $ trac-admin /path/to/projenv permission add bob TRAC_ADMIN 
     113}}} 
     114 
     115== パーミッショングループ == #PermissionGroups 
     116 
     117二つのビルトイングループ "認証済み (authenticated)" と "匿名 (anonymous)" があります。[[BR]] 
     118ログインしていないユーザは自動的に "匿名 (anonymous)" グループに属します。[[BR]] 
     119ログインしたユーザは "認証済み (authenticated)" グループに属します。[[BR]] 
     120"認証済み (authenticated)" グループの権限は "匿名 (anonymous)" グループの権限を継承します。[[BR]] 
     121例えば、"匿名 (anonymous)" グループが WIKI_MODIFY 権限を持っていれば、"認証 (authenticated)" グループに WIKI_MODIFY 権限を与える必要はありません。 
     122 
     123カスタムグループは二つのビルトイングループから権限を継承します。 
     124 
     125パーミッションをグループ化してロール (''developer''、''admin''、etc.) を構成することができます 
     126{{{ 
     127  $ trac-admin /path/to/projenv permission add developer WIKI_ADMIN 
     128  $ trac-admin /path/to/projenv permission add developer REPORT_ADMIN 
     129  $ trac-admin /path/to/projenv permission add developer TICKET_MODIFY 
     130  $ trac-admin /path/to/projenv permission add bob developer 
     131  $ trac-admin /path/to/projenv permission add john developer 
     132}}} 
     133 
     134グループのメンバーは {{{permission list}}} を引数なしで起動すると見ることができます; 出力される結果にはグループのメンバが含まれています。 '''グループ名には小文字を使ってください。大文字は権限名のために予約されています。''' 
     135 
     136== グループと権限を追加する == #AddingaNewGroupandPermissions 
     137あなたが望むようにパーミッショングループを作り、ユーザを割り当てて、そのグループに権限を付与することができます。 
     138 
     139以下は、新しいグループ ''beta_testers'' に ''bob'' というユーザを割り当てて、 ''beta_testers'' に WIKI_ADMIN の権限を付与する例です ( その結果 ''bob'' は WIKI_ADMIN という権限を引き継ぐでしょう ) 。 
     140{{{  
     141   $ trac-admin /path/to/projenv permission add bob beta_testers 
     142   $ trac-admin /path/to/projenv permission add beta_testers WIKI_ADMIN 
     143 
     144}}} 
     145 
     146== パーミッションを削除する == #RemovingPermissions 
     147 
     148パーミッションは 'remove' コマンドを使用して削除します。例: 
     149 
     150このコマンドは、ユーザ ''bob'' から レポートを削除する権限を削除します: 
     151{{{ 
     152  $ trac-admin /path/to/projenv permission remove bob REPORT_DELETE 
     153}}} 
     154 
     155`permission add` と同様に、このコマンドは複数の権限名を扱うことができます。 
     156 
     157特定のユーザからすべての権限を削除することもできます: 
     158{{{ 
     159  $ trac-admin /path/to/projenv permission remove bob '*' 
     160}}} 
     161 
     162または、すべてのユーザからある権限を削除することもできます: 
     163{{{ 
     164  $ trac-admin /path/to/projenv permission remove '*' REPORT_ADMIN 
     165}}} 
     166 
     167== デフォルトのパーミッション == #DefaultPermissions 
     168 
     169`匿名 (anonymous)` のユーザは、デフォルトで Trac 内の全てに対して ''参照 (view)'' 権限を持ちますが、作成 (create) および変更 (modify) の権限はありません。 
     170加えて、 `認証済み (authenticated)` のユーザは ''チケットと Wiki ページに関する作成 (create) 及び変更 (modify)'' の権限を持ちます。 
     171 
     172 '''匿名 (anonymous)''':: 
     173 BROWSER_VIEW  
     174 CHANGESET_VIEW  
     175 FILE_VIEW  
     176 LOG_VIEW  
     177 MILESTONE_VIEW  
     178 REPORT_SQL_VIEW  
     179 REPORT_VIEW  
     180 ROADMAP_VIEW  
     181 SEARCH_VIEW  
     182 TICKET_VIEW  
     183 TIMELINE_VIEW 
     184 WIKI_VIEW  
     185 
     186 '''認証済み (authenticated)''':: 
     187 TICKET_CREATE  
     188 TICKET_MODIFY  
     189 WIKI_CREATE  
     190 WIKI_MODIFY   
     191 
     192---- 
     193See also: TracAdmin, TracGuide and TracFineGrainedPermissions