GitHubのorganizationは、複数メンバーをまとめるグループ機能です。当記事では、organizationの作成方法と使い方についてまとめています。
GitHubのorganization作成方法
実際にGitHub上でorganizationを作成してみましょう。GitHubアカウント作成済みの前提で解説します。
【関連記事】
▶GitHubのアカウント作成 公式サイトから数分で完了 合わせて二段階認証などの初期設定
organization(組織)は、画面右上のアイコン→Settingsから作成可能です。Settings→Organizations→New organizationをクリックします。
organizationの作成には、無料プラン、有料のTeamプランとEnterpiseプランがあります。有料プランはパッケージのサイズや実行可能なActions数が大きく設定されています。ここでは、Freeプランを選択します。
organizationのアカウント名と組織への連絡用メールアドレスを入力します。アカウント名は、他のGitHub会員が作った組織名と同じものは作れないため、望み通りの名前がつけられないかも知れません。今回テスト用に「my-organization」「github-org」「gh-organization」などを試しましたがすべて既に存在していました。
This organization belongs toには、organizationの所属先を選びます。My personal account(個人アカウント)か、A business or instittion(ビジネスまたは機関)が選べます。
最後に、「検証する」をクリックして、ロボット対策の選択式のクイズに回答します。
今回は、gh-personalorgというorganizationアカウントを作成しました。organizationに参加させるメンバーをこの画面で追加することができます。「Search by username…」の欄にメンバーの情報を入力すると該当するユーザ名が表示されるので追加していきます。
完了したら、「Complete setup」をクリックします。なお、organization作成者はすでに追加されているので、この画面での追加は不要です。他のメンバーの追加も、あとからできます。
この時点で、既にorganizationは作成完了しています。続いて表示されるのはアンケート入力画面になります。入力してもしなくても問題ありません。
画面右上のアイコン→Settings→Organizationに作成されたorganizationが表示されます。
organization名の右のSettingsをクリックすると、organiztionのプロフィールを入力できます。また、Transform accountにて、既存のGitHubアカウントをorganization用アカウントに変更することも可能です。ただし、organizationに参加中は変更ができないのでいったんorganizaionを抜け(Leave)てからTransformする必要があります。
【関連記事】
▶GitHubのアカウント解説 アカウント種類とやっておくべき設定
organizationのURLは、https://github.com/organization名となります。以下は、今回作成したorganizationのページです。
organizationにメンバーを追加
メンバーを追加するには、organizationのページからPoepleをクリックし、Invite memberボタンをクリックします。
検索欄にメンバーのユーザ名、フルネーム、メールアドレスの一部を入力すると招待メンバーの候補が表示されるので選択。Inviteボタンで招待メールを送信します。
招待期限は7日間です。期間をすぎると再度招待の手順を行う必要があります。
organizationメンバーのアクセス権限
メンバーのアクセス権限のデフォルトは、organizationのページ→Settings→Member privilegesから設定できます。パーミッションなし、Read、Write、Adminの4つの権限が選べます。セットアップ直後はReadになっています。
- Read: プロジェクトを表示またはプロジェクトについてディスカッション可能。コードを書かないコントリビューターにおすすめ
- Triage: 書き込みアクセスは不可だが、Issue やプルリクエストを管理可能。コントリビューターにおすすめ
- Write: プロジェクトに積極的にプッシュしたいコントリビューターにおすすめ。一般の開発者はこの権限。
- Maintain: 一般的なリポジトリ管理の操作が可能。プロジェクト管理者におすすめ
- Admin: セキュリティの管理やリポジトリの削除など、プロジェクトへの完全なアクセスが必要な人におすすめ
関連)Organization のリポジトリ権限レベル – GitHub Docs
なお、メンバーごとにアクセス権限を変更するには、Peopleタブにて、Roleの歯車アイコン→Manageをクリックしてアクセス権限を設定します。
organizationメンバーのセキュリティポリシー
Settings→Organization securityで、メンバーに2段階認証を強制する設定が可能です。
「Require twho-factor autentication for everyone in the 組織名 organization.」にチェックを入れると、2段階認証設定をしていないメンバー、支払い管理者、外部コラボレーターがorganizatiionから除外されます。オーナーが2段階認証設定をしていないと、この項目はオンにできません。
この画面でIPアドレスの許可リスト(IP allow list)を設定して、ユーザの利用するネットワークを制限することも可能です。
organizationの監査ログ
organizationでは、操作履歴が監査ログとして残ります。オペレーションミスの追跡や、権限のあるメンバーの不正な操作の調査などに利用できます。
organizationの管理者がレビュー可能。過去90日以内にorganizationに影響を与えたイベントが一覧表示されます。以下の情報が記録されます。
- アクションの対象となったリポジトリ
- アクションを実行したユーザ
- 実行されたアクション
- アクションが実行された国
- アクションが発生した日時
テキストでのイベント検索は出来ませんが、フィルターを使用して検索クエリを作成できます。
参考)Organization の Audit log をレビューする – GitHub Docs
有料のEnterpriseアカウントを使用すると、さらに高度な監査をおこなうことができます。
まとめ
- GitHubのorganizationは複数メンバーをあつめたグループを作成する
- organizationのメンバーにはセキュリティポリシーやアクセス権限の設定が可能
- 無料プランのほかに、より高度な機能を持つorganizationの有料プランが用意されている