AWSの高額請求から身を守る! 'git-secrets'

こんにちは!kossyです!

金足農業の躍進、すごいですね。秋田県出身の方はもうお祭り騒ぎみたいです。
大阪桐蔭PL学園亡き今、名実ともに高校野球界最強の高校で苦しい戦いになるかと思いますが、
金足ナインに是非勝っていただきたいです。










さて、今回はAWSの認証情報を含んだコードをコミットできないように設定できる、
'git-secrets'の使い方について書いてみたいと思います。








git-secretsとは

git-secretsはAWSが提供しているツールで、認証情報などの秘密にしたい情報を、
誤ってコミットされることを防いでくれます。








Homebrew導入(導入済みの方は読み飛ばしてOK)

インストールにはHomebrewを使いますので、
Homebrewをインストールされていない方は、カレントディレクトリに移動し、

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

こちらのコマンドを実行します。
その後パスワード(ご自身のMacにログインする時のパスワードです)を入力し、
エンターを押すとインストールが始まります。インストール終了後、

brew -v

上記のコマンドでバージョンが表示されればインストールは完了です。
Homebrewをインストールすると、インターネット上から便利なアプリケーションを簡単にインストールしたり、
そのバージョン管理をすることができます。


Homebrewの詳しい説明はこちらをご覧ください。
homebrewとは何者か。仕組みについて調べてみたqiita.com


git-secretsのインストールと適用


brew installでgit-secretsを導入します。
カレントディレクトリに移動し、

brew install git-secrets

コマンドを実行します。
導入が終わったら、設定を適用したいリポジトリにcdコマンドで移動して、git-secretsを有効化します。

$ cd リポジトリ名
リポジトリ名$ git secrets --install

その後、

$ git secrets --register-aws --global

これで、AWS_secret_key, AWS_access_keyなどのAWS関連の秘密情報を一括で設定することができます。
また、

$ git secrets --list

このコマンドで、現在のgit-secretsの設定を確認できます。

この設定を行うと、git secrets --installを行なったリポジトリでの
AWSの秘密情報を含んだコミットを行うことができなくなります。

また、以下のコマンドを実行すると、今後作成する全てのリポジトリで、git-secretsの設定を自動で適用できるようになります。

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


これで高額請求から身を守れると思いますが、
万が一このブログを見てこの通り設定して高額請求が来ても、責任を負いかねますのであしからず。