{"meta":{"title":"シークレットスキャンからのフォルダーとファイルの除外","intro":"リポジトリ内のsecret scanning ファイルを構成することで、secret_scanning.ymlをカスタマイズして、特定のディレクトリまたはファイルに含まれるシークレットのアラートを自動的に閉じることができます。","product":"セキュリティとコードの品質","breadcrumbs":[{"href":"/ja/code-security","title":"セキュリティとコードの品質"},{"href":"/ja/code-security/how-tos","title":"やり方"},{"href":"/ja/code-security/how-tos/secure-your-secrets","title":"シークレットをセキュリティで保護する"},{"href":"/ja/code-security/how-tos/secure-your-secrets/customize-leak-detection","title":"リーク検出をカスタマイズする"},{"href":"/ja/code-security/how-tos/secure-your-secrets/customize-leak-detection/exclude-folders-and-files","title":"フォルダーとファイルを除外する"}],"documentType":"article"},"body":"# シークレットスキャンからのフォルダーとファイルの除外\n\nリポジトリ内のsecret scanning ファイルを構成することで、secret_scanning.ymlをカスタマイズして、特定のディレクトリまたはファイルに含まれるシークレットのアラートを自動的に閉じることができます。\n\nドキュメントやサンプルアプリケーションで偽のシークレットを提供する場合など、リポジトリにシークレットをコミットする場合が考えられます。 これらのシナリオでは、アラートをすばやく無視して理由を文書化できます。 ただし、大規模な誤検知アラートを作成しないようにするために、ディレクトリを完全に無視することもあります。 たとえば、多数の誤ったアラートをトリアージに発せられる可能性があるダミー キーのファイルを含む複数の統合を持つモノリシック アプリケーションがあるとします。\n\n特定のディレクトリにあるアラートを`secret_scanning.yml`から自動的に閉じ、プッシュ保護に含まれるこれらのディレクトリを除外するように、secret scanning ファイルを構成できます。 これらのアラートは、\"構成によって無視された\" ものとして閉じられます。\n\n## ユーザーのシークレット スキャン アラート からディレクトリを除外する\n\n1. GitHub で、リポジトリのメイン ページに移動します。\n\n2. ファイルの一覧の上にある **\\[Add file <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-triangle-down\" aria-label=\"The downwards-facing triangle icon\" role=\"img\"><path d=\"m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z\"></path></svg>]** ドロップダウン メニューを選んでから、**\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-plus\" aria-label=\"plus\" role=\"img\"><path d=\"M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z\"></path></svg> Create new file]** をクリックします。\n\n   または、左側のファイル ツリー ビューの <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-plus\" aria-label=\"The plus sign icon\" role=\"img\"><path d=\"M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z\"></path></svg> をクリックしてもかまいません。\n\n   ![上で説明した \\[Add file\\] と \"プラス記号\" アイコンの両方がオレンジ色の枠線で強調されている、リポジトリのメイン ページのスクリーンショット。](/assets/images/help/repository/add-file-buttons.png)\n\n3. ファイル名フィールドに「.github/secret\\_scanning.yml」と入力します。\n\n4. \\[ **新しいファイルの編集]** で、「 `paths-ignore:` 」と入力し、その後に secret scanningから除外するパスを入力します。\n\n   ```yaml copy\n   paths-ignore:\n     - \"docs/**\"\n   ```\n\n   これにより、secret scanning ディレクトリ内のすべてのアラートを自動的に閉じるよう`docs`に指示されます。 このサンプル ファイルをテンプレートとして使用して、独自のリポジトリから除外するファイルとフォルダーを追加できます。\n\n`*` などの特殊文字を使用して、パスをフィルター処理することもできます。 フィルター パターンの詳細については、「[GitHub Actions のワークフロー構文](/ja/actions/reference/workflows-and-actions/workflow-syntax#filter-pattern-cheat-sheet)」を参照してください。\n\n````\n``` yaml copy\npaths-ignore:\n  - \"foo/bar/*.js\"\n```\n\n> [!NOTE]\n> * \n````\n\n`paths-ignore`に 1,000 個を超えるエントリがある場合、secret scanningは最初の 1,000 個のディレクトリのみをスキャンから除外します。\n\\> \\*\n`secret_scanning.yml`が 1 MB を超える場合、secret scanningはファイル全体を無視します。\n\n## フォルダーが除外されていることを確認する secret scanning\n\n1. シークレット スキャンから除外したディレクトリ内のファイルを開く\n\n2. 事前に無効化されたシークレットまたはテスト シークレットを貼り付けます。\n\n3. 変更をコミットします。\n\n4. GitHub で、リポジトリのメイン ページに移動します。\n\n5. リポジトリ名の下にある \\[ **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality** ] タブをクリックします。\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality] タブが表示されない場合は、 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"kebab-horizontal\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg>** ドロップダウン メニューを選択し、\\[ **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality**] をクリックします。 ファイルに導入したシークレットに対する新しいオープン アラートは存在しません。\n\n## ベスト プラクティス\n\nベスト プラクティスには次のようなものがあります。\n\n* 除外するディレクトリの数を最小限に抑え、除外を定義するときに可能な限り正確にします。 これにより、指示が可能な限り明確になり、除外が想定通りに機能するようになります。\n* `secret_scanning.yml` ファイル内のコメントで特定のファイルまたはフォルダーが除外される理由を説明します。 通常のコードと同様に、コメントを使用すると意図が明確になり、他のユーザーが目的の動作を理解しやすくなります。\n* `secret_scanning.yml` ファイルを定期的に確認します。 一部の除外は時間と共に適用されなくなる可能性があり、ファイルをクリーンで最新の状態に保つことをお勧めします。 上記で説明したように、コメントを使用することが役立ちます。\n* 除外したファイルとフォルダーとその理由をセキュリティ チームに通知します。 すべてのユーザーが同じページに存在し、特定のフォルダーまたはファイルが除外される理由を理解するには、適切なコミュニケーションが不可欠です。"}