Skip to main content

Enterprise Server 3.20 は、現在リリース候補として使用できます。

コード スキャンの詳細設定を構成する

リポジトリの詳細設定を構成し、高度にカスタマイズ可能な code scanning 構成を使用してコード内のセキュリティの脆弱性を見つけます。

この機能を使用できるユーザーについて

リポジトリの所有者、組織の所有者、セキュリティ マネージャー、および 管理者 ロールを持つユーザー

Code scanning は、次のリポジトリの種類で使用できます。

  • GitHub.com 上のパブリックリポジトリ
  • GitHub Team、GitHub Enterprise Cloud、または GitHub Enterprise Server 上の組織所有リポジトリ。 GitHub Code Security が 有効になっています。

メモ

この機能を使用するには、サイト管理者が code scanning を有効にする必要があります。 コードをスキャンするためにGitHub Actionsを使いなら、サイト管理者はGitHub Actionsの有効化と、必要なインフラストラクチャのセットアップもしなければなりません。 詳しくは、「アプライアンス用コードスキャンの構成」をご覧ください。

メモ

この記事では、このバージョンの GitHub Enterprise Server の初期リリースに含まれる CodeQL アクションのバージョンおよび関連する CodeQL CLI バンドルで使用できる機能について説明します。 エンタープライズでより新しいバージョンの CodeQL アクションを使用する場合は、この記事の GitHub Enterprise Cloud バージョンで最新の機能に関する情報を参照してください。 最新バージョンの使用方法については、「アプライアンス用コードスキャンの構成」を参照してください。

高度にカスタマイズ可能な code scanning 構成が不要な場合は、code scanning の既存のセットアップを使用することを検討します。 詳しくは、「コード スキャンのセットアップの種類について」をご覧ください。

[前提条件]

これらの要件を満たしている場合、リポジトリは詳細設定の対象となります。

  • CodeQL でサポートされている言語を使用するか、サードパーティ製ツールを使用してコード スキャン結果を生成する予定がある。
  • GitHub Actions が有効になっています。
  • GitHub Code Security が有効になっている。

GitHub Enterprise Server を実行しているサーバーが、インターネットに接続されていない場合、サイト管理者は、CodeQL 分析バンドルをサーバーで使用できるようにすることで、CodeQL code scanning を有効にできます。 詳しくは、「アプライアンス用コードスキャンの構成」をご覧ください。

CodeQL を使用して code scanning の詳細設定を構成する

ワークフロー ファイルを作成して編集することで、CodeQL をカスタマイズできます。 詳細設定を選択すると、標準的なワークフロー構文を使用してカスタマイズし、CodeQL アクションに対するオプションを指定する基本のワークフロー ファイルが生成されます。 「ワークフロー」と「コード スキャンのワークフロー構成オプション」を参照してください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  4. [Code Security] まで下にスクロールし、[CodeQL 分析] 行で [設定] を選択し、[詳細] をクリックします。

    メモ

    既定の設定から詳細設定に切り替える場合は、[CodeQL analysis] の行で を選択し、 [詳細に切り替え] をクリックします。 表示されるポップアップ ウィンドウで、 [CodeQL を無効にする] をクリックします。

    [Advanced Security] 設定の [Code Security] セクションのスクリーンショット。 [詳細設定] ボタンがオレンジ色のアウトラインで強調されています。

  5. code scanning がコードをスキャンする方法をカスタマイズするため、ワークフローを編集します。

    通常は、何も変更せずに CodeQL 分析ワークフローをコミットてきます。 ただし、サード パーティのワークフローの多くでは、追加の構成が必要になるので、コミットする前にワークフローのコメントを読んでください。

    詳細については、「コード スキャンのワークフロー構成オプション」および「コンパイル済み言語の CodeQL コード スキャン」を参照してください。

  6.        **[変更のコミット...]** をクリックし、コミット変更フォームを表示します。
    

    新しいファイルを作成するためのフォームのスクリーンショット。 ファイル名の右側には、"変更をコミット..." というラベルが付いた緑色のボタンが濃いオレンジで囲まれています。

  7. [コミット メッセージ] フィールドに、コミット メッセージを入力します。

  8. 既定のブランチに直接コミットするか、新しいブランチを作成して pull request を開始するかを選択します。

  9.        **[新しいファイルをコミット]** をクリックし、ワークフロー ファイルを既定のブランチにコミットするか、**[新しいファイルを提案]** をクリックし、ファイルを新しいブランチにコミットします。
    
  10. 新しいブランチを作成した場合、[pull request の作成] をクリックし、既定のブランチに変更をマージする pull request を投稿します。

推奨される CodeQL 分析ワークフローでは、code scanning は、既定のブランチまたは保護されたブランチに変更をプッシュするたび、あるいは既定のブランチに pull request を生成するたびに、コードを解析するよう構成されています。 その結果として、code scanning が開始されます。

コード スキャンの on:pull_requeston:push トリガーは、それぞれ異なる目的に役立ちます。 「コード スキャンのワークフロー構成オプション」と「ワークフローをトリガーする」を参照してください。

一括有効化について詳しくは、「CodeQL で大規模にコード スキャンの高度なセットアップを構成する」をご覧ください。

次のステップ

ワークフローを少なくとも 1 回正常に実行できたら、code scanning アラートの調査と解決を開始できます。 pull request での code scanning アラートについて詳しくは、「Code scanningアラートについて」および「リポジトリのコード スキャンのアラートの評価」をご覧ください。

code scanning の実行が pull request でチェックとして動作する方法については、「Pull RequestでCode scanningアラートをトリアージする」を参照してください。

code scanning 構成に関する詳細情報 (各スキャンのタイムスタンプ、スキャンされたファイルの割合など) は、ツールの状態ページで確認できます。 詳しくは、「コード スキャンにツールの状態ページを使用する」をご覧ください。

詳細については、次を参照してください。