Skip to main content

組織のグローバル セキュリティ設定の構成

GitHub Advanced Security 機能をカスタマイズし、セキュリティ マネージャーを作成して組織のセキュリティを強化します。

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

Organization のオーナーとセキュリティ マネージャーは、組織の security configurations と global settings を管理できます。

global settings について

リポジトリ レベルのセキュリティ設定を決定する security configurations と共に、組織の global settings も構成する必要があります。 Global settings は組織全体に適用され、ニーズに基づいて GitHub Advanced Security 機能をカスタマイズできます。 global settings ページでセキュリティ マネージャーを作成して、組織のセキュリティを監視およびメインすることもできます。

組織の global settings ページへのアクセス

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。

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

    組織のプロファイルのタブのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。

  3. サイドバーの [セキュリティ] セクションで、[コード セキュリティ] ドロップダウン メニューを選択し、Global settings をクリックします。

グローバル Dependabot 設定の構成

Dependabot は、依存関係の管理に役立つ 3 つの異なる機能で構成されています。

  • Dependabot alerts — リポジトリで使っている依存関係に内在する脆弱性について通知します。
  • Dependabot security updates — 使っている依存関係のうち、既知のセキュリティ脆弱性があるものを更新するための pull request を自動的に生成します。
  • Dependabot version updates — 依存関係を最新に保つための pull request を自動的に発行します。

Dependabot に対して、いくつかの global settings をカスタマイズできます。

Dependabot 自動トリアージ ルール の作成と管理

Dependabot 自動トリアージ ルール を作成して管理し、Dependabot に Dependabot alerts を自動的に無視または再通知するように指示したり、Pull Requestを開いて解決を試みることもできます。 Dependabot 自動トリアージ ルール を構成するには、 rules" %} をクリックし、ルールを作成または編集します。

  • 新しいルールを作成するには、[新しいルール] をクリックし、ルールの詳細を入力し、[ルールの作成] をクリックします。
  • 既存のルールを編集するには、 をクリックし、必要な変更を行い、[ルールの保存] をクリックします。

Dependabot 自動トリアージ ルール の詳細については、「Dependabot 自動トリアージ ルールについて」および「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。

グループ化 Dependabot security updates

Dependabot では、自動的に推奨されるすべてのセキュリティ更新プログラムを 1 つのPull Requestにグループ化して、ノイズを軽減できます。 グループ化されたセキュリティ更新プログラムを有効にするには、[グループ化されたセキュリティ更新プログラム] を選択します。 グループ化された更新プログラムとカスタマイズ オプションの詳細については、「Configuring Dependabot security updates (Dependabot セキュリティ アップデートの構成)」を参照してください。

GitHub Actions ランナーでの依存関係の更新の有効化

Dependabot で GitHub Actions ランナーを使用し、Dependabot アクションを使用して依存関係の更新を実行できます。 組織内のすべてのリポジトリで GitHub ホスト ランナーに対して Dependabot を有効にするには、[Actions ランナーの Dependabot] をクリックします。 詳しくは、「GitHub Actions ランナーの Dependabot について」を参照してください。

プライベート レジストリと内部ネットワーク リソースへの Dependabot のアクセスをより詳細に制御するには、Dependabot を GitHub Actions セルフホステッド ランナーで実行するように構成します。 詳細については、「GitHub Actions ランナーの Dependabot について」および「セルフホステッド ランナーでの Dependabot の管理」を参照してください。

プライベート および内部

リポジトリへの Dependabot アクセスを許可します。

組織内のリポジトリのプライベート依存関係を更新するには、Dependabot がそれらのリポジトリにアクセスする必要があります。 Dependabot に目的のプライベート または内部 リポジトリへのアクセス権を付与するには、[プライベート リポジトリへの Dependabot アクセスを許可する] セクションまで下にスクロールし、検索バーを使用して目的のリポジトリを検索して選択します。 リポジトリに Dependabot アクセス権を付与すると、組織内のすべてのユーザーが Dependabot updates を介してそのリポジトリのコンテンツにアクセスできるようになります。 プライベート リポジトリでサポートされているエコシステムの詳細については、「GitHub Dependabot のバージョンアップデートについて」を参照してください。

グローバルな code scanning 設定の構成

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

code scanning に対して、いくつかの global settings をカスタマイズできます。

デフォルト設定に拡張クエリ スイートの推奨

