Skip to main content

組織のセキュリティおよび分析設定を管理する

GitHub 上の組織のプロジェクトでコードを保護し分析する機能を管理できます。

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

Organization owners can manage security and analysis settings for repositories in the organization.

セキュリティおよび分析設定の管理について

GitHub は、組織のリポジトリを保護するのに役立つ場合があります。 組織でメンバーが作成する既存または新規のリポジトリすべてについて、セキュリティおよび分析機能を管理できます。 GitHub Advanced Security のライセンスを持っている場合は、これらの機能へのアクセスを管理することもできます。 詳しくは、「GitHub Advanced Security について」を参照してください。

GitHub Advanced Securityのライセンスを持った企業が組織を所有している場合、セキュリティ管理および分析設定の追加オプションを利用できます。 詳しくは、「Enterprise 用の GitHub Advanced Security 機能の管理」をご覧ください。

注: パブリックリポジトリにデフォルトで有効化されているセキュリティ及び分析の機能の中には、無効化できないものがあります。

セキュリティ機能と分析機能を有効にした場合、GitHub はリポジトリで読み取り専用分析を実行します。

セキュリティと分析の設定を表示する

  1. GitHub.com の右上隅にあるプロファイル写真を選択し、次に自分の組織をクリックします。

    @octocat のプロファイル写真の下にあるドロップダウン メニューのスクリーンショット。 [Your organizations] (自分の組織) が濃いオレンジ色の枠線で囲まれています。

  2. 組織の隣の [設定] をクリックします。

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

表示されるページでは、組織内のリポジトリのすべてのセキュリティおよび分析機能を有効化または無効化にできます。

組織が GitHub Advanced Security のライセンスを持つエンタープライズに属している場合、ページには Advanced Security 機能を有効化または無効化するオプションも含まれます。 GitHub Advanced Security を使用するリポジトリは、ページの下部に一覧表示されます。

既存のすべてのリポジトリの機能を有効または無効にする

すべてのリポジトリの機能を有効化または無効化できます。 変更が組織内のリポジトリに与える影響は、リポジトリの可視性によって決まります。

  • プライベート脆弱性レポート - 変更はパブリック リポジトリにのみ影響します。
  • 依存関係グラフ - この機能はパブリック リポジトリに対して常に有効になっているため、変更はプライベート リポジトリにのみ影響します。
  • Dependabot alerts - 変更はすべてのリポジトリに影響します。
  • Dependabot security updates - 変更はすべてのリポジトリに影響します。
  • GitHub Advanced Security - GitHub Advanced Security および関連機能は常にパブリック リポジトリに対して有効になっているため、変更はプライベート リポジトリにのみ影響します。
  • Secret scanning - 変更は、GitHub Advanced Security が有効なパブリック リポジトリ、プライベートまたは内部リポジトリに影響します。このオプションは、ユーザーに対するシークレット スキャンニング アラート が有効かどうかを制御します。 パートナーに対するシークレット スキャンニング アラート は常にすべてのパブリック リポジトリ上で実行されます。
  • Code scanning - 変更は、パブリック リポジトリと、GitHub Advanced SecurityでCodeQL(GitHub Advanced Securityはが有効になっている)を使用するデフォルト設定可能な

セキュリティの概要を使って一連のリポジトリを検索し、それらすべてに対するセキュリティ機能を同時に有効または無効にできます。 詳しくは、「複数のリポジトリでセキュリティ機能を有効にする」を参照してください。

注: GitHub Advanced Security を有効にした場合、これらのリポジトリに対するアクティブなコミッターは、GitHub Advanced Security のライセンスを使います。 ライセンスの容量を超えた場合、このオプションは非アクティブになります。 詳細については、「GitHub Advanced Security の課金について」を参照してください。

注: "組織のポリシー設定が原因で、GitHub Advanced Security を有効にできません" というエラーが発生した場合は、Enterprise 管理者に問い合わせて、Enterprise の GitHub Advanced Security ポリシーを変更するように依頼してください。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。

