Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ansible-vault 2.0以降のアップデート
Search
yunano
June 01, 2016
Technology
1
1.4k
ansible-vault 2.0以降のアップデート
yunano
June 01, 2016
Tweet
Share
More Decks by yunano
See All by yunano
Ansibleのベストプラクティス構成に従ったplaybook開発を一工夫する
yunano
2
2.6k
Other Decks in Technology
See All in Technology
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
110
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
130
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
160
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
120
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
2
160
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
400
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
380
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
130
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
150
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
7k
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
280
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Code Review Best Practice
trishagee
69
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Unsuck your backbone
ammeep
671
58k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Speed Design
sergeychernyshev
32
1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
ansible-vault 2.0以降のアップデート 2016/06/01 yunano 1
自己紹介 • Qiitaでyunanoという名前で書いています 直近では「ansible-consoleを使おう」というネタを 書きました • http://qiita.com/yunano/items/faba4f3330594e41246b 2
ansible-vaultの簡単なおさらい • パスワードなどの機密情報が書かれたファイルを 暗号化するツール • Ansibleの各種コマンドに”--ask-vault-pass”オ プションか”--vault-password-file”オプション で暗号化した際のパスワードを与えると、処理中 使用する暗号化されたファイルが復号される 普通は暗号化されたvars系ファイルを読み込ませる
暗号化されたplaybookも読むことができる 暗号化されたインベントリファイルも2.0から可能 3
ansible-vaultの2.0以降のアップデート • ansible-vault editは使ってはいけない!? • copyモジュールのsrcに指定したファイルを復号 • cryptographyを使用して高速化 4
ansible-vaultの2.0以降のアップデート • ansible-vault editは使ってはいけない!? • copyモジュールのsrcに指定したファイルを復号 • cryptographyを使用して高速化 5
ansible-vault editは使ってはいけない!? • 「Don't use ansible-vault edit at all.」 出展:
https://github.com/ansible/ansible/issues/12182 6
ansible-vault editの動き • ansible-vault editを実行すると/tmp以下に、復 号されて平文になった一時ファイルが作られるた め、ディスクに平文が書かれることになる 対策として2.0.1からedit終了時に一時ファイルがラ ンダムデータで埋められてから削除されるように なった
7
ansible-vault encryptの機能追加 • 2.0からansible-vault encryptに標準入出力との 読み書き機能が追加 「echo “password” | ansible-vault
encrypt > foo.vault」 「ansible-vault encrypt > foo.vault」 標準入力に何か書いて、行頭でCtrl+dで終了 8
ansible-vaultの2.0以降のアップデート • ansible-vault editは使ってはいけない!? • copyモジュールのsrcに指定したファイルを復号 • cryptographyを使用して高速化 9
copyモジュールのsrcに指定したファイルを復号 • 2.1から「copy: src=bar.vault dest=/etc/bar」のように、srcに暗号化された ファイルを指定すると自動的に復号されてコピー されるように仕様変更 copyモジュール以外には適用されない。例えば templateモジュールだとそのままコピーされる 将来lookupプラグインのfileでも復号されるように
なる予定(2.2から?) 10
ansible-vaultの2.0以降のアップデート • ansible-vault editは使ってはいけない!? • copyモジュールのsrcに指定したファイルを復号 • cryptographyを使用して高速化 11
ansible-vaultの復号は*遅い* • 特に1.7から、例えばhost_vars以下に100個暗 号化されたファイルを置いたとして、インベント リファイルにその100ホスト書かれていれば、処 理対象が実際には1ホストしかない場合でもすべ ての暗号化ファイルが復号されるようになった 12
ansible-vaultの復号は*遅い* • playbook 13 - hosts: host00 connection: local gather_facts:
no tasks: - debug: var=key1
ansible-vaultの復号は*遅い* • インベントリファイル • host_vars/host[00:99].yml(暗号化する) • 「time ansible-playbook -i hosts
site.yml -- vault-password-file password.vault」 27.595秒 14 [test] host[00:99] key1: val1
cryptographyをインストールする • 2.0からcryptographyをインストールすると、そ れだけで復号が高速化する • 「time ansible-playbook -i hosts site.yml
-- vault-password-file password.vault」 2.918秒 15 $ sudo yum install libffi-devel openssl-devel $ sudo pip install cryptography