Dropbox_セキュリティ-780x400

git-secretsの設定を手元の全Repositoryに反映する。

クラウド破産という言葉が知られて久しい世の中です。

その対策としてよく利用されているのがgit-secretsだと思います。

各種秘密鍵をcommitしてしまう場合に警告を出すようにしてくれるツールです。
自分も利用していますが、設定を手元のすべてのrepositoryや、新しく作るRepositoryにも反映したかったので、その手順を書きます。


Install

brew経由でinstallが出来る。

$ brew install git-secrets

全repositoryへのルールの追加

$ git secrets --add 'your rule' で追加をすることが出来る。
更に--global optionをつけることで、repositoryの垣根を超えてglobalに反映される。

# for AWS 
$ git secrets --register-aws --global

# for GCP @see https://cloudplatform-jp.googleblog.com/2017/08/help-keep-your-Google-Cloud-service-account-keys-safe.html
git secrets --add 'private_key' --global
git secrets --add 'private_key_id' --global

内容としては、~/.gitconfigに追加される。
各種repositoryはこの設定を見ることになるので、手元のgit repoは全て設定したルールに従うことになる。

teitei.tk >> (master) ~/.golang/src/github.com/teitei-tk/MyDotfiles
$ git secrets --add hoge --global

teitei.tk >> !(master) ~/.golang/src/github.com/teitei-tk/MyDotfiles
$ git diff
diff --git a/.gitconfig b/.gitconfig
index 3fbffb3..df8002c 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -37,3 +37,4 @@
       patterns = (\"|')?(AWS|aws|Aws)?_?(ACCOUNT|account|Account)_?(ID|id|Id)?(\"|')?\\s*(:|=>|=)\\s*(\"|')?[0-9]{4}\\-?[0-9]{4}\\-?[0-9]{4}(\"|')?
       allowed = AKIAIOSFODNN7EXAMPLE
       allowed = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
+       patterns = hoge

~/.gitconfigをgithubで管理することで、別のPCでもpullさえしたら反映される。

新規Repositoryでもgit-secretsを適応する。

特定のDirectoryにinstallをし、globalなgit configに設定を追加することで、新規にrepositoryを追加(git init、git clone)した際にもhookされるようになる。

$ git secrets --install ~/.git-templates/secrets
$ git config --global init.templatedir '~/.git-templates/secrets'


手前味噌ですが、自分のdotfiles repositoryに追加をしたので何か参考になれば幸いです。


Ref


Software Engineer. https://teitei-tk.com