注: エンタープライズ レベルで Dependabot alerts を有効または無効にすると、Dependabot alerts の組織レベルの設定はオーバーライドされます。 詳しくは、「Dependabot アラートの構成」を参照してください。

  1. 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。

  2. [コードのセキュリティと分析] の下で、機能の右にある [すべて無効] または [すべて有効] をクリックして構成ダイアログ ボックスを表示します。 [GitHub Advanced Security] のコントロールが無効になるのは、GitHub Advanced Security に使用できるライセンスがない場合です。

  3. ダイアログ ボックスの情報を確認します。

  4. 必要に応じて、プライベート脆弱性レポート、依存関係グラフ、または Dependabot を有効にする場合は、[新しい プライベート リポジトリに対して既定で有効にする] を選択します。

    [新しいプライベート リポジトリに対して既定で有効にする] オプションが濃いオレンジ色の枠線で強調されている、[機能の有効化] モーダル ダイアログのスクリーンショット。

  5. 変更を行う準備ができたら、 [機能の無効化] または [機能の有効化] をクリックして、組織内のすべてのリポジトリの機能を無効または有効にします。

  6. 必要に応じて、セキュリティと分析設定の機能セクションで、追加の有効化設定を選択します。 追加の有効化設定には、次のものが含まれる場合があります。

    • 特定の種類のリポジトリの自動有効化
    • 組織全体でのcode scanningの既定のセットアップに対する拡張クエリ スイートの推奨、またはsecret scanningの自動シークレット検証などの機能固有の設定

注:

  • すべてのリポジトリで CodeQL code scanning を無効にした場合、この変更は Organization のセキュリティの概要で示されるカバレッジ情報に反映されません。 リポジトリでは引き続き、この [セキュリティ カバレッジ] ビューでcode scanningが有効になっているように見えます。
  • 組織内のすべての対象リポジトリに対して code scanning を有効にすると、既存の code scanning 構成はオーバーライドされません。 特定のリポジトリに対して異なる設定を使用して既定のセットアップを構成する方法については、「コード スキャンの既定セットアップの構成」および「大規模なコード スキャンの既定のセットアップを構成する」をご覧ください。

既存のリポジトリで1つ以上のセキュリティ及び分析機能を有効化すると、数分のうちにGitHub上に結果が表示されます。

  • 既存のすべてのリポジトリは、選択された設定を持ちます。
  • 新しいリポジトリのチェックボックスをオンにした場合、新しいリポジトリは選択した構成に従います。
  • 関連するサービスに適用するマニフェストファイルをスキャンするために権限を使用します。
  • 有効化すると、依存関係グラフに依存関係情報が表示されます。
  • 有効化すると、GitHub により、脆弱な依存関係またはマルウェアに対して Dependabot alertsが生成されます。
  • 有効化すると、Dependabot セキュリティ アップデートは、Dependabot alerts がトリガーされたときに、脆弱な依存関係をアップグレードするための pull request を作成します。

新しいリポジトリが追加されたときに機能を自動的に有効化または無効化する

  1. 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
  2. [コードのセキュリティと分析] で機能を見つけて、組織の新しいリポジトリまたはすべての新しいプライベート リポジトリに対して既定でこの機能を有効または無効にします。

Dependabot がプライベート または内部 依存関係にアクセスできるようにする

Dependabot は、プロジェクト内の古い依存関係参照をチェックし、それらを更新するためのプルリクエストを自動的に生成できます。 これを行うには、Dependabot がすべてのターゲット依存関係ファイルにアクセスできる必要があります。 通常、1 つ以上の依存関係にアクセスできない場合、バージョン更新は失敗します。 詳しくは、「GitHub Dependabot のバージョンアップデートについて」を参照してください。

既定では、Dependabot は、プライベート または内部 リポジトリ、またはプライベート または内部 パッケージ レジストリにある依存関係を更新できません。 ただし、依存関係が、その依存関係を使用するプロジェクトと同じ組織内のプライベート または内部の GitHub リポジトリにある場合は、ホストリポジトリへのアクセスを許可することで、Dependabot がバージョンを正常に更新できるようにすることができます。

