Carpe Diem

備忘録

VaultのKVの基本的な使い方

概要

VaultのKey/Valueの基本的な使い方を紹介します。
このKey/Valueは少し前にv2が出ているため、v1と混同しないよう注意してください。

今回はKey/Valueのバージョン管理が可能なv2を想定して説明します。

環境

  • Vault v0.10.4
  • KV Secrets Engine v2
続きを読む

Consulクラスタをアップグレードした時に起きた問題と対応

概要

先日Consulクラスタのアップグレードをしたところちょこちょこ問題にぶち当たって解決に時間がかかったので、同じ症状に遭ったりした人用にメモ。

環境

  • Consul 1.1.0 -> 1.2.2
  • Ubuntu 16.04

問題背景

Consulはクライアントエージェントが追加されたり死んだりしても自動でjoin・leaveを行ってくれるので、サーバエージェントも同様に1台ずつAMIを更新すれば自動でjoin・leaveしてくれる&Key/Valueデータもレプリケーションを自動でやってくれるから問題ないはずと勝手に期待してやってみたのが問題でした。

続きを読む

VaultのAppRoleを使ってトークン取得

概要

Vaultではトークンを取得するための様々な認証方法がありますが、その中でアプリケーションに向いたAppRoleという認証方法があります。

f:id:quoll00:20180803184031p:plain

ref: AppRole Pull Authentication - Guides - Vault by HashiCorp

この図ではRole IDSecret IDというID & Password的な認証方法ですが、他にも特定のIP Rangeのアクセスの時のみトークンを発行するといった設定もでき、アプリケーションのPrivate IPの範囲を指定すれば外部からはトークンは発行できず、アプリケーションのみ発行できるということが実現できます。

続きを読む

SSHのCA認証で Certificate lacks principal list

背景

christina04.hatenablog.com

を元に本番環境を用意していたところ、ubuntuで作ったインスタンスsshできるもののAmazon Linuxで作られたec2-userインスタンスsshできない現象に遭遇しました。
sshのログを調べるために

# /etc/ssh/sshd_config
# ...
LogLevel VERBOSE

と設定して再起動し、

$ tail -f /var/log/auth.log | grep --line-buffered "sshd"

でtailしながら再度アクセスを試みると

error: key_cert_check_authority: invalid certificate
error: Certificate lacks principal list

というエラーが発生していました。

続きを読む

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

概要

Vaultの売りは

  • Secure secret management
  • Dynamic secrets
  • Encryption as a Service
  • Leasing and Renewal

など多々ありますが、その中でもAudit(監査)ログ(Vaultの操作ログ)の管理はとても重要です。
今回はその設定を紹介します。

Audit Devices

公式では以下の3つの形式をサポートしています。

Audit Devices - Vault by HashiCorp

続きを読む

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

概要

元はunixtimeだったり、単純な数値データなものだったりを以下のようなフォーマットにしたいことは往々にしてあります。

  • 日付
  • 通過
  • パーセント
  • 大文字に統一

AngularではPipesという機能を使うことでテンプレート上で簡単に実現できます。

ビルトインPipe

あらかじめ用意されているPipeを使ってみます。今回はCurrencyPipeを使ってみます。

続きを読む

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

概要

VaultにはPKI(公開鍵基盤)の機能もあります。
これを使って

  • ルートCA
  • 中間CA

を用意し、

を作成します。

環境

  • Vault 0.10.3
続きを読む