Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

リポジトリのシークレット スキャンの構成

GitHub がリポジトリで漏洩したシークレットをスキャンし、アラートを生成する方法を構成できます。

この機能を使用できるユーザー

People with admin permissions to a public repository can enable secret scanning for the repository.

パートナーに対するシークレット スキャン アラート はパブリック リポジトリとパブリック npm パッケージで自動的に実行され、GitHub.com で漏洩したシークレットについてサービス プロバイダーに通知します。

ユーザーに対するシークレット スキャン アラート は、すべてのパブリック リポジトリで無料で利用できます。 GitHub Enterprise Cloud を使い、GitHub Advanced Security のライセンスを持っている組織は、プライベート リポジトリと内部リポジトリに対して ユーザーに対するシークレット スキャン アラート を有効にすることもできます。 詳細については、「シークレット スキャンについて」と「GitHub Advanced Security について」を参照してください。

ユーザーに対するシークレット スキャン アラート を有効にする

自分が所有する無料のパブリック リポジトリに対して ユーザーに対するシークレット スキャン アラート を有効にすることができます。 有効にすると、secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。

[コードのセキュリティと分析] の Organization 設定ページを使って、Organization 内のすべてのパブリック リポジトリに対して code scanning を有効にできます。

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

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

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

  3. ページの下部まで下にスクロールし、secret scanning の [有効] をクリックします。 [無効] ボタンが表示される場合は、リポジトリで secret scanning が既に有効になっていることを意味します。

    [コードのセキュリティと分析] ページの [Secret scanning] セクションのスクリーンショット。濃いオレンジ色の枠で [有効] ボタンが強調表示されています。

  4. 必要に応じて、プッシュ保護を有効にする場合は、[プッシュ保護] の右側にある [有効] をクリックします。 プッシュ保護を有効にすると、secret scanning は、信頼度の高いシークレット (誤検知率が低いシークレット) のプッシュもチェックします。 Secret scanning には、作成者がシークレットを確認して削除できるように、検出したシークレットが一覧表示されます。また、必要に応じて、それらのシークレットをプッシュできるようにします。詳細については、「シークレット スキャンによるプッシュの保護」を参照してください。 リポジトリのプッシュ保護を有効にする

すべてのパブリック リポジトリに対して ユーザーに対するシークレット スキャン アラート を有効にする

個人用アカウント設定から、すべてのパブリック リポジトリに対して ユーザーに対するシークレット スキャン アラート を有効にすることができます。

  1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    GitHub のアカウント メニューのスクリーンショット。ユーザーがプロファイル、コンテンツ、設定を表示および編集するためのオプションが表示されています。 メニュー項目 [設定] が濃いオレンジ色の枠線で囲まれています。

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

  3. [Code security and analysis] (コードのセキュリティと分析) で、[Secret scanning] の右側にある [すべて無効にする] または [すべて有効にする] をクリックします。

    個人用アカウント設定ページの [Secret scanning] の設定オプションのスクリーンショット。 [すべてを有効にする] と [すべてを無効にする] のオプションがオレンジ色の枠線で強調表示されています

  4. 必要に応じて、作成した新しいパブリック リポジトリで secret scanning を自動的に有効にするには、[Secret scanning] の下にある [Automatically enable for new public repositories] (新しいパブリック リポジトリの場合に自動的に有効にする) のチェックボックスをオンにします。

    個人用アカウント設定ページの [Secret scanning] の設定オプションのスクリーンショット。 オプション [Automatically enable for new public repositories] (新しいパブリック リポジトリの場合に自動的に有効にする) がオレンジ色の枠線で強調表示されています

ユーザーに対するシークレット スキャン アラート からディレクトリを除外する

secret_scanning.yml ファイルを構成して、secret scanning からディレクトリを除外することができます (プッシュ保護を使う場合を含む)。 たとえば、テストまたはランダムに生成されたコンテンツを含むディレクトリを除外できます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを選んで、 [新しいファイルの作成] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 ファイルの一覧の上には、[ファイルの追加] というラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。

  2. ファイル名フィールドに「 .github/secret_scanning.yml」と入力します。

  3. [新しいファイルの編集] で、paths-ignore: と入力してから、secret scanningから除外するパスを入力します。

    paths-ignore:
      - "foo/bar/*.js"
    

    * などの特殊文字を使用して、パスをフィルター処理することができます。 フィルター パターンの詳細については、「GitHub Actions のワークフロー構文」を参照してください。

    注:

    • paths-ignore に 1,000 を超えるエントリがある場合、secret scanningでは、最初の 1,000 個のディレクトリのみがスキャンから除外されます。
    • secret_scanning.yml が 1 MB を超える場合、secret scanningではファイル全体を無視します。

secret scanning からの個々のアラートを無視することもできます。 詳しくは、「シークレット スキャンからのアラートの管理」を参照してください。