はじめに
git-secretsは、Amazon Web Services Labs が提供する、パスワードやその他の機密情報をgitリポジトリにコミットできないようにするツールです。
git と連携して git commit 実行前に自動的にsecretsの有無をチェックします。
Ubuntu 20.04 に git-secretsをインストールします。
環境
動作環境は以下の通り。
Ubuntu
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
手順
インストール
公式サイトの手順に従って、インストールします。
まず、リポジトリをクローンして、
$ git clone https://github.com/awslabs/git-secrets
インストールします。
$ cd git-secrets
$ sudo make install
インストールできたことを確認します。
$ git secrets -h
usage: git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [<files>...]
or: git secrets --scan-history
or: git secrets --install [-f|--force] [<target-directory>]
or: git secrets --list [--global]
or: git secrets --add [-a|--allowed] [-l|--literal] [--global] <pattern>
or: git secrets --add-provider [--global] <command> [arguments...]
or: git secrets --register-aws [--global]
or: git secrets --aws-provider [<credentials-file>]
--scan Scans <files> for prohibited patterns
--scan-history Scans repo for prohibited patterns
--install Installs git hooks for Git repository or Git template directory
--list Lists secret patterns
--add Adds a prohibited or allowed pattern, ensuring to de-dupe with existing patterns
--add-provider Adds a secret provider that when called outputs secret patterns on new lines
--aws-provider Secret provider that outputs credentials found in an ini file
--register-aws Adds common AWS patterns to the git config and scans for ~/.aws/credentials
-r, --recursive --scan scans directories recursively
--cached --scan scans searches blobs registered in the index file
--no-index --scan searches files in the current directory that is not managed by Git
--untracked In addition to searching in the tracked files in the working tree, --scan also in untracked files
-f, --force --install overwrites hooks if the hook already exists
-l, --literal --add and --add-allowed patterns are escaped so that they are literal
-a, --allowed --add adds an allowed pattern instead of a prohibited pattern
--global Uses the --global git config
インストールできました。