このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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

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

Code scanningは、GitHub Advanced Securityのライセンスを持っているなら利用できます。

ノート: Code scanningはGitHub Enterprise Server 2.22ではベータです。 Code Scanningの一般に利用なリリースについては、GitHub Enterprise Serverの最新リリースにアップグレードしてください。

code scanning について

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

You can configure code scanning to run CodeQL analysis and third-party analysis. Code scanning also supports running analysis natively using GitHub Actions or externally using existing CI/CD infrastructure. The table below summarizes all the options available to users when you configure GitHub Enterprise Serverのインスタンス to allow code scanning using actions.

分析の種類 アラート生成のオプション
| CodeQL | GitHub Actionsの利用(「[アクションを使うcode scanningのセットアップ](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)」参照)あるいはサードパーティの継続的インテグレーション(CI)システム中でのCodeQLランナーの利用(「[CIシステム中でのCodeQLコードスキャンの実行](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system)」参照)。 | サードパーティ | GitHub Actionsの利用(「[アクションを使うcode scanningのセットアップ](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)」)あるいは外部で生成してGitHub Enterprise Serverへアップロード(「[GitHubへのSARIFファイルのアップロード](/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github)」)。

Prerequisites for code scanning

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

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

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

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

Provisioning the actions for code scanning

GitHub Actions を使用して GitHub Enterprise Server で code scanning を実行するには、適切なアクションがローカルで使用可能である必要があります。 アクションは 3 つの方法で利用可能にすることができます。

  • 推奨: GitHub Connect を使用して、GitHub.com からアクションを自動的にダウンロードできます。 インスタンスをホストするマシンは、GitHub.com にアクセス可能である必要があります。 この方法で、最新のソフトウェアを自動的に入手できます。 詳しい情報については、「GitHub Actions を同期するために GitHub Connect を設定する」を参照してください。
  • CodeQL分析ワークフロー を使用する場合は、https://github.com/github/codeql-action-sync-tool にある CodeQL Action 同期ツールを使用して、リポジトリを GitHub.com から GitHub Enterprise Server に同期できます。 コンピューターで GitHub Enterprise Serverのインスタンス と GitHub.com の両方に同時にアクセスできる限り、GitHub Enterprise Serverのインスタンス または GitHub Actions ランナーがインターネットにアクセスできるかどうかに関係なく、このツールを使用できます。
  • アクションを含む GitHub.com リポジトリのクローンを作成することにより、サーバー上にアクションのリポジトリのローカルコピーを作成できます。 たとえば、CodeQL code scanning のアクションを使用する場合は、インスタンスに github/codeql-action というリポジトリを作成し、GitHub.com からリポジトリのクローンを作成して、そのリポジトリをインスタンスの github/codeql-action リポジトリにプッシュできます。 また、GitHub.com のリポジトリからリリースをダウンロードし、リリースとしてインスタンスの github/codeql-action リポジトリにアップロードする必要があります。

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

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

CodeQLランナー を使用して code scanning を実行する

GitHub Actions を使用しない場合は、CodeQLランナー を使用して code scanning を実行できます。

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

問題がまだ解決していませんか?