Help us understand the problem. What is going on with this article?

chef vault : how it works

1) chef vaultとは

  • chefが提供しているデータの暗号化の仕組み
  • なんのデータ?chefが管理するサーバ毎のデータ。
  • どんなユースケース?もっともあり得るのはroot passwordの管理をchefサーバでやる時
  • chef vaultとは、という内容はchefのdocを読めばわかるけど、普段そんなに使わないので、どう使うのか、はすぐ忘れるのでまとめる

2) 準備

  • chefサーバと通信できるknifeコンフィグ(ユーザのpemファイルなどの設定を書いたもの)が必要。
  • knifeコマンドでvaultを設定する

3) vaultの作成

knife vault create rp exp1
#  rpというvault(data bag)を作成、その中に、exp1というvault itemを作成

knife vault update rp exp1 -A "gggg"
# ggggという名前のadminユーザを追加(chef serverのユーザ名)。あとでvaultアイテムを編集する権限を特定のユーザに付与

export EDITOR=vim
knife vault edit rp exp1
{
  "password": "xxx",
  "timestamp": "xxxx"
}
# 適当なjson形式のデータを入れる。この場合は、パスワードと日付を入れる。このデータが暗号化される

knife vault create rp exp1 '{"password": "xxxxxx", "timestamp": "xxxxx"}' -S mynodes_password:exp1 -A admin-a, admin-b
# ワンライナーでもできる
# このときSオプションでサーチクエリをセットしておくと便利

knife vault show rp exp1 -Fjson -p all
# 暗号化された情報はadmin権限がある人とrp:exp1が適用されたサーバだけが復号できる


4) サーチクエリ

1.サーバ構築
2.chefで構成管理スタート(このときに、chefのrecipeか何か(roleでもnodeでもなんでもOK)で、例えばattribute{"mynodes_password" : "exp1"}をサーバに適用する。)
-> すると、さっきvaultに設定したサーチクエリにこのattributeが一致して、vaultがこのサーチクエリでヒットしたサーバに適用できるようになる

5)その他

knife vault refresh/update
# 仮にデータ(この場合はパスワード)が変更になったらvaultをrefresh

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away