Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

アプライアンスのコードスキャンを設定する

your GitHub Enterprise Server instanceの code scanning を有効化、構成、および無効化できます。 Code scanning を使用すると、コードの脆弱性やエラーをスキャンできます。

Code scanning は、GitHub Enterprise Server の Organization 所有のリポジトリで利用できます。 この機能には、GitHub Advanced Security のライセンスが必要です。 詳細については、「GitHub Advanced Security について」を参照してく� さい。

code scanning について

Code scanning は、開発者が GitHub リポジトリ内のコードを分析して、セキュリティの脆弱性とコーディングエラーを見つけることができる機能です。 分析によって特定されたすべての問題はGitHub Enterprise Serverに表示されます。

code scanning を構成して、CodeQL の分析とサードパーティの分析を実行できます。 また、Code scanning では、GitHub Actions を使用したネイティブな分析の実行と、外部にある既存の CI/CD インフラストラクチャの使用もサポートされています。 次の表は、アクションを使って code scanning を許可するようにyour GitHub Enterprise Server instanceを構成するときにユーザーが使うことができるすべてのオプションをまとめたものです。

分析の種類アラート生成のオプション
CodeQLGitHub Actions を使う (「アクションを使った code scanning の設定」を参照) または、サードパーティの継続的インテグレーション (CI) システ� で CodeQL 分析を行う (「CI システ� における CodeQL code scanning について」を参照)。
サードパーティGitHub Actions を使う (「アクションを使った code scanning の設定」を参照) または、外部生成して GitHub Enterprise Server にアップロード (「GitHub への SARIF ファイルのアップロード」を参照)。

ライセンスに GitHub Advanced Security が含まれているかどうかを確認する

エンタープライズ設定を確認することで、エンタープライズに GitHub Advanced Security ライセンスがあるかどうかを確認できます。 詳細については、「エンタープライズの GitHub Advanced Security の有効化」を参照してく� さい。

code scanning の前提条件

GitHub Actions を使用して code scanning を実行する

セルフホストランナーを設定する

GitHub Enterprise Server は、GitHub Actions ワークフローを使用して code scanning を実行できます。 まず、環境内に 1 つ以上のセルフホスト GitHub Actions ランナーをプロビジョニングする必要があります。 セルフホストランナーは、リポジトリ、Organization、または Enterprise アカウントレベルでプロビジョニングできます。 詳細については、「セルフホスト ランナーについて」および「セルフホスト ランナーの追� 」を参照してく� さい。

CodeQL アクションを実行するために使用するセルフホストランナーの PATH 変数に Git が含まれていることを確認する必要があります。

code scanning のアクションをプロビジョニングする

アクションを使用して GitHub Enterprise Server で code scanning を実行する� �合は、アプライアンスでアクションを使用できる必要があります。

CodeQL アクションは GitHub Enterprise Server のインストールに含まれています。 GitHub Enterprise Server 3.3 と GitHub Actions の両方がインターネットにアクセスできる� �合、分析を実行するために必要な CodeQL 2.7.6 バンドルが、このアクションによって自動的にダウンロードされます。 または、同期ツールを使って、CodeQL 分析バンドルの最新のリリース バージョンをローカルで使用できるようにすることもできます。 詳細については、後の「インターネット アクセスのないサーバーで CodeQL 分析を設定する」を参照してく� さい。

GitHub Connect を設定することで、code scanning のユーザがサードパーティのアクションを利用できるようにすることもできます。 詳細については、後の「GitHub Actions を同期するように GitHub Connect を構成する」を参照してく� さい。

インターネットアクセスのないサーバーで CodeQL 分析を設定する

GitHub Enterprise Server を実行しているサーバーがインターネットに接続されておらず、ユーザがリポジトリに対して CodeQL code scanning を有効にできるようにする� �合は、CodeQL アクション同期ツールを使用して CodeQL 分析バンドルを GitHub.com からサーバーにコピーする必要があります。 ツールとその使用方法の詳細は、https://github.com/github/codeql-action-sync-tool で手に入ります。

CodeQL アクション同期ツールを設定すると、それを使用して、CodeQL アクションの最新リリースと関連する CodeQL 分析バンドルを同期できます。 これらは GitHub Enterprise Server と互換性があります。

GitHub Actions を同期するために GitHub Connect を設定する

  1. GitHub.com からオンデマンドでアクションワークフローをダウンロードする� �合は、GitHub Connect を有効にする必要があります。 詳細については、「GitHub Connect を有効にする」を参照してく� さい。
  2. また、your GitHub Enterprise Server instanceに対して GitHub Actions を有効にする必要もあります。 詳細については、「GitHub Enterprise Server の GitHub Actions の概要」を参照してく� さい。
  3. 次のステップは、GitHub Connect を使用して、GitHub.com に対するアクションへのアクセスを設定することです。 詳細については、「GitHub Connect を使用して GitHub.com アクションへの自動アクセスを有効にする」を参照してく� さい。
  4. セルフホストランナーをリポジトリ、Organization、または Enterprise アカウントに追� します。 詳細については、「セルフホストランナーの追� 」を参照してく� さい。

CodeQL CLI を使用して code scanning を実行する

GitHub Actions を使用しない� �合は、CodeQL CLI を使用して code scanning を実行する必要があります。

CodeQL CLI は、サードパーティの CI/CD システ� を含め、任意のマシン上でコードベースを分析するために使用するコマンド ライン ツールです。 詳細については、「CI システ� に CodeQL CLI をインストールする」を参照してく� さい。

CodeQL runnerを使って code scanning を実行する

メモ: CodeQL runnerは非推奨になっています。 GitHub Enterprise Server 3.0 以降では、CodeQL CLI バージョン 2.6.3 をインストールして、CodeQL runnerを置き換えることができます。

詳しくは、「CodeQL ランナーの非推奨化」をご覧く� さい。 CodeQL CLI への移行については、「CodeQL ランナーから CodeQL CLI への移行」を参照してく� さい。

GitHub Actions を使用しない� �合は、CodeQL runnerを使って code scanning を実行できます。

CodeQL runnerは、サードパーティ CI/CD システ� に追� できるコマンドライン ツールです。 このツールは、GitHub リポジトリのチェックアウトに対して CodeQL 分析を実行します。 詳細については、「CI システ� で code scanning を実行する」を参照してく� さい。