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 について」をご覧ください。

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

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

GitHub Advanced Security のライセンスをお持ちの場合、このページには、GitHub Advanced Security の機能を有効または無効にするオプションも表示されます。 GitHub Advanced Security を使うリポジトリは、ページの下部に一覧表示されます。

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

すべてのリポジトリの機能を有効化または無効化できます。

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

Note

GitHub Advanced Security 機能を有効にすると、これらのリポジトリへのアクティブなコミッターは GitHub Advanced Security ライセンスを使います。 ライセンスの容量を超えた場合、このオプションは非アクティブになります。

Note

"GitHub Advanced Security cannot be enabled because of a policy setting for the organization" というエラーが発生した場合は、Enterprise 管理者に問い合わせて、Enterprise の GitHub Advanced Security ポリシーを変更するように依頼してください。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」をご覧ください。

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

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

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

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

    [Enable FEATURE] モーダル ダイアログのスクリーンショット。[Enable by default for new private repositories] オプションがオレンジ色の枠線で囲まれています。

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

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

    • 特定の種類のリポジトリの自動有効化

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

    Note

    • すべてのリポジトリで CodeQL code scanning を無効にした場合、この変更は Organization のセキュリティの概要で示されるカバレッジ情報に反映されません。 リポジトリでは引き続き、この [セキュリティ カバレッジ] ビューでcode scanningが有効になっているように見えます。
    • Organization 内のすべての対象リポジトリに対して 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 ファイルに認証の詳細を追加します。 詳細については、「最上位レベルの registries キー」を参照してください。

Dependabot がプライベートまたは内部 GitHub リポジトリにアクセスできるようにする方法は次のとおりです。

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

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

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

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

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

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

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

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

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

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

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

Note

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

参考資料