Skip to main content

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

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

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

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

global settings について

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

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

  1. GitHub の右上隅にあるプロフィール画像をクリックしてから、[ Your organizations] をクリックします。

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

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

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

グローバル Dependabot 設定の構成

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

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

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

  •           [Dependabot 自動トリアージ ルール の作成と管理](#creating-and-managing-dependabot-auto-triage-rules)
    
  •           [Dependabot セキュリティ更新プログラム](#grouping-dependabot-security-updates) に対する依存関係の更新を有効にする
    
  •           [Dependabot](#configuring-the-runner-type-for-dependabot)
    

へのアクセス権の付与

  •           [プライベート リポジトリと内部リポジトリ](#granting-dependabot-access-to-private-and-internal-repositories) 
    

への Dependabot アクセス権の付与

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

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

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

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

Dependabot security updatesのグループ化

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

% data variables.product.prodname_dependabot %} のランナータイプを構成する

Dependabot に使用されるランナーの種類を指定することで、バージョンとセキュリティの更新プログラムをスキャンする設定を行えます。 既定では、Dependabot は標準の GitHubホストランナーを使用します。 カスタム ラベルを持つ セルフホステッド ランナー を使用するように Dependabot を構成できます。これにより、Actions Runner Controller (ARC) などの既存のランナー インフラストラクチャと統合できます。

メモ

  • セキュリティ上の理由から、Dependabot は、ラベル付きランナーを設定している場合でも、パブリックリポジトリには、GitHub ホストランナーを使用します。
  • ラベル付きランナーは、パブリック リポジトリでは 機能しません

ランナーの種類を構成するには:

  1. [Dependabot] の [ランナーの種類] の横にある を選択します。
  2. 「Edit runner type for Dependabot」ダイアログで、Dependabotで使用するランナーの種類を選択します。
    •           **標準 GitHub ランナー**。
      
    •      **ラベル付きランナー**: このオプションを選択すると、Dependabot は、指定したラベルに一致するセルフホステッド ランナーを使用します。
      
  3.        **ラベル付きランナー**を選択した場合:
    
    • [ランナー ラベル] に、セルフホステッド ランナーに割り当てられているラベルを入力します。 Dependabot は、このラベルを持つランナーを使用します。 既定では、 dependabot ラベルが使用されますが、既存のランナー インフラストラクチャに合わせてカスタム ラベルを指定できます。
    • 必要に応じて、[ランナー グループ名] に、ランナー グループの特定のグループを対象とする場合は、ランナー グループの名前を入力します。
  4. [ ランナーの選択を保存] をクリックします。

プライベート および内部

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

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

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

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

組織内のリポジトリには、「既定」クエリスイートの代わりに「拡張」クエリスイートを使用することをお勧めします。これにより、組織全体でより広範なcode scanning カバレッジを確保できます。 既定のセットアップについては、拡張クエリ スイートの推奨を参照してください。

既定のセットアップに拡張クエリ スイートを推奨する

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

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

Secret scanning は、リポジトリの Git 履歴全体をスキャンするセキュリティ ツールです。これにより、リポジトリ内の問題、プル リクエスト、ディスカッション、ウィキで、誤ってコミットされたトークンや秘密鍵などの漏えいした機密情報を検出します。

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

  •           [ブロックされたコミットのリソース リンクの追加](#adding-a-resource-link-for-blocked-commits)
    
  •         [カスタム パターンの定義](#defining-custom-patterns)
    
  •           [プッシュ保護に含めるパターンの指定](#specifying-patterns-to-include-in-push-protection)
    

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

カスタム パターンの定義

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

プッシュ保護に含めるパターンの指定

メモ

現在、Enterprise および organization レベルでのプッシュ保護のパターンの構成は パブリック プレビュー 段階であり、変更される可能性があります。

プッシュ保護に含めるシークレットのパターンをカスタマイズできるため、セキュリティ チームは、組織内のリポジトリで禁止するシークレットの種類をより詳細に制御できます。

  1. [Additional settings] の [Secret scanning] セクションの [パターン構成] の右側にある をクリックします。

  2. 表示されるページで、[組織の設定] 列に必要な変更を加えます。 関連する列のトグルを使用して、個々のパターンのプッシュ保護を有効または無効にすることができます (Enterprise レベルでは [Enterprise setting]、organization レベルでは [Organization setting])。

    データはスコープに制限されているため、アラート ボリューム、誤検知、バイパス率、またはカスタム パターンの可用性には、Enterprise または organization 内のユーザーまたはアラート アクティビティが反映されます。

    GitHub の既定値は、精度の向上やパターンのレベル上げに伴い、時間の経過とともに変わる可能性があります。

    メモ

    Organization の管理者とセキュリティ チームは、Enterprise レベルで構成された設定をオーバーライドできます。

    説明
    Nameパターンまたはシークレットの名前
    Alert totalパターンに関するアラートの合計数 (割合と絶対数)
    偽陽性の数パターンの誤検知の割合
    Bypass rateパターンのバイパスの割合
    GitHub defaultGitHub で推奨されるプッシュ保護の既定の動作
    Enterprise settingOrganization レベルでは編集不可
    プッシュ保護の現在の有効化状態
    EnabledDisabledDefault にすることができます。
    Enterprise レベルでは、Default が既定値です。
    Organization settingOrganization レベルでのみ有効
    プッシュ保護の現在の有効化状態
    EnabledDisabledEnterprise (Enterprise から継承) にすることができます。
    既定値は Enterprise です。

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

セキュリティ マネージャーロールは、組織全体のセキュリティ設定とアラートを管理する機能を組織のメンバーに付与します。 セキュリティ マネージャーは、セキュリティの概要を通じて、組織内のすべてのリポジトリのデータを表示できます。

セキュリティ マネージャー ロールの詳細については、「Organizationでのセキュリティマネージャーの管理」を参照してください。

セキュリティ マネージャー ロールの割り当てについては、「組織の役割の使用」を参照してください。