シークレット検出の除外
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: 実験的機能
シークレット検出は、実際にはシークレットではないものを検出する場合があります。たとえば、コード内でプレースホルダーとして偽の値を使用すると、検出され、ブロックされる可能性があります。
誤検出を回避するために、シークレット検出から除外できます:
- パス。
- Raw値。
- デフォルトのルールセットからルールを除外できます。
プロジェクトに対して複数の除外を定義できます。
制限事項
次の制限が適用されます:
- 除外は、各プロジェクトに対してのみ定義できます。
- 除外は、シークレットのプッシュ保護にのみ適用されます。
- プロジェクトごとのパスベースの除外の最大数は10です。
- パスベースの除外の最大深度は20です。
概要については、Secret Detection Exclusions - Demoを参照してください。
除外の追加
シークレット検出からの誤検出を回避するために、除外を定義します。
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
除外を定義するには:
- 左側のサイドバーで、検索または移動先を選択し、プロジェクトまたはグループに移動します。
- セキュリティ > セキュリティ設定を選択します。
- シークレットのプッシュ保護までスクロールダウンします。
- シークレットのプッシュ保護の切替をオンにします。
- シークレット検出の設定 ( )を選択します。
- 除外を追加して除外フォームを開きます。
- 除外の詳細を入力し、除外を追加を選択します。
パスの除外は、RubyメソッドFile.fnmatchでサポートされ、解釈されるglobパターンを、ルールセットFile::FNM_PATHNAME | File::FNM_DOTMATCH | File::FNM_EXTGLOBでサポートします。
ルールセットの除外は、デフォルトルールセットにリストされているすべてのIDをサポートします。たとえば、gitlab_personal_access_tokenは、GitLabパーソナルアクセストークンのルールセットIDです。