Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となりました: 2024-09-25. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

シークレットスキャンからのフォルダーとファイルの除外

リポジトリ内の secret_scanning.yml ファイルを構成することで、secret scanning をカスタマイズして、分析からディレクトリまたはファイルを除外できます。

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

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

secret scanningについて

Secret scanning は、リポジトリにチェックインされたトークンまたは認証情報を自動的に検出します。 GitHub リポジトリの [セキュリティ] タブで、コード内で見つけるシークレットの アラートを表示して、どのトークンや認証情報を危険なものとして扱うかわかるようにします。詳細な情報については、「シークレット スキャン アラートについて」を参照してください。

シークレット スキャン

からのディレクトリの除外について

ドキュメントやサンプルアプリケーションで偽のシークレットを提供する場合など、リポジトリにシークレットをコミットする場合が考えられます。 これらのシナリオでは、アラートをすばやく無視して理由を文書化できます。 ただし、大規模な誤検知アラートの作成をしないようにするために、ディレクトリを完全に無視したい場合もあります。 たとえば、多数の誤ったアラートをトリアージに発せられる可能性があるダミー キーのファイルを含む複数の統合を持つモノリシック アプリケーションがあるとします。

プッシュ保護を使用する場合を含め、ディレクトリを secret scanning から除外するように secret_scanning.yml ファイルを設定できます。

シークレット スキャン

からディレクトリを除外する

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを使用し、 [新しいファイルの作成] をクリックします。

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

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

    YAML
    paths-ignore:
      - "docs/**"
    

    これにより、secret scanning に、docs ディレクトリ内のすべての要素を無視するよう指示されます。 このサンプル ファイルをテンプレートとして使用して、独自のリポジトリから除外するファイルとフォルダーを追加できます。

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

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

    Note

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

フォルダーが secret scanning から除外されていることを確認

  1. シークレット スキャンから除外したディレクトリ内のファイルを開く
  2. 事前に無効化されたシークレットまたはテスト シークレットを貼り付けます。
  3. 変更をコミットします。
  4. GitHub で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。
    ファイルに導入したばかりのシークレットに対する新しいオープン アラートは存在しないはずです。

ベスト プラクティス

ベスト プラクティスには次のようなものがあります。

  • 除外するディレクトリの数を最小限に抑え、除外を定義するときに可能な限り正確にします。 これにより、指示が可能な限り明確になり、除外が意図したとおりに機能するようになります。
  • secret_scanning.yml ファイル内のコメントで特定のファイルまたはフォルダーが除外される理由を説明します。 通常のコードと同様に、コメントを使用すると意図が明確になり、他のユーザーが目的の動作を理解しやすくなります。
  • secret_scanning.yml ファイルを定期的に確認します。 一部の除外は時間と共に適用されなくなる可能性があり、ファイルをクリーンで最新の状態に保つことをお勧めします。 上記で説明したように、コメントの使用はこれに役立ちます。
  • 除外したファイルとフォルダーとその理由をセキュリティ チームに通知します。 すべてのユーザーが同じページに存在し、特定のフォルダーまたはファイルが除外される理由を理解するには、適切なコミュニケーションが不可欠です。