GitHub Enterpriseの階層と権限整理

Git
この記事は約5分で読めます。
記事内に広告が含まれています。

GitHub Enterpriseでは、

  • Enterprise
  • Organization
  • Repository

の3つの階層が存在し、それぞれに異なる権限が設定されています。本記事では、各階層における権限の違いを整理し、権限の適切な管理について解説します。

適切な権限設定は、セキュリティの確保や業務効率の向上に直結します。特に、大規模なチームや複数のプロジェクトが同時に進行する環境では、役割ごとに明確な権限を設定することが重要です。

Enterpriseレベル

Enterpriseレベルでは、以下の3つの役割が定義されています。

  • Enterprise Owner
    Enterprise全体の管理を行う最高権限者。ユーザー管理やポリシー設定を担当し、全体の運用を統括する。
  • Enterprise Member
    Enterpriseに所属する一般メンバーです。
  • Billing Manager
    Enterpriseレベルの請求情報の管理を担当し、支払い方法の設定や契約プランの変更を行う。

Billing Managerはライセンスを消費しないため、財務担当者に割り当てることがあります。なお、OwnerはMember&Billing Managerの権限を含みます。

Enterpriseレベルの管理は、特に大規模組織において重要です。適切な管理者を配置し、組織のポリシーに沿った運用を行うことが求められます。

Roles in an enterprise - GitHub Enterprise Cloud Docs
Learn which roles you can assign to control access to your enterprise's settings and data.

Organizationレベル

OrganizationはEnterprise内に作成され、以下の役割が設定できます。

  • Organization Owner
    Organization全体の管理を行い、メンバーの追加・削除、権限設定、セキュリティポリシーの適用などを担当する。Memberでもある。
  • Organization Member
    Organizationに所属する一般メンバーであり、Organization Ownerの設定した権限の範囲内でリポジトリにアクセス可能。

Organization内の全Repositoryにアクセス可能であるか、個別のRepositoryにアクセス可能であるかは、別途Organization Ownerがポリシー設定可能です。または、Organization Roleも使うことがあります。

Organization Role

さらに、Organization Memberには以下のOrganization Roleを付与できます。

Organization Roleの利用は任意ですが、Owner権限の一部をMemberに委譲したい場合には便利です。

  • All-repository read
    Organization内のすべてのリポジトリの閲覧が可能。
  • All-repository write
    Organization内のすべてのリポジトリへの書き込みが可能。
  • All-repository triage
    IssueやPull Requestの管理が可能。
  • All-repository maintain
    リポジトリのメンテナンス作業が可能。
  • All-repository admin
    リポジトリの管理者権限。
  • CI/CD Admin
    CI/CDに関連する権限を持つ。
  • Security Manager
    セキュリティ関連の管理を担当。

さらに、カスタムロールを設定することも可能です。組織のニーズに応じて、特定の権限を組み合わせたカスタムロールを作成し、より柔軟な管理が可能になります。

これらの権限はOrganization Ownerが設定できます。

組織の規模や開発プロセスに応じて適切なロールを設定することで、アクセス管理を強化し、効率的な運用が可能になります。

About custom organization roles - GitHub Enterprise Cloud Docs
You can control access to your organization's settings and repositories with custom organization roles.

Repositoryレベル

Organization内に作成されたリポジトリごとに、以下の権限を設定できます。

  • Admin
    リポジトリの管理全般を行い、メンバーの追加や削除、設定の変更が可能。
  • Maintainer
    リポジトリの維持管理が可能で、ブランチ保護や設定変更ができる。
  • Write
    コードの書き込みが可能で、新規ファイルの追加や既存ファイルの変更が可能。
  • Triage
    IssueやPull Requestの整理が可能で、ラベル付けやアサインの管理を担当。
  • Read
    リポジトリの閲覧のみ可能で、コードの閲覧やIssueの作成・参照ができる。

リポジトリレベルの権限設定は、開発チームのコラボレーションに大きく影響します。適切なアクセス制御を行うことで、意図しない変更を防ぎ、スムーズな開発を支援できます。


似た記事になりますが、次の記事は組織内のRepository権限にフォーカスしています。

まとめ

GitHub Enterpriseでは、

  • Enterpriseレベルでの管理者(Enterprise Owner)が全体の統括を行い、
  • Organizationレベルでの管理者(Organization Owner)が組織ごとの権限を設定し、
  • Repositoryレベルでの権限管理を行うことで、 適切なアクセス管理を実現できます。

それぞれの階層で適切な権限を設定し、管理の効率化を図りましょう。特に、

  • Enterprise Ownerは全体のポリシーを決定し、セキュリティや管理方針を策定する
  • Organization Ownerは組織内の開発体制に応じた権限設計を行う
  • リポジトリレベルでは、開発者が適切に権限を持ち、業務を遂行できるように設定する

これらを意識することで、より強固でスムーズな運用が可能になります。

コメント

Top
タイトルとURLをコピーしました