シークレット スキャン を有効にする
組織によって所有されているリポジトリに対して シークレット スキャン を有効にすることができます。 有効にすると、secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。
組織内の複数のリポジトリで同時に secret scanning を有効にすることもできます。 詳しくは、「組織のセキュリティ保護」を参照してください。
-
ご自分のエンタープライズ で、リポジトリのメイン ページへ移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。
-
Advanced Security がまだリポジトリで有効化されていなければ、[GitHub Advanced Security] の右側で [有効化] をクリックしてください。
-
Advanced Securityの有効化の影響をレビューしてから、 [このリポジトリで GitHub Advanced Security を有効化] をクリックしてください。
-
Advanced Securityを有効化すると、Organizationの設定によってはリポジトリでsecret scanningが自動的に有効化されることがあります。 "Secret scanning" が [有効] ボタンと共に表示されている場合でも、 [有効] をクリックしてsecret scanningを有効にする必要があります。 [無効] ボタンが表示された場合、secret scanningは既に有効になっています。
-
必要に応じて、プッシュ保護を有効にする場合は、[プッシュ保護] の右側にある [有効] をクリックします。 組織またはリポジトリのプッシュ保護を有効にすると、secret scanning は、プッシュで信頼性の高いシークレット (誤検知率が低いと特定されたシークレット) もチェックします。 Secret scanning には、作成者がシークレットを確認して削除できるように、検出したシークレットが一覧表示されます。また、必要に応じて、それらのシークレットをプッシュできるようにします。詳細については、「リポジトリと組織のプッシュ保護」を参照してください。
-
secret scanning を有効化する前に、まず GitHub Advanced Security を有効化する必要があります。 [GitHub Advanced Security] の右側にある [有効] をクリックします。
-
[このリポジトリで GitHub Advanced Security を有効化する] をクリックしてアクションを確認します。
-
[Secret scanning] の横にある [有効] をクリックします。
シークレット スキャン からディレクトリを除外する
secret_scanning.yml ファイルを構成して、secret scanning からディレクトリを除外することができます (プッシュ保護を使う場合を含む)。 たとえば、テストまたはランダムに生成されたコンテンツを含むディレクトリを除外できます。
-
ご自分のエンタープライズ で、リポジトリのメイン ページへ移動します。
-
ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを使用し、 [新しいファイルの作成] をクリックします。
-
ファイル名フィールドに「 .github/secret_scanning.yml」と入力します。
-
[新しいファイルの編集] で、
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 からの個々のアラートを無視することもできます。 詳しくは、「シークレット スキャンからのアラートの管理」を参照してください。