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 for CIOps
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
760
Serving GitHub Actions Self-Hosted Runner as a Platform (Part 1: Introduction)
keisukeyamashita
0
520
Serverlessを取り巻く現状とAll Serverlessでプロダクトを構築する苦労
keisukeyamashita
10
3.2k
Spinnakerで実践するマイクロサービスの 安全なリリースフローとベストプラクティス
keisukeyamashita
3
1.2k
Spinnaker Application management by Terraform Plugins
keisukeyamashita
2
1k
Open Policy AgentとSpinnakerで実現するマイクロサービスの安全な継続的デリバリー
keisukeyamashita
8
6.5k
How to develop a custom Terraform provider@Merpay SRE Tech Talk
keisukeyamashita
0
480
Introduction to Spinnaker Managed Pipeline Templates
keisukeyamashita
3
7k
Cloud Runでシステムを作るためのアーキテクチャのTipsとコストの話
keisukeyamashita
3
1.6k
Other Decks in Technology
See All in Technology
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
16
4.5k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
410
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
130
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
170
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
330
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
100
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
140
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.3k
手塩にかけりゃいいってもんじゃない
ming_ayami
0
610
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
260
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Design in an AI World
tapps
1
250
Building an army of robots
kneath
306
46k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
For a Future-Friendly Web
brad_frost
183
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Leo the Paperboy
mayatellez
7
1.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
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