Code scanning は、コードに対して実行するための、CodeQL クエリ スイートと呼ばれる、CodeQL クエリの特定のグループを提供します。 デフォルトでは、「デフォルト」 クエリ スイートが実行されます。 GitHub には「拡張」 クエリ スイートも用意されています。このスイートには、「デフォルト」クエリ スイート内のすべてのクエリと、精度と重大度が低い追加クエリが含まれています。 組織全体で 「拡張」 クエリ スイートを提案するには、「デフォルトのセットアップを有効にするリポジトリの拡張クエリ スイートを推奨」を選択します。 CodeQL の既定のセットアップの組み込みクエリ スイートの詳細については、「CodeQL クエリ スイート」を参照してください。

CodeQL の Copilot Autofix について

[Copilot Autofix] を選択すると、CodeQL デフォルト セットアップまたは CodeQL 詳細設定を使用する組織内のすべてのリポジトリに対して Copilot Autofix を有効にすることができます。 Copilot Autofix は、code scanning の拡張であり、code scanning アラートの修正を提案します。 詳しくは、「CodeQL コード スキャンの Copilot Autofix について」を参照してください。

Pull Requestの code scanning チェックの失敗しきい値の設定

Pull Requestで実行される code scanning チェックが失敗する重大度レベルを選択できます。 セキュリティ重大度レベルを選択するには、Security: SECURITY-SEVERITY-LEVEL ドロップダウン メニューを選択し、セキュリティ重大度レベルをクリックします。 アラートの重大度レベルを選択するには、その他の [ALERT-Standard Edition VERITY-LEVEL] ドロップダウン メニューを選択し、アラートの重大度レベルをクリックします。 詳しくは、「Code scanningアラートについて」を参照してください。

グローバルな secret scanning 設定の構成

Secret scanning は、リポジトリの Git 履歴全体や、そのリポジトリ内の問題、pull requests、およびディスカッションをスキャンし、誤ってコミットされ漏洩したトークンや秘密キーなどのシークレットに対応するためのセキュリティ ツールです。

secret scanning に対して、いくつかの global settings をカスタマイズできます。

ジェネリックシークレットの検出

ジェネリック シークレットの検出は、secret scanning の AI 搭載の拡張で、パスワードなどの非構造化シークレットをスキャンしてアラートを生成します。 これらのスキャンを有効にするには、[AI 検出を使用して追加のシークレットを検索する] を選択します。 ジェネリック シークレットは、多くの場合、他の種類のアラートよりも誤検知率が高いことに注意してください。 ジェネリック シークレットの詳細については、「シークレットスキャンを使用した、ジェネリックシークレットの検出について」を参照してください。

注: secret scanning の汎用シークレット検出は beta です。 機能とドキュメントテーションは変更される場合があります。 このフェーズでは、一般的なシークレット検出は、ソース コードでパスワードを検索する場合に限定されます。

secret scanning がコミットをブロックするときに開発者にコンテキストを提供するために、コミットがブロックされた理由の詳細を示すリンクを表示できます。 リンクを含めるには、コミットがブロックされたときに CLI と Web UI で [リソース リンクの追加] を選択します。 テキスト ボックスに目的のリソースへのリンクを入力し、[保存] をクリックします。

カスタム パターンの定義

正規表現を使用して、secret scanning のカスタム パターンを定義できます。 カスタム パターンは、secret scanning でサポートされているデフォルト パターンでは検出されないシークレットを識別できます。 カスタム パターンを作成するには、[新しいパターン] をクリックし、パターンの詳細を入力し、[保存してドライ ラン] をクリックします。 カスタム パターンの詳細については、「シークレット スキャンのカスタム パターンの定義」を参照してください。

組織のセキュリティマネージャーの作成

セキュリティ マネージャーロールは、組織全体のセキュリティ設定とアラートを管理する機能を組織のメンバーに付与します。 チームのすべてのメンバーにセキュリティ マネージャーの役割を付与するには、[チームの検索] テキスト ボックスに目的のチームの名前を入力します。 表示されるドロップダウン メニューでチームをクリックし、[理解しました] をクリックしてセキュリティ マネージャーのアクセス許可を付与します

セキュリティ マネージャーは、セキュリティの概要を通じて、組織内のすべてのリポジトリのデータを表示できます。 セキュリティ マネージャーロールの詳細については、「Organizationでのセキュリティマネージャーの管理」を参照してください。