正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

シークレット検出の除外

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: 実験的機能

シークレット検出は、実際にはシークレットではないものを検出する場合があります。たとえば、コード内でプレースホルダーとして偽の値を使用すると、検出され、ブロックされる可能性があります。

誤検出を回避するために、シークレット検出から除外できます:

  • パス。
  • Raw値。
  • デフォルトのルールセットからルールを除外できます。

プロジェクトに対して複数の除外を定義できます。

制限事項

次の制限が適用されます:

  • 除外は、各プロジェクトに対してのみ定義できます。
  • 除外は、シークレットのプッシュ保護にのみ適用されます。
  • プロジェクトごとのパスベースの除外の最大数は10です。
  • パスベースの除外の最大深度は20です。

概要については、Secret Detection Exclusions - Demoを参照してください。

除外の追加

シークレット検出からの誤検出を回避するために、除外を定義します。

前提要件:

  • プロジェクトのメンテナー以上のロールを持っている必要があります。

除外を定義するには:

  1. 左側のサイドバーで、検索または移動先を選択し、プロジェクトまたはグループに移動します。
  2. セキュリティ > セキュリティ設定を選択します。
  3. シークレットのプッシュ保護までスクロールダウンします。
  4. シークレットのプッシュ保護の切替をオンにします。
  5. シークレット検出の設定 ( settings )を選択します。
  6. 除外を追加して除外フォームを開きます。
  7. 除外の詳細を入力し、除外を追加を選択します。

パスの除外は、RubyメソッドFile.fnmatchでサポートされ、解釈されるglobパターンを、ルールセットFile::FNM_PATHNAME | File::FNM_DOTMATCH | File::FNM_EXTGLOBでサポートします。

ルールセットの除外は、デフォルトルールセットにリストされているすべてのIDをサポートします。たとえば、gitlab_personal_access_tokenは、GitLabパーソナルアクセストークンのルールセットIDです。