Changes between Initial Version and Version 1 of TracPermissions


Ignore:
Timestamp:
Apr 10, 2015, 1:03:53 PM (10 years ago)
Author:
trac
Comment:

--

Legend:

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