Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ansible Vault for CIOps
Search
Keke
July 30, 2019
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ansible Vault for CIOps
Keke
July 30, 2019
More Decks by Keke
See All by Keke
リモートワークを支える勤怠管理 ~プラットフォームとしてのSlackの活用 ~
keisukeyamashita
0
780
Serving GitHub Actions Self-Hosted Runner as a Platform (Part 1: Introduction)
keisukeyamashita
0
550
Serverlessを取り巻く現状とAll Serverlessでプロダクトを構築する苦労
keisukeyamashita
10
3.3k
Spinnakerで実践するマイクロサービスの 安全なリリースフローとベストプラクティス
keisukeyamashita
3
1.2k
Spinnaker Application management by Terraform Plugins
keisukeyamashita
2
1k
Open Policy AgentとSpinnakerで実現するマイクロサービスの安全な継続的デリバリー
keisukeyamashita
8
6.6k
How to develop a custom Terraform provider@Merpay SRE Tech Talk
keisukeyamashita
0
500
Introduction to Spinnaker Managed Pipeline Templates
keisukeyamashita
3
7.1k
Cloud Runでシステムを作るためのアーキテクチャのTipsとコストの話
keisukeyamashita
3
1.6k
Other Decks in Technology
See All in Technology
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
340
Adversary Infrastructure Hunting101
disconinja
0
160
ビジネス部門からPOを迎えての半年間の進歩と課題
zozotech
PRO
0
160
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
500
1週間、Opus封印でお願いします
kintotechdev
0
350
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
280
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
140
Patterns in AI Driven Software Development
akosma
PRO
0
310
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
13k
AIエージェントに 権限と鍵をどこまで渡すか
nrinetcom
PRO
2
130
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
430
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
420
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
New Earth Scene 8
popppiees
4
2.7k
Transcript
2019/07/30 ANSIBLE NIGHT LT ANSIBLE VAULT FOR CIOPS Keke Twitter:
@_k_e_k_e
$ WHOIAM KEISUKE YAMASHITA TWITTER: @_k_e_k_e 新卒で Merpay.inc SRE Team
Chaos Engineering, Cashless are my main interest
ANSIBLE VAULT シークレットを Encrypt ・Decrypt できるCLI ツール
PRESENTATION AGENDA 皆さんに伝えたいこと CIOps というContinuous Delivery のパターン Ansible Vault を使ったCIOps
運⽤のTips
場所に応じた最⼩限の権限をつけよう どこになんの権限が必要であるかを考えて権限付与 万が⼀のケースを考えよう 例: VM に⼊られるとprintenv などを使って簡単にパスワー ドを取れる CLI ツールとしてAnsible
Vault は便利 CI とローカルでEncrypt ・Decrypt するには使い勝⼿がいい TAKEAWAY FOR CIOPS
None
None
CIOPS って?
継続的デリバリーの主なPOINT AUTOMATION リリース作業をなくす。 ヒューマンエラーを防ぐ。 GET FEEDBACK すぐデプロイをして、ユーザーに価値を届ける。 バグを⾒つけるまでの時間を短縮。 ACCERATE WITH
MICROSERVICE マイクロサービス アーキテクチャに伴い、デプロイ数の急増するので スケールさせるには継続的デリバリーが必要。
WHATS CIOPS?
WHATS CIOPS? CD の⼀つのパターン deploy trigger push
WHATS CIOPS? CD の⼀つのパターン deploy trigger push Deploy by CI
WHATS CIOPS? CD の⼀つのパターン deploy trigger push Some secrets Deploy
by CI
どうやってCIOPS のために SECRET 管理するの?
$ cat .env DB_USER: root DB_PASS: tsuyoi_password_ni_sitene DB_NAME: master EXTERNAL_ACCESS_TOKEN:
gaibu_ni_access_suru_token
1. RAW SECRETS 管理
RAW SECRETS 管理 1. $ git push deploy trigger push
RAW SECRETS 管理 1. $ git push deploy trigger push
RAW SECRETS ON GITHUB PROS & CONS SECRET へ 誰でもアクセスできる
Github が漏出したら 終わり コミットに永遠に残り Revoke するのが難しい
2. CI でSERECT 管理
2. CI でSERECT 管理
2. CI 上でSERECT 管理 Git にはSerect は載せない $ echo ".env"
>> .gitignore
2. CI 上でSERECT 管理 config deploy trigger push
2. CI 上でSERECT 管理 CI に設定 ( この例ではCircleCI)
SEALED SECRETS ON CI PROS & CONS 何かしらの⽅法で Dev にPassword
を 渡さないといけない CI にPassword の 漏洩リスクあり Git には Secret はない Password 変更があると CI も変更しないといけない
3. SEALED SECRECT によるCIOPS secrets write Admin Dev Dev Dev
Dev Dev Read
3. SEALED SECRECT によるCIOPS
3. SEALED SECRECT によるCIOPS
3. SEALED SECRECT によるCIOPS deploy trigger push deploy trigger Encrypt
Decrypt config password password password
SECRETS ON CI PROS & CONS 何かしらの⽅法で Sercet を共有しないといけない CI
に漏洩リスクあり Git に漏洩リスクはなく デプロイできる
3. SEALED SECRECT によるCIOPS password write Admin Dev Dev Dev
Dev Dev Read
ANSIBLE VAULT
ANSIBLE VAULT シークレットを Encrypt ・Decrypt できるCLI ツール
$ cat .env DB_USER: root DB_PASS: tsuyoi_password_ni_sitene DB_NAME: master EXTERNAL_ACCESS_TOKEN:
gaibu_ni_access_suru_token
Encrypt 1. $ ansible-vault encrypt .env.yml => New Vault password:
[ パスワード⼊れる] => Confirm Vault password: [ 再度パスワード⼊れる] $ANSIBLE_VAULT;1.1;AES256 62663931376163656235343237376235636664303733643139346565326633336664643938333164 6635393466386336383133316262343033363838373939380a343339346136353935303938373937 38386664323865633431313430666532303731346361346331656565643236386435366535346239 ....
2. Decrypt $ ansible-vault decrypt .env.yml => New Vault password:
[ パスワード⼊れる] => Confirm Vault password: [ 再度パスワード⼊れる] DB_USER: root DB_PASS: tsuyoi_password_ni_sitene DB_NAME: master EXTERNAL_ACCESS_TOKEN: gaibu_ni_access_suru_token
3. SEALED SECRECT によるCIOPS Encrypt password $ ansible-vault encrypt .env.yml
3. SEALED SECRECT によるCIOPS push Encrypt password
3. SEALED SECRECT によるCIOPS trigger push trigger Encrypt Decrypt config
password password password $ ansible-vault decrypt .env.yml
3. SEALED SECRECT によるCIOPS deploy trigger push deploy trigger Encrypt
Decrypt config password password password
$ ssh -p 64535 100.xxx.yyy.zzz <= ノードに⼊る $ printenv DB_NAME=master
DB_PASSWORD=tsuyoi_password_ni_sitene DB_USER=root EXTERNAL_ACCESS_TOKEN=gaibu_ni_access_suru_token
4. DECRYPT IN APPLICATION
4. DECRYPT IN APPLICATION deploy trigger push deploy trigger IAM
secrets IAM secrets secrets IAM secrets Authn/z keys
3. SEALED SECRECT によるCIOPS deploy trigger push deploy trigger IAM
secrets IAM secrets secrets IAM secrets Authn/z keys Deploy KMS
$ cat .env.dev.yml $ ansible-vault encrypt .env.dev.yml --out .env.dev.yml.enc .
--vault-password-file=<(echo "password")
$ STAGE="prod" $ ansible-vault encrypt .env.$STAGE.yml --out .env.$STAGE.yml.enc - -vault-password-file=<(echo
$PASSWORD)
HASHICORP VAULT Secret を管理するためのソフ トウェア。最近、 Kubernetes と合わせて使わ れるケースが多い。 GOOGLE BERGLAS
Google Cloud Storage と Cloud KMS での SealedSecret BITNAME SEALED SECRETS Kubernetes 上でDecrypt で きるSealedSecret を実現する コントローラー Compare
場所に応じた最⼩限の権限をつけよう どこになんの権限が必要であるかを考えて権限付与 万が⼀のケースを考えよう 例: VM に⼊られるとprintenv などを使って簡単にパスワー ドを取れる CLI ツールとしてAnsible
Vault は便利 CI とローカルでEncrypt ・Decrypt するには使い勝⼿がいい TAKEAWAY FOR CIOPS
THANK YOU