Carpe Diem

備忘録

2018-07-01から1ヶ月間の記事一覧

HashiCorp VaultのAudit Devicesでオペレーションをロギング

概要 HashiCorp Vaultの売りは Secure secret management Dynamic secrets Encryption as a Service Leasing and Renewal など多々ありますが、その中でもAudit(監査)ログ(Vaultの操作ログ)の管理はとても重要です。 今回はその設定を紹介します。 Audit D…

AngularのPipeでデータの表示形式を簡単に操作する

概要 元はunixtimeだったり、単純な数値データなものだったりを以下のようなフォーマットにしたいことは往々にしてあります。 日付 通過 パーセント 大文字に統一 AngularではPipesという機能を使うことでテンプレート上で簡単に実現できます。 ビルトインPi…

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

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

SSL/TLS周りで必要な知識

概要 SSL/TLSでは ルート証明書 (root certificate) 中間証明書 (intermediate certificate) サーバ証明書 (primary certificate) など色々なファイルや用語があり、混乱しやすいのでまとめます。 認証局(CA)について ルートCA 認証局です。 この認証局が発…

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

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

GoでVaultを操作

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

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

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

HashiCorp VaultのPolicyを使った運用

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

HashiCorp VaultでSSHをCA認証に

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

HashiCorp VaultのSeal/Unseal

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

KubernetesでEnvoyを使ったSidecarパターンを実装

概要 前回書いた構成をKubernetesで実装してみます。 christina04.hatenablog.com 環境 minikube v0.26.1 kubernetes v1.10.0 成果物 今回のソースです。 github.com

マイクロサービスでのSidecarパターンとは何か

概要 マイクロサービス化したシステムを運用する上で出てくる課題を解決するパターンとしてService Meshというものがあります。 このService Meshというものは以下の2つのコンポーネントで構成されます。 Data plane アプリケーションの代わりにネットワー…