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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
zaru
July 21, 2018
Technology
1.7k
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.7k
Hotwire を 本番環境で使ってみた感想
zaru_sakuraba
7
6.8k
失敗から学ぶ個人開発
zaru_sakuraba
18
5.6k
伝わらない Issue の書き方
zaru_sakuraba
1
1k
とあるプロジェクトでコードを書き始めた僕がつまづいた石たち
zaru_sakuraba
0
210
Ruby との対話 : pry を使い pry をデバッグし pry のバグを直す話
zaru_sakuraba
4
630
個人プロジェクト現状報告会
zaru_sakuraba
0
160
僕と契約して、メソッドになってよ!
zaru_sakuraba
0
210
Other Decks in Technology
See All in Technology
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
180
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
140
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
360
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
570
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
220
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
890
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
170
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
180
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
200
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
1
660
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
240
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
240
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
For a Future-Friendly Web
brad_frost
183
10k
The Curious Case for Waylosing
cassininazir
1
420
Ethics towards AI in product and experience design
skipperchong
2
320
Code Review Best Practice
trishagee
74
20k
Building Applications with DynamoDB
mza
96
7.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Mind Mapping
helmedeiros
PRO
1
270
How to build a perfect <img>
jonoalderson
1
5.8k
So, you think you're a good person
axbom
PRO
2
2.1k
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!