注: この機能を使うには、サイト管理者が お使いの GitHub Enterprise Server インスタンス の secret scanning を有効にする必要があります。 詳しくは、「アプライアンスのシークレットスキャンを設定する」を参照してください。
エンタープライズオーナーがエンタープライズ レベルでポリシーを設定している場合、secret scanning を有効または無効にできない場合があります。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。
シークレット スキャン を有効にする
組織が所有する組織が所有するリポジトリを持つGitHub Enterprise Cloudを使用する際のユーザー アカウントを所有するリポジトリ に対してシークレット スキャンを有効することができます。 有効にすると、secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。 Secret scanning は問題をスキャンしません。
組織内の複数のリポジトリで同時に secret scanning を有効にすることもできます。 詳しくは、「組織を保護するためのクイック スタート」を参照してください。
注: 組織がエンタープライズ アカウントの所有になっている場合、エンタープライズ所有者はエンタープライズ レベルで secret scanning を有効にすることもできます。 詳しくは、「Enterprise 用の GitHub Advanced Security 機能の管理」を参照してください。
リポジトリ管理者は、リポジトリのsecret scanningをいつでも無効にすることができます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。
-
Advanced Security がまだリポジトリで有効化されていなければ、[GitHub Advanced Security] の右側で [有効化] をクリックしてください。
-
Advanced Securityの有効化の影響をレビューしてから、 [このリポジトリで GitHub Advanced Security を有効化] をクリックしてください。
-
Advanced Securityを有効化すると、Organizationの設定によってはリポジトリでsecret scanningが自動的に有効化されることがあります。 "Secret scanning" が [有効] ボタンと共に表示されている場合でも、 [有効] をクリックしてsecret scanningを有効にする必要があります。 [無効] ボタンが表示された場合、secret scanningは既に有効になっています。
シークレット スキャンの機能を有効にする
リポジトリの「コード セキュリティと分析」設定で、次の追加secret scanning機能sを有効にすることができます。
- プッシュ保護。 詳細については、「リポジトリと Organization のプッシュ保護」を参照してください。
- カスタム パターンのスキャン。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。
シークレット スキャン からディレクトリを除外する
プッシュ保護を使用する場合を含め、ディレクトリを secret scanning から除外するように secret_scanning.yml ファイルを設定できます。 たとえば、テストまたはランダムに生成されたコンテンツを含むディレクトリを除外できます。
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。
-
ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを使用し、 [新しいファイルの作成] をクリックします。
-
ファイル名フィールドに「 .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 からの個々のアラートを無視することもできます。 詳しくは、「シークレット スキャンからのアラートの管理」を参照してください。