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