Secret Scanningのカスタムパターンの定義

Organization及びプライベートリポジトリ内でsecret scanningのカスタムパターンを定義できます。

Secret scanningは、すべてのパブリック及びOrganizationが所有するGitHub Advanced Securityが有効化されたプライベートリポジトリで利用できます。 詳しい情報については、「GitHub Advanced Security について」を参照してください。

secret scanningのカスタムパターンについて

GitHubは、パブリック及びプライベートリポジトリ上でGitHub及びGitHubパートナーが提供するシークレットのパターンのsecret scanningを行います。 secret scanningパートナープログラムに関する詳しい情報については「Secret scanningパートナープログラム」を参照してください。

ただし、プライベートリポジトリ中で他のシークレットのパターンをスキャンしたいこともあるでしょう。 たとえば、Organizationの内部的なシークレットのパターンを持っていることもあるかもしれません。 For these situations, you can define custom secret scanning patterns in your enterprise, organization, or private repository on GitHub. You can define up to 100 custom patterns for each organization or enterprise account, and up to 20 custom patterns per private repository.

カスタムパターンの正規表現構文

secret scanningのカスタムパターンは、正規表現として指定されます。 Secret scanningはHyperscanライブラリを利用し、Hyperscanの正規構造のみをサポートします。これはPCRE構文のサブセットです。 Hyperscanのオプション修飾子はサポートされません。 Hyperscanのパターン構造に関する詳しい情報については、Hyperscanのドキュメンテーションの「Pattern support」を参照してください。

リポジトリのカスタムパターンの定義

カスタムパターンを定義する前に、リポジトリでsecret scanningが有効化されていることを確認しておかなければなりません。 詳しい情報については「リポジトリでのsecret scanningの設定」を参照してください。

  1. GitHubで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. 左のサイドバーで、Security & analysis(セキュリティと分析)をクリックしてください。 リポジトリ設定の"セキュリティと分析"タブ

  4. "Configure security and analysis features(セキュリティと分析の機能の設定)"の下で、「GitHub Advanced Security」を見つけてください。

  5. Under "Secret scanning", under "Custom patterns", click New pattern.

  6. 新しいカスタムパターンの詳細を入力します。

    1. 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。
    2. [More options ]をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を提供できます。
    3. Provide a sample test string to make sure your configuration is matching the patterns you expect.

    カスタムのsecret scanningパターン形式の作成

  7. When you are satisfied with your new custom pattern, click Create pattern.

パターンを作成したら、secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。 secret scanningアラートの表示に関する詳しい情報については「secret scanningからのアラートの管理」を参照してください。

Organizationのカスタムパターンの定義

カスタムパターンを定義する前に、Organizationの中のスキャンしたいプライベートリポジトリでsecret scanningが有効化されていることを確認しなければなりません。 Organization内のすべてのプライベートリポジトリでsecret scanningを有効化するには、「Organizationのセキュリティと分析設定の管理」を参照してください。

Note: As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire organization. That way, you can avoid creating excess false-positive secret scanning alerts.

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization

  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン

  3. 左のサイドバーで、Security & analysis(セキュリティと分析)をクリックしてください。 Organization設定の"セキュリティと分析"タブ

  4. "Configure security and analysis features(セキュリティと分析の機能の設定)"の下で、「GitHub Advanced Security」を見つけてください。

  5. Under "Secret scanning", under "Custom patterns", click New pattern.

  6. 新しいカスタムパターンの詳細を入力します。

    1. 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。
    2. [More options ]をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を提供できます。
    3. Provide a sample test string to make sure your configuration is matching the patterns you expect.

    カスタムのsecret scanningパターン形式の作成

  7. When you are satisfied with your new custom pattern, click Create pattern.

パターンを作成すると、secret scanningはすべてのブランチのGit履歴全体を含めて、Organization内のプライベートリポジトリでシークレットをスキャンします。 Organizationのオーナーとリポジトリの管理者は、シークレットが見つかるとアラートを受け、シークレットが見つかったリポジトリでアラートをレビューできます。 secret scanningアラートの表示に関する詳しい情報については「secret scanning空のアラートの管理」を参照してください。

Defining a custom pattern for an enterprise account

Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "Enabling GitHub Advanced Security for your enterprise."

Note: As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive secret scanning alerts.

  1. GitHubの右上で、自分のプロフィール写真をクリックし、続いてYour enterprises(自分のEnterprise)をクリックしてください。 GitHubのプロフィール写真のドロップダウンメニュー内の"Your enterprises"

  2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 Enterpriseのリスト中のEnterpriseの名前

  3. Enterpriseアカウントのサイドバーで、 Policies(ポリシー)をクリックしてください。 Enterpriseアカウントサイドバー内のポリシータブ

  4. Policies(ポリシー)の下で、"Advanced Security"をクリックしてください。 サイドバー内の"Advanced Security" ポリシー

  5. Under "GitHub Advanced Security", click the Security features tab.

  6. Under "Secret scanning custom patterns", click New pattern.

  7. 新しいカスタムパターンの詳細を入力します。

    1. 少なくともパターンの名前と、シークレットパターンのフォーマットとして正規表現を提供しなければなりません。
    2. [More options ]をクリックして、シークレットのフォーマットのその他の周辺コンテンツあるいは追加のマッチ要件を提供できます。
    3. Provide a sample test string to make sure your configuration is matching the patterns you expect.

    カスタムのsecret scanningパターン形式の作成

  8. When you are satisfied with your new custom pattern, click Create pattern.

After your pattern is created, secret scanning scans for any secrets in private repositories within your enterprise's organizations with GitHub Advanced Security enabled, including their entire Git history on all branches. Organizationのオーナーとリポジトリの管理者は、シークレットが見つかるとアラートを受け、シークレットが見つかったリポジトリでアラートをレビューできます。 secret scanningアラートの表示に関する詳しい情報については「secret scanning空のアラートの管理」を参照してください。

Editing a custom pattern

When you save a change to a custom pattern, this closes all the secret scanning alerts that were created using the previous version of the pattern.

  1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.
  2. Under "Secret scanning", to the right of the custom pattern you want to edit, click .
  3. When you have reviewed and tested your changes, click Save changes.

カスタムパターンの削除

  1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.

  2. To the right of the custom pattern you want to remove, click .

  3. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern.

  4. Click Yes, delete this pattern.

    Confirming deletion of a custom secret scanning pattern

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?