コードがプライベート または内部の レジストリ内のパッケージに依存している場合は、リポジトリレベルでこれを設定することにより、Dependabot がこれらの依存関係のバージョンを更新できるようにすることができます。 これを行うには、リポジトリの dependabot.yml ファイルに認証の詳細を追加します。 詳しくは、「dependabot.yml ファイルの構成オプション」を参照してください。

注: プライベート または内部のリポジトリへのアクセス権を Dependabot に付与するオプションを使用できるようにするには、組織内の少なくとも 1 つのリポジトリで Dependabot version updates または Dependabot security updates を有効にする必要があります。

Dependabot がプライベート または内部 GitHub リポジトリにアクセスできるようにするには:

  1. 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。

  2. [Dependabot にプライベート リポジトリへのアクセスを許可する] で、 [内部およびプライベート リポジトリの追加] をクリックして、リポジトリの検索フィールドを表示します。

    リポジトリの検索に使用できるドロップダウンのスクリーンショット。 入力すると、検索条件に一致する名前のリポジトリが一覧に表示されます。 検索テキスト フィールドが、濃いオレンジ色の枠線で強調されています。

  3. Dependabot アクセス権を付与するリポジトリの名前の入力を開始します。

  4. 組織内の一致するリポジトリのリストが表示され、アクセスを許可するリポジトリをクリックすると、許可リストにリポジトリが追加されます。

  5. あるいは、リストからリポジトリを差k除するには、リポジトリの右のをクリックします。

組織内のパートナー パターンの有効性チェックの許可

注: パートナー パターンの有効性チェックは現在ベータ版であり、変更される可能性があります。

パートナー パターンの有効性チェックは、GitHub.com のすべての種類のリポジトリで使用できます。 この機能を使用するには、GitHub Advanced Security のライセンスが必要です。

関連するパートナーに送信することで、secret scanning にシークレットの有効性を自動的に確認させることができます。 組織の設定でチェック ボックスを選択すると、組織内のすべてのリポジトリに対して機能が有効になります。 また、1 つのリポジトリまたはエンタープライズ レベルで有効性チェックを有効にすることもできます。 詳細については、「リポジトリのシークレット スキャンの構成」および「Enterprise 用の GitHub Advanced Security 機能の管理」を参照してください。

REST API を使用して、組織のパートナー パターンの有効性チェックを有効にすることもできます。 詳しくは、「Organization の REST API エンドポイント」を参照してください。

  1. 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
  2. Secret scanning で、「関連するパートナーに送信することでシークレットが有効かどうかを自動的に検証する」の横のチェックボックスをオンにします。

組織内の個々のリポジトリから GitHub Advanced Security へのアクセスを削除する

[設定] タブから、リポジトリの GitHub Advanced Security 機能へのアクセスを管理できます。詳細については、「リポジトリのセキュリティと分析設定を管理する」を参照してください。 ただし、組織の [Settings] タブから、リポジトリの GitHub Advanced Security 機能を無効にすることもできます。

  1. 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
  2. GitHub Advanced Security が有効になっている組織内のすべてのリポジトリのリストを表示するには、「GitHub Advanced Security リポジトリ」セクションまでスクロールします。

テーブルには、リポジトリごとの一意のコミッターの数が一覧表示されます。 これは GitHub Advanced Security へのアクセスを削除することによって解放できる ライセンス の数です。 詳しくは、「GitHub Advanced Security の課金について」を参照してください。

  1. あるリポジトリから GitHub Advanced Security へのアクセスを削除し、そのリポジトリに固有のアクティブ コミッターによって使用されている ライセンス を解放するには、隣にある をクリックします。
  2. 確認ダイアログで、 [リポジトリの削除] をクリックして、GitHub Advanced Security の機能へのアクセスを削除します。

注: リポジトリの GitHub Advanced Security へのアクセスを削除する場合は、影響を受ける開発チームと連絡を取り、変更が意図されたものかを確認する必要があります。 これにより、失敗したコードスキャンの実行をデバッグすることに時間を費すことがなくなります。

参考資料