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
もう「クレデンシャルください」なんて言わせない
Search
zaru
July 21, 2018
Technology
1.6k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
もう「クレデンシャルください」なんて言わせない
Rails で秘匿情報や環境変数を管理するベストな方法
2018.07.21 Osaka RubyKaigi 01 LT
@zaru
zaru
July 21, 2018
More Decks by zaru
See All by zaru
Next.js App Router セキュリティ
zaru_sakuraba
21
8.6k
Hotwire を 本番環境で使ってみた感想
zaru_sakuraba
7
6.8k
失敗から学ぶ個人開発
zaru_sakuraba
18
5.6k
伝わらない Issue の書き方
zaru_sakuraba
1
960
とあるプロジェクトでコードを書き始めた僕がつまづいた石たち
zaru_sakuraba
0
210
Ruby との対話 : pry を使い pry をデバッグし pry のバグを直す話
zaru_sakuraba
4
620
個人プロジェクト現状報告会
zaru_sakuraba
0
150
僕と契約して、メソッドになってよ!
zaru_sakuraba
0
210
Other Decks in Technology
See All in Technology
新しいVibe Codingと”自走”について
watany
6
310
AIはどのように 組織のアジリティを変えるのか?
junki
1
610
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
400
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
910
手塩にかけりゃいいってもんじゃない
ming_ayami
0
550
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
180
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.3k
MCP Appsを作ってみよう
iwamot
PRO
4
580
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
180
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
920
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
120
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
350
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Docker and Python
trallard
47
3.9k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
My Coaching Mixtape
mlcsv
0
140
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
Done Done
chrislema
186
16k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing Experiences People Love
moore
143
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Transcript
もう「 クレデンシャルください」 なんて 言わせない 2018.07.21 Osaka RubyKaigi 01 LT @zaru
@zaru 株式会社ベー シック CTO
http://zaru.theshop.jp/
None
リモー ト OK https://basicinc.jp/enjoy-hacking
好きな Ruby メソッド Enumerable#cycle switch = %w(on off).cycle switch.next #=>
on switch.next #=> off switch.next #=> on
フォー ムオブジェクトと ActiveModel
フォー ムオブジェクトと ActiveModel
もう「 クレデンシャルください」 なんて 言わせない
みなさん、Rails で秘匿情報の管理どう してますか?
こんなことありませんか?
プロジェクトに新しく プログラマがジョインした
「.env ください」 「 アクセスキー ください」
None
つらみ その都度、 手で渡すのが面倒 もらう方も面倒くさい 秘匿情報の渡し方に神経を使う
こんなことありませんか?
開発をしていて 環境変数を追加した
「 デプロイ前に環境変数をサー バへ追加します」 「 デプロイ前に .env.production 修正します」 「Ansible でサー バへ環境変数を追加します」
None
つらみ デプロイフロー が煩雑 マー ジ以外に気を遣う部分がある デプロイ失敗チャレンジ感 手順をミスるとデプロイ失敗する
僕たちは秘匿情報や環境変数を どのように管理すれば良いのか
救世主?! Rails5.2 から Credentials 導入
Credentials とは 秘匿情報を1 つのファイルで管理するよ マスター キー で秘匿情報を暗号化・ 復号 config/master.key or
RAILS_MASTER_KEY Git で管理できるのでチー ムで共有しやすい
最高か?!
None
つらみ 暗号化すると構造を維持してないので中身がわからない コー ドレビュー がやりにくい マスター キー が必要 結局マスター キー
の管理をどうしようという悩みがある
解決
(AWS | GCP) KMS + yaml_vault
thanks @joker1007
何が嬉しいのか YAML の構造を保ったまま value だけ暗号化する コー ドレビュー がやりやすい デプロイ時にファイル展開ではなくメモリ展開できる サー
バに物理ファイルで秘匿情報を展開しなくて済む
マスター キー ではなく IAM で開発者毎のクレデンシャルを渡せば OK 開発者自身に管理してもらえる AWS EC2 にロー
ルを付与すればマスター キー なしに復号できる 煩わしいマスター キー を管理せずに済む
最高か?!
None
Heroku は? AWS API Key があればどこでも使えるので問題はない 問題はないが、Heroku アサインユー ザであれば Con
g vars 見れる のでキー が見えちゃう Enterprise なら細かいアクセス制限できる…? いい方法があれば教えてください
exit!