GitHub 上のアクセス権限 - GitHub ドキュメント
GitHub における操作を行う上では、ユーザーは操作に必要な権限を持っている必要がある。
個人用アカウントにおけるアクセス権限
個人用アカウント、つまり GitHub.com でサインアップしたアカウントには以下の2つのアクセス許可レベルがある
- リポジトリ保有者
- リポジトリを完全に制御できる、唯一のリポジトリオーナー
- リポジトリオーナーの権限
- コラボレーター
Organization アカウントにおけるアクセス権限
Organization に関する権限設定では以下の要素が存在する
- Organizationにおけるロール
- Organization のリポジトリに関するロール
- Organization teams 機能
Organization におけるロール
組織のメンバーには、ロールを割り当ててそのロールの権限のもと操作が可能。
組織にメンバーを詳細する際、以下のどちらかを選択し招待する形となる
その他のアクセス許可レベルとして以下がある
- モデレーター(Organization moderators)
- 組織のメンバーとしての権限に加え、以下のような権限を持つ
- メンバー以外の投稿者をブロックおよびブロック解除
- インタラクション制限を設定
- 組織が所有する公開リポジトリ内のコメントを非表示に
- 組織のメンバーとしての権限に加え、以下のような権限を持つ
- 支払いマネージャー(Billing managers)
- 組織の請求設定を管理できるユーザー
- セキュリティマネージャー(Security managers)
- 組織全体のセキュリティ機能の設定を管理する権限を持つロール
- GitHub App マネージャー(GitHub App managers)
- 他のユーザーやチームにGitHub Appの管理を委譲したい場合に設定するロール
- デフォルトでは組織の所有者のみが組織のGitHub Appを管理できる
- 組織外のコラボレーター(Outside collaborators)
- 明示的に組織のメンバーには招待、登録しないが、一つ以上の組織リポジトリにアクセスさせたい場合のロール
Organization のリポジトリに関するロール
組織のメンバー、外部のコラボレーター、チームにロールを割り当てることで、組織が所有するリポジトリへのさまざまなアクセスレベルを与えられる。
Organization リポジトリで設定できるロールは以下
Read- プロジェクトの閲覧など、コードを書かないコントリビューター向け
Triage- issue や 議論、プルリクエストを実施できるが、書き込み権限(write access)を制限したいコントリビューター向け
Write- アクティブにプロジェクトにpushするコントリビューター向け
Maintain- リポジトリに対するセンシティブもしくは破壊的なアクションを制限したプロジェクト管理者向け
Admin- センシティブかつ破壊的なアクション(セキュリティ管理やリポジトリ削除など)といったプロジェクトに対するフルアクセスが必要なユーザー向け
Organization teams 機能
tesms 機能により、組織内のユーザーのアクセスを管理したり、通知を送信したりできる
team は組織のメンバーだけで構成でき、外部の協力者はチームに参加できない。
Enterprise アカウントにおけるアクセス権限
エンタープライズ設定へのユーザーのアクセスを定義するさまざまな役割があらかじめ定義されている
詳しい情報はAbilities of roles in an enterpriseを参照