このガイドでは、エンタープライズ管理者として お使いの GitHub Enterprise Server インスタンス の設定、構成、管理を行う方法について説明します。
GitHub には、GitHub Enterprise をデプロイするための方法として、次の 2 つが用意されています。
- GitHub Enterprise Cloud
- GitHub Enterprise Server
GitHub Enterprise Cloud は、GitHub でホストされます。 GitHub Enterprise Server は、自身のデータセンターまたはサポートされているクラウド プロバイダーにデプロイしてホストすることができます。
GitHub Enterprise Server について詳しくは、「GitHub Enterprise Server について」をご覧ください。
パート 1: GitHub Enterprise Server のインストール方法
GitHub Enterprise Server を使い始めるには、Enterprise アカウントを作成してインスタンスをインストールし、初期設定に[Management Console]を使い、インスタンスの構成と支払いの管理を行う必要があります。
1. Enterprise アカウントの作成
GitHub Enterprise Server をインストールする前に、GitHub の営業チーム に連絡して、GitHub.com に Enterprise アカウントを作成できます。 GitHub.com の Enterprise アカウントは、支払いや、GitHub Connect を介した GitHub.com での共有機能に役立ちます。 詳しくは、「Enterprise アカウントについて」を参照してください。
2. GitHub Enterprise Server のインストール
GitHub Enterprise Server を使い始めるには、選択した仮想化プラットフォームにアプライアンスをインストールする必要があります。 詳しくは、「GitHub Enterprise Server インスタンスをセットアップする」を参照してください。
3. [Management Console]を使う
お使いの GitHub Enterprise Server インスタンスを初めて起動するときは、[Management Console]を使って、初期設定プロセスを実行します。 また、ライセンス、ドメイン、認証、TLS などのインスタンス設定の管理にも、[Management Console]を使うことができます。 詳しくは、「Web UI からインスタンスを管理する」を参照してください。
4. お使いの GitHub Enterprise Server インスタンス の構成
[Management Console]に加えて、サイト管理ダッシュボードと管理シェル (SSH) を使って お使いの GitHub Enterprise Server インスタンスを管理することもできます。 たとえば、アプリケーションやレート制限を構成したり、レポートを表示したり、コマンドライン ユーティリティを使用したりすることができます。 詳しくは、「GitHub Enterprise を設定する」を参照してください。
動的ホスト構成プロトコル (DHCP) を介して GitHub Enterprise Server で使用される既定のネットワーク設定を使用することも、仮想マシン コンソールを使用してネットワーク設定を構成することもできます。 プロキシサーバあるいはファイアウォールルールを設定することもできます。 詳しくは、「ネットワーク設定の構成」を参照してください。
5. 高可用性の構成
お使いの GitHub Enterprise Server インスタンス を高可用性向けに構成して、ハードウェア障害やネットワークの停止による影響を最小限に抑えることができます。 詳しくは、「高可用性の構成」を参照してください。
6. ステージング インスタンスのセットアップ
ステージング インスタンスを設定して、お使いの GitHub Enterprise Server インスタンス に適用される前に変更をテストし、ディザスター リカバリーを計画し、更新プログラムを試すことができます。 詳しくは、「ステージングインスタンスのセットアップ」を参照してください。
7. バックアップとディザスター リカバリーの指定
運用データを保護するには、GitHub Enterprise Server Backup Utilities による お使いの GitHub Enterprise Server インスタンス の自動バックアップを構成できます。 詳しくは、「インスタンスでのバックアップの構成」を参照してください。
8. Enterprise の支払いの管理
Enterprise アカウントに接続されているすべての組織および GitHub Enterprise Server インスタンスの請求は、すべての有料 GitHub.com サービスに対する単一の請求料金として集計されます。 Enterprise オーナーと支払いマネージャーは、Enterprise アカウントの支払い設定にアクセスして管理することができます。 詳しくは、「Enterpriseの支払いについて」を参照してください。
パート 2: Team の編成と管理
Enterprise オーナーまたは管理者は、ユーザー、リポジトリ、Team、Organization のレベルの設定を管理できます。 Enterprise のメンバーの管理、Organization の作成と管理、リポジトリ管理に関するポリシーの設定、Team の作成と管理を行うことができます。
1. お使いの GitHub Enterprise Server インスタンス のメンバーの管理
お使いの GitHub Enterprise Server インスタンス のメンバーの設定と監査アクティビティを管理できます。 エンタープライズ メンバーをサイト管理者に昇格させること、休止中のメンバーを管理すること、ユーザー アクティビティがないか監査ログを閲覧すること、エンタープライズ メンバーに表示されるメッセージをカスタマイズすることができます。 詳しくは、「Enterprise のユーザを管理する」を参照してください。
2. Organization の作成
会社またはグループの構造を反映させた新しい組織を お使いの GitHub Enterprise Server インスタンス で作成できます。 詳しくは、「新しい Organization をゼロから作成」を参照してください。
3. Organization へのメンバーの追加
管理対象の組織の組織所有者であれば、お使いの GitHub Enterprise Server インスタンス で組織にメンバーを追加できます。 組織メンバーシップの可視性を構成することもできます。 詳細については、「Organization への人の追加」および「Organizationのメンバーシップの可視性の設定」を参照してください。
4. チームの作成
Teams は、特定のリポジトリに対するアクセス許可をグループとして付与できる組織メンバーのグループです。 各組織で、個々のチームまたは複数のレベルの入れ子になったチームを作成できます。 詳細については、「Team の作成」および「Team への Organization メンバーの追加」を参照してください。
5. Organization とリポジトリのアクセス許可レベルの設定
各 Organization の限られた数のメンバーに、Organization の完全な管理アクセスを提供する Organization のオーナー ロールを与えることをお勧めします。 詳しくは、「Organizationのロール」を参照してください。
管理者権限を持つ Organization の場合、詳細な権限レベルを使って各リポジトリへのアクセスをカスタマイズすることもできます。 詳しくは、「Organizationのリポジトリロール」を参照してください。
6. リポジトリ管理ポリシーの適用
エンタープライズ所有者は、お使いの GitHub Enterprise Server インスタンス ですべての組織にリポジトリ管理ポリシーを設定したり、組織ごとに個別にポリシーを設定したりできます。 詳しくは、「Enterprise でリポジトリ管理ポリシーを適用する」を参照してください。
7. Enterprise の README を作成する
Enterprise での変更等をメンバーと共有するために README を作成する必要があります。 たとえば、README を使用すると、メンバーが Enterprise 内のさまざまな Organization について学習したり、重要なリソースへのリンクを共有したり、Enterprise の設定やポリシーに関する情報を共有するのに役立ちます。詳しくは、「Enterprise の README の作成」をご覧ください。
パート 3: 安全なビルド
お使いの GitHub Enterprise Server インスタンス のセキュリティを強化するには、エンタープライズ メンバーの認証を構成し、ツールと監査ログを使用してコンプライアンスを維持し、組織のセキュリティおよび分析機能を構成し、必要に応じて GitHub Advanced Security を有効にすることができます。
1. Enterprise メンバーの認証
GitHub Enterprise Server の組み込み認証方法を使用するか、CAS、LDAP、SAML などの外部の認証プロバイダーを選び、既存のアカウントを統合して、お使いの GitHub Enterprise Server インスタンス へのユーザー アクセスを一元的に管理することができます。 詳しくは、「ID とアクセス管理について」を参照してください。
また、Organization ごとに 2 要素認証を要求することもできます。 詳しくは、「Organizationに2要素認証を要求する」を参照してください。
2. コンプライアンスの維持
必要な状態チェックとコミット検証を実装して、Organization のコンプライアンス標準を適用し、コンプライアンス ワークフローを自動化できます。 また、Organization の監査ログを使用して、Team によって実行されるアクションをレビューすることもできます。 詳細については、「Pre-receive フックを使ってポリシーを適用する」および「企業の監査ログについて」を参照してください。
3. Organization のセキュリティ機能の構成
お使いの GitHub Enterprise Server インスタンス の organization のセキュリティ保護を維持するには、セキュリティ ポリシー、依存関係グラフ、シークレット スキャン、Dependabot のセキュリティおよびバージョン更新などの、GitHub のさまざまなセキュリティ機能を利用できます。 詳しくは、「組織のセキュリティ」 をご覧ください。
4. GitHub Advanced Security 機能の有効化
GitHub Enterprise Server ライセンスをアップグレードして、GitHub Advanced Security を含めることができます。 これにより、コードやシークレット スキャンなど、ユーザーがコード内のセキュリティ上の問題を検出して修正するのに役立つ追加機能が提供されます。 詳しくは、「自社で GitHub Advanced Security を有効にする」を参照してください。
パート 4: GitHub での Enterprise の作業のカスタマイズと自動化
GitHub と OAuth apps、GitHub Enterprise Server API、GitHub Actions、GitHub Packages、GitHub Pages を使用して、Enterprise 内の Organization での作業をカスタマイズおよび自動化できます。
1. GitHub Apps と OAuth apps
のビルド
GitHub Apps や OAuth apps などの GitHub Enterprise Server API との統合を構築し、ワークフローを補完および拡張するために Enterprise 内の Organization で使用することができます。 詳しくは、「GitHub App の作成について」を参照してください。
2. GitHub Enterprise Server API の使用
GitHub Enterprise Server API には REST API と GraphQL API という 2 つのバージョンがあります。 GitHub Enterprise Server API を使用し、一般的なタスクを自動化したり、データをバックアップしたり、GitHub Enterprise Server を拡張する統合を作成したりできます。 詳しくは、「GitHub の REST API と GraphQL API の比較」を参照してください。
3. GitHub Actions のビルド
GitHub Actions を利用すると、GitHub Enterprise Server で お使いの GitHub Enterprise Server インスタンス の開発ワークフローを自動化したり、カスタマイズしたりできます。 独自のアクションを作成したり、GitHubコミュニティで共有されたアクションを利用したりカスタマイズしたりできます。 詳しくは、「ワークフローの書き込み」を参照してください。
GitHub Enterprise Server での GitHub Actions の有効化と構成について詳しくは、「GitHub Enterprise Server の GitHub Actions を使い始める」をご覧ください。
4. GitHub Packages の公開と管理
GitHub Packagesはソフトウェアパッケージのホスティングサービスであり、ソフトウェアパッケージをプライベートもしくはパブリックでホストでき、パッケージをプロジェクト中で依存関係として使えるようになります。 詳しくは、「GitHub Packages の概要」を参照してください。
お使いの GitHub Enterprise Server インスタンス での GitHub Packages の有効化と構成について詳しくは、「Enterprise 向けの GitHub Packages を使い始める」をご覧ください。
5. GitHub Pages
の使用
GitHub Pages は、HTML、CSS、JavaScript ファイルをリポジトリから直接取得し、Web サイトを発行する静的サイト ホスティング サービスです。 組織レベルでエンタープライズ メンバーの GitHub Pages を有効または無効にすることができます。 詳細については、「Enterprise 向けの GitHub Pages を設定する」と「GitHub Pages について」を参照してください。
パート 5: 他の GitHub リソースとの接続
GitHub Connect を使用してリソースを共有することができます。
GitHub Enterprise Server インスタンスと、GitHub Enterprise Cloud の Organization または Enterprise アカウントの両方のオーナーである場合、GitHub Connect を有効にすることができます。 GitHub Connect を使用すると、お使いの GitHub Enterprise Server インスタンス と GitHub Enterprise Cloud の間で、統合検索やコントリビューションなどの特定のワークフローや機能を共有できます。 詳しくは、「Enabling GitHub Connect for GitHub.com」を参照してください。
パート 6: GitHub の学習およびサポート リソースの使用
エンタープライズ メンバーは、学習リソースを使用して Git と GitHub の詳細を学ぶことができます。また、お使いの GitHub Enterprise Server インスタンス の設定および管理を行う際に、GitHub エンタープライズ サポートを使用して必要なサポートを受けることができます。
1. GitHub Docs
で GitHub Enterprise Server に関するドキュメントを読む
GitHub Enterprise Server で使用できる機能が掲載されたドキュメントを読むことができます。 詳しくは、「GitHub Docs のバージョンについて」を参照してください。
エンタープライズで GitHub Enterprise Server を最も効果的に使用する方法については、「エンタープライズのベスト プラクティス」を参照してください。
2. GitHub Skills
による学習
GitHub Skills では、エンタープライズ メンバーは自分の GitHub リポジトリでリアルで楽しいプロジェクトを完了することで新しいスキルを習得できます。 各コースは GitHub コミュニティによって作成された実践的なレッスンであり、親切なボットが講師を務めます。
詳しくは、「Git と GitHub の学習リソース」を参照してください。
3. GitHub Enterprise サポートの使用
GitHub Enterprise Server には、GitHub Enterprise サポート へのアクセスが含まれます。 GitHub Enterprise サポート は、GitHub Enterprise Server で発生する問題の解決に役立ちます。 GitHub Premium Support にサインアップし、追加機能を得ることもできます。 詳しくは、「GitHub Supportについて」をご覧ください。