by shigemk2

当面は技術的なことしか書かない

GitHubのOrganizationのTeamの権限について

Enterpriseを試していて、権限まわりがよくわからなかったので書きました。

Teamの権限についてはこれに載ってるので分かる人はこのエントリは読まなくていいと思います。 Permission levels for an organization repository · GitHub Help

あとどうでもいいですが、☓だとOKなのかNGなのかわからないです。

各アクセス権限について

Read Access

This team will be able to view and clone its repositories.(そのリポジトリに対しpullのみ可)

Write Access

This team will be able to read its repositories, as well as push to them.(そのリポジトリに対しpullとpushが可)

Admin Access

This team will be able to push/pull to its repositories, as well as add other collaborators to them.(そのリポジトリに対しpullとpushが可)

Read Accessはともかく、Write AccessとAdmin Accessの違いがちょっと良くわからないです。

というわけで、Organization内でユーザーが何を出来るか調べてみました。

誰がリポジトリを作ったかでpull/clone/pushが変わるので、リポジトリごとに表を作りました。

Ownerが作ったリポジトリ

ユーザー clone/pull push リポジトリ名の変更 リポジトリの削除
Read Acesss
Write Acesss
Admin Acesss
Owner

Admin Accessユーザーが作ったリポジトリ

ユーザー clone/pull push リポジトリ名の変更 リポジトリの削除
Read Acesss
Write Acesss
Admin Acesss
Owner

Write AccessユーザーとRead Accessユーザーはリポジトリを作れません。

チームについて

チームは複数作れます。チームの数に制限はないようです。とりあえず10個くらいチームをつくったけど大丈夫でした。 同じ権限のチームを複数作成することも出来ます。

Admin Access

自分のチームが作ったリポジトリについて

  • ブラウザでファイルを直接編集するとコミットされる
  • 自分で出したPRを自分でmergeできる
  • リポジトリ名の変更や削除は可能

別のチームが作ったリポジトリについて

  • ブラウザでファイルを直接編集するとコミットされずにpull requestとなる
  • その場合自分でPRのmergeは出来ないが、PRのcloseは出来る
  • 別のチームのリポジトリの設定は変更できない

Owner

当たり前かもしれないですが、OrganizationにOwnerは必須のようです。 チームはいくつあってもかまいませんが、Ownerは最低ひとり必要です。

各種action

ユーザー fork PRの作成 PRのmerge リポジトリ作成
Read Acesss
Write Acesss
Admin Acesss
Owner

なお、同じ権限でも別のチームが作ったリポジトリについてはブラウザでファイルを編集するとpull requestとなります。

また、Organizationに登録されていないアカウントは、push/PR/リポジトリ作成についてはRead Accessと同じ権限ですが、Private Repositoryを見ることは出来ません。