0
0

git-secretsでパスワードのプッシュを防ぐ方法

Posted at

git-secretsでパスワードのプッシュを防ぐ方法

ソフトウェア開発において、セキュリティは非常に重要です。特に、誤って機密情報をGitリポジトリにプッシュすることは避けなければなりません。ここでは、git-secretsを使用してパスワードや秘密情報の不用意なプッシュを防ぐ方法を初心者向けに解説します。また、環境変数の設定方法とgit-secretsの導入手順、AWS関連情報の設定、GitHub Desktopでの使用方法についても触れます。

環境変数とその設定方法

環境変数は、オペレーティングシステムで設定される値で、プログラムの実行時に様々な情報を提供します。例えば、APIキーやデータベースの接続情報などの機密データを安全に管理するために用いられます。

設定方法

  • Windows:
    set VARIABLE_NAME=value
    
  • Linux/Mac:
    vim ~/.zshrc         
    
    export VARIABLE_NAME=value
    
    source ~/.zshrc    
    

git-secretsについて

git-secretsは、誤って機密情報がGitリポジトリにコミットされるのを防ぐためのツールです。このツールは特定のパターン(例えば、パスワードやトークン)をスキャンし、それらがコミットされるのをブロックします。

git-secretsの導入手順

git-secretsの導入は以下のステップに従います。

  1. git-secretsのインストール:

    • Linux (Amazon Linux, Red Hat系):
      sudo yum install -y git-secrets
      
    • Mac (Homebrewを使用):
      brew install git-secrets
      
  2. リポジトリでgit-secretsを初期化:

    git secrets --install
    
  3. 機密情報が含まれないことを確認するルールを設定:

    git secrets --add '秘密情報の正規表現'
    

AWS関連情報の設定

AWSの資格情報やアクセスキーを誤ってコミットしないようにするため、git-secretsにはAWS関連の情報を検出するための設定が用意されています。

git secrets --register-aws --global

このコマンドを実行すると、AWSの資格情報に関連する一般的なパターンが自動的に登録されます。

GitHub Desktopでの使用

GitHub Desktopでは、git-secretsを直接使用する機能はありませんが、コマンドラインを通じてgit-secretsを設定し、その後にGitHub Desktopでリポジトリを操作することができます。つまり、git-secretsの設定はGitリポジトリに紐付けられるため、GitHub Desktopでもその影響を受けます。

sudo cp /usr/local/bin/git-secrets /Applications/GitHub\ Desktop.app/Contents/Resources/app/git/bin/git-secrets

git secrets --install ~/.git-templates/git-secrets

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

まとめ

git-secretsは、誤って機密情報をGitリポジトリにプッシュするリスクを軽減する強力なツールです。このツールを使用することで、セキュリティ違反を防ぎ、安全なソフトウェア開発プロセスを確立することができます。環境変数の適切な設定と組み合わせることで、機密情報の取

り扱いをさらに安全に管理できるようになります。また、AWS関連情報の自動設定機能やGitHub Desktopとの互換性もgit-secretsの便利な特徴です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0