GITの秘密管理🗝


我々は常にgitの秘密を格納しないように言われている.彼らは潜在的な攻撃者に明らかにされるかもしれなくて、誤用されることができます.しかし、私がそれをあなたに言ったならばdaily.dev , 我々は、Gitのすべての我々の秘密を管理します?

導入git-crypt , コミットとチェックアウトの際に秘密を自動的に暗号化して解読するGitアドオン.
何がgit crypt(この後でより多くの)ファイルを暗号化しなければならないかを定義する必要があります、そして、それは残りを考慮に入れます.
最も信じられないほどの特徴は、ファイルが暗号化されていることを伝えることさえできないことです.プロセスは、エンドユーザーに完全に透過的です.これはGitの差分と他のすべてのgit操作と互換性があります.つの変更は、リモートファイルが暗号化され、暗号化キーなしでアクセスできないことです.
今私たちは私たちの秘密を暗号化することができます私たちは、それらを漏らされたり、他人によって誤用心配する必要はありません.Gitクリプトは、暗号化とセキュリティの面でベストプラクティスに従います.
我々はどのように正確に我々はこのツールを利用できるように飛び込む前に、賛否両論を確認しましょう.

短所

  • 秘密は、コードを引くことなく編集することはできません.
  • いいえファンシーUI秘密を編集します.
  • 開発者は秘密を読み書きするためにgit cryptを必要とします.
  • 秘密をプロジェクト間で共有することはできません.
  • リポジトリを元に戻すと、構成も同様に戻され、これは日付の設定が使用される可能性があります.
  • 長所

  • コードとしてのインフラストラクチャ.秘密はGitで管理されているので、あなたが使用されている任意のコードワークフローを適用することができます.コードレビュー、反転、バージョンの比較、および詳細.
  • 秘密のスキーマは、常にアプリケーションのコードと整列されます.秘密とアプリケーションコードは、単一のユニットとして展開されますので、アプリケーションのバージョンを変更した場合でも、その設定は、スキーマと互換性があることを確認します.
  • スタンドアロンの設定を強制的に共有できません.サービス間の秘密を共有するのは、データベース接続を共有するようなものです.長期的にこれらの依存関係を維持するのは非常に難しいです.
  • あなたのアプリケーションのすべての秘密を見つけるために正確に知っている.
  • CI/CDは簡単に秘密にアクセスできます.
  • 今では、おそらくこのメソッドは、すべてのユースケースまたはすべてのユースケースではないことを理解しています.あなたが私のようにコードとして基盤のダイハードファンであるならば、それをテストするようにしてください.
    それを試してみましょう.

    git cryptのインストール


    BUSEユーザにとって、私自身のように、インストールするのはとても簡単です.brew install git-crypt他の人はおそらくソースからそれを構築する必要がありますが、心配しないでください.それはかなり簡単にする必要があります.Instructions can be found here .

    初期設定


    Git - cryptにリポジトリ内の環境を初期化する必要があります.repoとrunに移動します.git-crypt init

    構成


    開けましょう.gitattributes repoのルートディレクトリのファイル.ファイルを追加する必要がありますglob patterns 暗号化したいです.
    以下に例を示します.
    secretfile filter=git-crypt diff=git-crypt
    *.key filter=git-crypt diff=git-crypt
    secretdir/** filter=git-crypt diff=git-crypt
    
    この例では、git - cryptは以下のファイルを管理します:
  • ファイル名secretfile .
  • で終わるファイル.key .
  • 中にある全てのファイルsecretdir フォルダとその子.
  • 新しい協力者の追加


    これはトリッキーな部分です.このコマンドは、プロジェクトのすべての協力者に対して実行する必要があります.さもなければ、この人は秘密を解読することができません.このコマンドを実行するためにGPGがインストールされていなければならないことに注意してください(このブログ投稿の範囲外).git-crypt add-gpg-user USER_ID USER_ID キーのID、完全な指紋、電子メールアドレス、またはGPGに公開キーを一意に識別する何かをすることができます.
    このコマンドを実行すると、git - cryptは新しい変更をコミットします.素晴らしい副作用は、Gitの歴史を通して、あなたの協力者を追跡することができます.

    既存のレポのロック解除


    あなたがGitクリプトによって保護されている既存のレポを引く場合は、すべてを復号化するためにロックを解除する必要があります.あなたが協力者であることを確認し、暗号化キーにアクセスする必要があります.
    単に実行するgit-crypt unlockそして、それは、暗号化されたファイルが復号化され、準備ができて、それらを編集します.
    それだ!🌟 あなたが行くとGitの秘密を保存する準備が整いました.コメントでそれがどのように下がるかについて、私に知らせさせてください👇
    Daily すべての新しいタブを最高のプログラミングニュースを提供します.私たちはあなたのための資格のソースの数百人は、将来をハックできるようにランク付けされます.