Carpe Diem

備忘録。https://github.com/jun06t

Vault

VaultのPKI(公開鍵基盤)でルート証明書・中間証明書・サーバ証明書を発行

概要 VaultにはPKI(公開鍵基盤)の機能もあります。 これを使って ルートCA 中間CA を用意し、 ルート証明書 中間証明書 サーバ証明書 を作成します。 環境 Vault 0.10.3

VaultのTransit secret engineでデータを暗号化・復号する

概要 VaultにはTransit Secrets Engineという、暗号化・復号をしてくれる機能があります。 このTransit Secrets EngineはKey/Valueのように暗号化データを保存することはなく、暗号化するための暗号化キーを保存&バージョン管理します。 また複数の機能を持…

GolangでVaultを操作

概要 これまで紹介したVaultの使い方はCLIを使うのがメインでしたが、実際はアプリケーション内で秘密情報を扱うケースが多々あります。 Vaultはgolangのライブラリを提供しているので、様々なログイン方法を紹介しつつ秘密情報にアクセスしてみます。 環境 …

IAMユーザを持っていたらVaultにログインできるようにする

概要 Vaultのデフォルトのログインはトークンですが、これだと漏れた時など管理しにくいのでAWSのIAMユーザ情報を元にログインできるようにします。 前提 ログインするメンバーはAWSのIAMユーザを持つ 環境 Vault 0.10.3

VaultのPolicyを使った運用

概要 VaultはPolicyを使って各APIの権限を設定します。 これによって権限を細かく設定することができますが、実際の運用ではどんな形で進めるのがいいのかがドキュメントでは分かりにくかったのでまとめした。 環境 Vault 0.10.3 Policy付与のフロー 以下の…

VaultでSSHをCA認証に

背景 AWSを運用しているとEC2のsshのキーペア管理が難しいです。 GCPであればアカウントを持てば自動で各ノードにsshできる仕組みがありますが、AWSは各インスタンスにsshのキーペアを1つだけ登録するようになっているため、複数人で運用するにはぱっと以下…

VaultのSeal/Unseal

概要 Hashicorp Vaultは起動時はsealedというステータスになっており、リストを取得したりKey-Valueの値を取得することができません。 Vaultはセキュリティのため、データにアクセスする手段は知っていても起動時は復号の方法を知らないのです。 そこでUnsea…