GitHub を使用してソース管理リポジトリのアクセス許可を構成する

完了

GitHub リポジトリのアクセス許可を最適な方法で実装するには、コラボレーションを促進することと、コードベースを悪用や誤用から保護することの適切なバランスを見つける必要があります。 GitHub では、データのプライバシー、セキュリティ、整合性の原則を維持しながら、チームが効率的に相互に対話できるようにするきめ細かいアクセス制御がサポートされています。

アクセス許可モデルは、GitHub アカウントの種類によって異なります。 個人と組織が作成できるアカウントには、次の 5 種類があります。

  • GitHub Free for personal accounts: 無料で個別に使用できます。これには、完全な機能セットを持つ無制限のパブリック リポジトリの無制限のコラボレーターや、制限付きの機能セットを持つ無制限のプライベート リポジトリが含まれます。
    課題とプルリクエスト。
  • GitHub Pro: 無制限のパブリック リポジトリとプライベート リポジトリ、無制限のコラボレーター、高度なコード レビュー ツールなど、プロの開発者向けの
  • GitHub Free for organization: 無料です。完全な機能セットを持つ無制限のパブリック リポジトリの無制限のコラボレーターや、制限付き機能セットを持つ無制限のプライベート リポジトリを含む、組織は無料です。 個人アカウントで GitHub Free で利用できる機能に加えて、GitHub Free for organization では、1 か月あたりの GitHub Actions の分数と、より高い GitHub Packages ストレージの上限が提供されます。
  • GitHub チーム: GitHub Pro のすべての機能、チームとユーザーのアクセス許可、コード レビュー ツール、プライベート リポジトリの高度なツールと機能など、チーム向けの
  • GitHub Enterprise: エンタープライズ レベルの組織向けの。GitHub Team のすべての機能のほか、シングル サインオン、監査ログ、コンプライアンス制御などのエンタープライズ レベルのセキュリティ機能も含まれます。 このプランはセルフホステッドであり、オンプレミスまたはクラウド環境 (GitHub Enterprise Cloud) で実行できます。

GitHub Free の個人アカウントにおけるリポジトリのアクセス権限

GitHub Free for personal accounts: パブリック リポジトリの場合、誰でもリポジトリを表示およびフォークできます。 プライベート リポジトリの場合、リポジトリ所有者は、リポジトリにアクセスして投稿できるユーザーを完全に制御でき、最大 3 人のコラボレーターが許可されます。 所有者は 1 人しか存在できないため、所有権のアクセス許可を別の個人アカウントと共有することはできません。 さらに、プライベート リポジトリでは、リポジトリの所有者はコラボレーターにのみ書き込みアクセス権を付与できます。 つまり、コラボレーターは、個人アカウントが所有するリポジトリへの読み取り専用アクセス権を持つことはありません。

GitHub Pro でのリポジトリのアクセス許可

GitHub Pro には、個人アカウント用の GitHub Free と同じリポジトリアクセス許可レベルがすべて含まれていますが、保護されたブランチやコード所有者などのより高度なコラボレーション機能があります。

組織向け GitHub Free のリポジトリのアクセス許可

組織向け GitHub Free にはチームを作成する機能が含まれており、さまざまなアクセス許可レベルを持つ特定のリポジトリへのアクセス権を付与できます。 Teams には書き込みアクセス権または管理者アクセス権を付与できます。また、カスタム ロールを作成して、別のユーザーまたはグループに特定のアクセス許可を付与することもできます。

組織内のユーザーの既定の非管理ロールは、組織のメンバーです。 既定では、組織のメンバーには、リポジトリを作成する機能など、いくつかのアクセス許可があります。

他の組織ロールには、次のようなリポジトリに対する昇格されたアクセス許可があります。

  • 組織のモデレーター: 組織が所有するパブリック リポジトリのコメントを非表示にする
  • セキュリティ マネージャー: 組織のすべてのリポジトリを読み取っています
  • 所有者: コラボレーターの追加、リポジトリへの書き込みと削除など、リポジトリ関連のすべてのアクセス許可を します。

組織の所有者は、いずれかのリポジトリにアクセスするときに、組織のすべてのメンバーに適用される基本アクセス許可を設定できます。 基本アクセス許可は、外部のコラボレーターには適用されません。 個々のリポジトリに対してより高いレベルのアクセス権を付与すると、基本アクセス許可がオーバーライドされます。

リポジトリへのカスタマイズされたアクセスは、組み込みのリポジトリ ロールを組織のメンバーと外部のコラボレーターに割り当てることで実装できます。 これらのロールには、次のものが含まれます。

  • 参照: リポジトリの内容をレビューできるようにしたいコードを扱わない共同作成者にお勧めします。
  • トリアージ: 書き込みアクセスがなくても自発的に問題、ディスカッション、プルリクエストを管理する必要がある共同作成者にお勧めします。
  • 書き込み: リポジトリに積極的にプッシュする共同作成者にお勧めします。
  • 管理: 機密性の高い操作や破壊的なアクションにアクセスせずにリポジトリを管理する必要があるプロジェクト マネージャーにお勧めします。
  • 管理者: セキュリティの管理やリポジトリの削除などの機密性の高い破壊的なアクションなど、完全な特権を必要とするユーザーにお勧めします。

GitHub Team でのリポジトリのアクセス許可

GitHub Team には、組織向けの GitHub Free と同じリポジトリアクセス許可レベルがすべて含まれており、チームのサポートと、承認された IP 範囲やエンタープライズ レベルの認証などのより高度なセキュリティ機能が追加されています。 Teams は、組織のメンバーのグループです。 組織の所有者とチームの保守担当者は、リポジトリに対するアクセス許可をチームに付与できます。

GitHub Enterprise Cloud でのリポジトリのアクセス許可

GitHub Enterprise Cloud はエンタープライズ レベルの組織向けに設計されており、GitHub Team のすべての機能とエンタープライズレベルの機能が含まれています

l シングル サインオン、監査ログ、コンプライアンス制御などのセキュリティ機能。 GitHub Enterprise Cloud では、ブランチ レベルでアクセス許可を管理する機能など、リポジトリのアクセス許可を細かく制御できます。組織の所有者は、カスタム ロールを作成して、組み込みの読み取り、トリアージ、書き込み、保守、および管理者ロールで使用できるアクセス許可よりも細かいアクセス許可をさまざまなユーザーまたはチームに付与することもできます。