Enterprise でのリポジトリ管理のポリシーについて
GitHub Enterprise Server で Enterprise のメンバーによるリポジトリ管理の方法を制御するポリシーを適用できます。 また、Organization 所有者がリポジトリ管理のポリシーを管理できるようにすることもできます。 詳細については、「リポジトリの作成と管理」および「組織とチームに関するドキュメント」を参照してください。
新しいリポジトリの既定の可視性を構成する
ユーザーが Enterprise 内に新しいリポジトリを作成するたびに、そのユーザーはリポジトリの可視性を選ぶ必要があります。 その Enterprise のデフォルトの可視性の設定をする際には、デフォルトで選択される可視性を選択します。 リポジトリの可視性について詳しくは、「リポジトリについて」をご覧ください。
Enterprise オーナーがメンバーによる特定のタイプのリポジトリの作成を禁止している場合、可視性設定がデフォルトでそのタイプに設定されていても、メンバーはそのタイプのリポジトリを作成できません。 詳細については、「リポジトリ作成のためのポリシーの適用」を参照してください。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ポリシー] で、[オプション] をクリックします。
-
"Default repository visibility(デフォルトのリポジトリの可視性)"の下で、ドロップダウンメニューを使ってデフォルトの可視性を選択してください。
警告: pull request や Issue へのコメントに画像添付を追加した場合、匿名化した画像 URL は認証なしに誰もが見ることができます。その pull request がプライベート リポジトリにあっても、またはプライベート モードが有効化されている場合でも関係ありません。 イメージへの不正アクセスを防ぐには、お使いの GitHub Enterprise Server インスタンス を含め、イメージを提供するシステムへのネットワーク アクセスを制限してください。
ベース リポジトリ権限ポリシーを適用する
自分の Enterprise が所有するすべての Organization で、Organization のメンバーに対してベース リポジトリ権限レベル (なし、読み取り、書き込み、または管理者) を設定したり、所有者が Organization レベルでの設定を管理できるようにしたりすることができます。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
[基本の権限] で、設定の変更に関する情報を確認します。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
[基本レベルの権限] で、ドロップダウン メニューを選び、ポリシーをクリックします。
リポジトリ作成に関するポリシーを適用する
Enterprise で所有しているすべての Organization 全体で、メンバーがリポジトリを作成できるようにしたり、リポジトリの作成を Organization の所有者に限定したり、所有者が Organization レベルで設定を管理できるようにしたりできます。
メンバーが Organization 内でリポジトリを作成できるようにする場合は、メンバーが作成できるリポジトリの種類 (パブリック、プライベート、内部) を選ぶことができます。
ユーザーが自分のユーザー アカウントで所有しているリポジトリを作成できないようすることができます。
内部リポジトリについて詳しくは、「新しいリポジトリの作成」をご覧ください。
Organizationのオーナーは、いつでも任意の種類のリポジトリを作成でき、外部のコラボレータはいかなる種類のリポジトリも作成できません。 詳しくは、「リポジトリについて」を参照してください。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
[Repository creation] で、設定変更に関する情報を読みます。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
"Repository creation(リポジトリの作成)"の下で、ポリシーを選択してください。
-
[メンバーによるリポジトリの作成が可能] を選択した場合は、リポジトリの種類を 1 つ以上選択します。
-
自分のユーザー アカウントで所有しているリポジトリを作成できないようにする場合は、必要に応じて、 [ユーザー名前空間リポジトリの作成をブロックする] を選んでください。
プライベートまたは内部リポジトリのフォークに関するポリシーを適用する
Enterprise が所有しているすべての Organization 全体で、ユーザーにリポジトリのフォーク用にプライベートまたは内部リポジトリへのアクセスを許可したり、プライベートまたは内部リポジトリのフォークを一切禁止したり、オーナーが Organization レベルで設定を管理できるようにしたりすることができます。
管理者アクセス許可を持つ人はフォーク ポリシーをさらに細かく設定できます。 詳しくは、「Organization のフォークポリシーを管理する」を参照してください。
メモ: "リポジトリ作成" ポリシーによって Enterprise のメンバーが自分のユーザー アカウントで所有しているリポジトリを作成できない場合は、"リポジトリ作成" ポリシーにかかわらず、メンバーが自分のユーザー アカウントでリポジトリをフォークすることはできません。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
[リポジトリのフォーク] で、設定変更についての情報を確認します。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
[リポジトリ フォーク] で、ドロップダウン メニューを選び、ポリシーをクリックします。
-
フォークが有効な場合、ユーザーがリポジトリをフォークできるポリシーを選びます。
リポジトリへのコラボレーターの招待に関するポリシーを適用する
エンタープライズが所有しているすべての組織全体で、メンバーがコラボレーターをリポジトリに招待できるようにすること、招待を組織所有者に限定すること、招待をエンタープライズ所有者に限定すること、組織所有者が組織レベルで設定を管理できるようにすることができます。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
[リポジトリへの招待]で、設定変更に関する情報を確認します。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
[リポジトリへの招待]で、ドロップダウン メニューを選択してポリシーをクリックします。
既定のブランチ名に関するポリシーを適用する
Enterprise で所有しているすべての Organization 全体で、メンバーが作成する新しいリポジトリの既定のブランチ名を設定できます。 すべての Organization 全体でそのデフォルトブランチ名を施行することも、Organization ごとに異なる名前を設定することもできます。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
[既定のブランチ名] に、新しいリポジトリに使う既定のブランチ名を入力します。
-
必要に応じて、Enterprise 内のすべての Organization に既定のブランチ名を適用するには、 [この Enterprise 全体に適用] を選びます。
-
[Update] をクリックします。
リポジトリの可視性の変更に関するポリシーを適用する
Enterprise で所有しているすべての Organization 全体で、管理者アクセス権を持つメンバーがリポジトリの可視性を変更できるようにしたり、リポジトリの可視性の変更を Organization 所有者に限定したり、所有者が Organization レベルで設定を管理できるようにしたりできます。 メンバーがリポジトリの可視性を変更できないようにした場合、Enterprise のオーナーのみがリポジトリの可視性を変更できます。
Enterprise のオーナーがリポジトリの作成を Organization のオーナーのみに制限している場合、メンバーはリポジトリの可視性を変更できません。 詳細については、「リポジトリ作成のためのポリシーの適用」を参照してください。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
[Repository visibility change] で、設定変更についての情報を確認します。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
[リポジトリの可視性の変更] で、ドロップダウン メニューを選び、ポリシーをクリックします。
リポジトリの削除と転送に関するポリシーを適用する
Enterprise で所有しているすべての Organization 全体で、管理者権限を持つメンバーがリポジトリを削除または転送できるようにしたり、リポジトリの削除と転送を Organization 所有者に限定したり、所有者が Organization レベルで設定を管理できるようにしたりできます。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ ポリシー] で、[メンバー権限] をクリックします。
-
「Repository deletion and transfer」で、設定変更に関する情報を確認します。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
[リポジトリの削除と移譲] の下のドロップダウン メニューを選んで、ポリシーをクリックします。
Issue の削除に関するポリシーを適用する
Enterprise で所有しているすべての Organization 全体で、管理者アクセス権を持つメンバーがリポジトリ内の Issue を削除できるようにしたり、Issue の削除を Organization 所有者に限定したり、所有者が Organization レベルで設定を管理できるようにしたりできます。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[リポジトリのポリシー] タブの [リポジトリの Issue の削除] で、設定変更についての情報を確認します。 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。
-
[リポジトリの問題の削除] で、ドロップダウン メニューを選び、ポリシーをクリックします。
Git プッシュ制限に関するポリシーを適用する
リポジトリのサイズを管理しやすくして、パフォーマンスの問題を防ぐために、Enterprise 内のリポジトリのファイルサイズ制限を設定できます。
デフォルトでは、リポジトリのアップロード制限を適用すると、100MB以上のファイルの追加やアップロードができなくなります。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ポリシー] で、[オプション] をクリックします。
-
[Repository upload limit] で、ドロップダウンメニューを使用して最大オブジェクトサイズをクリックします。
-
必要に応じて、Enterprise 内のすべてのリポジトリに対して最大アップロード制限を適用するには、 [すべてのリポジトリに適用] を選びます。
リポジトリにメンバー名を表示するためのポリシーの適用
Enterprise で所有しているすべての Organization 全体で、メンバーに対して、パブリックと内部リポジトリの issue や pull request で、ユーザー名に加え、コメント作成者のプロファイル名の表示を許可することができます。
注: このポリシーが Enterprise 内のすべてのリポジトリに適用されると、プライベート リポジトリの Organization 設定がオーバーライドされます。 詳細については、「Organization のメンバー名表示を管理する」を参照してください。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ポリシー] で、[オプション] をクリックします。
-
[パブリックと内部リポジトリでコメント作成者のプロファイル名を表示することをメンバーに許可する] で、ドロップダウン メニューを選び、ポリシーをクリックします。
-
必要に応じて、Enterprise 内のすべてのリポジトリにプロファイル名の表示を適用するには、 [インスタンス上のすべてのリポジトリに適用] を選びます。
リポジトリ間のプルリクエストのためのマージコンフリクトエディタを設定する
ユーザが自分のコンピュータ上でローカルにマージコンフリクトを解決するように要求すれば、うっかりフォークから上流のリポジトリに書き込んでしまうことを回避できます。
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ポリシー] で、[オプション] をクリックします。
-
[リポジトリ間の pull request の競合エディター] で、ドロップダウン メニューを使って [無効] を選びます。
フォースプッシュを設定する
各リポジトリは、リポジトリを所有するユーザー アカウントまたは Organization の設定から既定の強制プッシュ設定を継承します。 各 Organization とユーザー アカウントは、Enterprise の強制プッシュ設定から既定の強制プッシュ設定を継承します。 Enterprise の強制プッシュ設定を変更した場合、ポリシーは任意のユーザーまたは Organization が所有しているすべてのリポジトリに適用されます。
すべてのリポジトリへの強制プッシュをブロックする
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ポリシー] で、[オプション] をクリックします。
-
[強制プッシュ] でドロップダウン メニューを選び、 [許可] 、 [ブロック] 、または [既定のブランチへのブロック] をクリックします。
-
必要に応じて、Organization およびリポジトリ レベルの強制プッシュの設定をオーバーライドするには、 [すべてのリポジトリで強制] を選びます。
特定のリポジトリへのフォースプッシュをブロックする
注: 各リポジトリは、それを所有する組織またはユーザーから既定の設定を自動的に継承します。 リポジトリのオーナーが、所有するすべてのリポジトリに対して設定を強制している場合、デフォルト設定は上書きできません。
http(s)://HOSTNAME/login
で お使いの GitHub Enterprise Server インスタンス にサインインします。- GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
- [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
- [ユーザー、Organization、チーム、リポジトリ、gist、アプリケーションを検索する] のテキスト フィールドに、リポジトリの名前を入力します。 次に、フィールドの右側にある [検索] をクリックします。
- [検索結果 – リポジトリ] で、リポジトリの名前をクリックします。
- ページの右上隅にある [管理] をクリックします。
- [プッシュとプル] の [強制プッシュ] の右側にあるドロップダウン メニューを選び、 [ブロック] または [既定のブランチへのブロック] をクリックします。
ユーザアカウントもしくはOrganizationが所有するリポジトリへのフォースプッシュのブロック
リポジトリは、所属するユーザアカウントもしくはOrganizationからフォースプッシュの設定を引き継ぎます。 そして、それぞれの Organization およびユーザアカウントは、フォースプッシュの設定を Enterprise のフォースプッシュの設定から引き継ぎます。
引き継がれたデフォルトの設定は、ユーザアカウントもしくはOrganizationの設定をすることで上書きできます。
-
http(s)://HOSTNAME/login
で お使いの GitHub Enterprise Server インスタンス にサインインします。 -
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ユーザー、Organization、チーム、リポジトリ、gist、アプリケーションを検索する] のテキスト フィールドに、ユーザーまたは Organization の名前を入力します。 次に、フィールドの右側にある [検索] をクリックします。
-
検索結果で、ユーザもしくはOrganizationの名前をクリックしてください。
-
ページの右上隅にある [管理] をクリックします。
-
[リポジトリの既定の設定] の下の [強制プッシュ] セクションで、ポリシーを選びます。
- すべてのブランチへの強制プッシュをブロックするには、 [ブロック] を選びます。
- 既定のブランチへの強制プッシュのみをブロックするには、 [既定のブランチへのブロック] を選びます。
-
必要に応じて、リポジトリ固有の設定をオーバーライドするには、 [すべてのリポジトリで強制] を選びます。 これは、Enterprise 全体のポリシーをオーバーライドしないことに注意してください。
匿名 Git 読み取りアクセスを設定する
警告:
- Git プロトコルは認証されておらず、暗号化されていません。 攻撃者は、このプロトコルを使用した接続を介して転送されたリポジトリ データをインターセプトする可能性があります。
- 匿名 Git 読み取りアクセスを有効にする場合、この機能のすべてのアクセスと利用に責任を負うことになります。 GitHub は、この機能のあらゆる意図しないアクセス、セキュリティ リスク、悪用に対して責任を負いません。
- お使いの GitHub Enterprise Server インスタンス のユーザー ライセンス数の制限を含め、GitHub からのライセンスに違反するためにこの機能を使うことはできません。
お使いの GitHub Enterprise Server インスタンス に対してプライベート モードを有効にしている場合、リポジトリ管理者にパブリック リポジトリへの匿名 Git 読み取りアクセスの有効化を許可できます。
匿名 Git 読み取りアクセスを有効化すると、ユーザは Enterprise 上のカスタムツールの認証をバイパスできるようになります。 ユーザーまたはリポジトリ管理者がリポジトリに対してこのアクセス設定を有効にすると、認証されていない Git 操作 (そして GitHub Enterprise Server へのネットワーク アクセスができる人は誰でも) が、認証なしでリポジトリに読み取りアクセスできることになります。
匿名 Git 読み取りアクセスは既定で無効になっています。
必要に応じて、リポジトリのアクセス設定をロックすることで、リポジトリ管理者が Enterprise のリポジトリの匿名 Git アクセス設定を変更不可にすることができます。 リポジトリのGit読み取りアクセス設定をロックすると、サイト管理者だけがこの設定を変更できるようになります。
匿名 Git 読み取りアクセスが有効になっているリポジトリを見るには、サイト管理ダッシュボードでリポジトリのリストをフィルタリングしてください。
注:
- フォークされたリポジトリのGitの読み取りアクセスは変更できません。これは、それらがデフォルトでルートリポジトリからアクセス設定を引き継ぐためです。
- パブリックなリポジトリがプライベートになると、そのリポジトリ及びそのフォークでは匿名Git読み取りアクセスが自動的に無効化されます。
- 匿名認証を持つリポジトリにGit LFSアセットが含まれている場合でも、Git LFSのダウンロードには認証が必要なのでダウンロードは失敗します。 Git LFSアセットを含むリポジトリには、匿名Git読み取りアクセスを有効化しないよう強くおすすめします。
すべてのリポジトリに対する匿名 Git 読み取りアクセスを設定する
-
GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。
-
ページの左側にある Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。
-
[ポリシー] で、[オプション] をクリックします。
-
[匿名 Git 読み取りアクセス] で、ドロップダウン メニューを使って [有効] をクリックします。
-
必要に応じて、リポジトリ管理者が Enterprise のすべてのリポジトリで匿名 Git 読み取りアクセスの設定を変更できないようにするには、 [リポジトリ管理者が匿名 Git 読み取りアクセスを変更できないようにする] を選びます。
特定のリポジトリでの匿名 Git 読み取りアクセスを設定する
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ユーザー、Organization、チーム、リポジトリ、gist、アプリケーションを検索する] のテキスト フィールドに、リポジトリの名前を入力します。 次に、フィールドの右側にある [検索] をクリックします。
-
[検索結果 – リポジトリ] で、リポジトリの名前をクリックします。
-
ページの右上隅にある [管理] をクリックします。
-
[危険なゾーン] で、[匿名 Git 読み取りアクセスを有効にする] の横にある [有効にする] をクリックします。
-
変更を確認します。 確認するには、 [はい、匿名 Git 読み取りアクセスを有効にします] をクリックします。
-
必要に応じて、リポジトリ管理者がこのリポジトリのこの設定を変更できないようにするには、 [リポジトリ管理者が匿名 Git 読み取りアクセスを無効にできないようにする] を選びます。