$30 off During Our Annual Pro Sale. View Details »
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.7k
Other Decks in Technology
See All in Technology
プロダクトマネージャーが押さえておくべき、ソフトウェア資産とAIエージェント投資効果 / pmconf2025
i35_267
2
590
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
590
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
580
因果AIへの招待
sshimizu2006
0
930
【pmconf2025】PdMの「責任感」がチームを弱くする?「分業型」から全員がユーザー価値に本気で向き合う「共創型開発チーム」への変遷
toshimasa012345
0
280
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
210
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
270
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
400
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.1k
Noを伝える技術2025: 爆速合意形成のためのNICOフレームワーク速習 #pmconf2025
aki_iinuma
2
2.1k
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
210
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
100
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
93
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Agile that works and the tools we love
rasmusluckow
331
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
A Tale of Four Properties
chriscoyier
162
23k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
RailsConf 2023
tenderlove
30
1.3k
Bash Introduction
62gerente
615
210k
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