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
これから始める秘匿情報との使い方
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomoki Yamashita
February 17, 2023
Programming
780
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
これから始める秘匿情報との使い方
Tomoki Yamashita
February 17, 2023
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
ハードウェア連携が必要なプロダクトにおける自動テストの書き方
tomorrowkey
0
140
STORES_決済端末2ってAndroidなんでしょ__ほんとうかな__.pdf
tomorrowkey
0
75
モバイルとRubyとわたし
tomorrowkey
0
76
BiDiってなんだ?
tomorrowkey
2
780
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
1.9k
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
1
170
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
2
460
5分で完全理解するNav3との向き合い方
tomorrowkey
0
300
テストを楽に書きたい
tomorrowkey
2
450
Other Decks in Programming
See All in Programming
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
130
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
220
Webの地図
yosuke_furukawa
PRO
6
4.6k
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
490
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.8k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
320
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
590
スマート反転とウェブアクセシビリティ
camiha
0
210
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
340
What We Talk About When We Talk About XP
m_seki
2
630
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
The SEO identity crisis: Don't let AI make you average
varn
0
560
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Mind Mapping
helmedeiros
1
360
Six Lessons from altMBA
skipperchong
29
4.5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
GraphQLとの向き合い方2022年版
quramy
50
15k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Rails Girls Zürich Keynote
gr2m
96
14k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
これから始める 秘匿情報との付き合い方 - 2023.02.17 shibuya.apk #40 @tomorrowkey
山下智樹 / STORES 株式会社 ex- おいしい健康 ex- クックパッド Android 13
年生 @tomorrowkey
なんでいま秘匿情報? Circle CI の インシデント対応 おつかれさまでした
STORES でなにやってるの? お商売をしているオーナーさんごとにオリジナルアプリを 作り、お客様へのクーポンの配布やお店からのご案内をと おして、双方にとってよい関係性を築いていくためのサー ビスです。
プロダクトの性質 ビジネスロジックとして サービスの成長 に伴い アプリ数が増える ということ
モバイルの秘匿情報って そこそこあるよね Firebase 認証情報 API サーバへOAuth クレデンシャル id, secret Google
Play Publisher の認証情報 Android アプリアップロード鍵の情報 password, alias, key password その他プロダクト固有の秘匿情報
例えば、 1 アプリに対して秘匿情報が 8 個 8 オーナー に対してアプリを提供 64 個の秘匿情報
None
🤮
自分たちで秘匿情報を 管理しましょう joker1007/yaml_vault
yaml_vault ってなに? YAML を暗号化して秘匿情報のストレージとして 使うことができるライブラリ(Ruby gem) 暗号化のキーはパスフレーズの他にGCM/AWS KMS も使うことができる
アプリ開発への組み込み
秘匿情報の編集 lane :"edit-secrets" do editor = ENV["EDITOR"] || "vi" Tempfile.create(["",
".yml"]) do |file| # 複合して一時ファイルに書き出し sh( "yaml_vault decrypt #{project_root_path}/secrets.yml -o #{file.path}", log: false ) # エディタで開く system("#{editor} \"#{file.path}\"") # 編集した秘匿情報を暗号化 sh( "yaml_vault encrypt #{file.path} -o #{project_root_path}/secrets.yml", log: false ) end end
編集している様子
0:00 / 0:19 秘匿情報の使用 def yaml_vault @yaml_vault ||= YamlVault::Main.from_file( "#{project_root_path}/secrets.yml",
[['$']], passphrase: ENV['YAML_VAULT_PASSPHRASE'], ).decrypt_hash end irb(#<Fastlane::FastFile:0x000000011469dcb8>):001:0> yaml_vault => {"keystore"=> {"file"=> "MIIKzwIBAzCCCogGCSqGSIb3DQEHAaCCCnkEggp1MIIKcTCCBbgGCSqGSIb3DQEHAaCCBakEggWlMIIFo "store_password"=>"M1zEE541QpOBvIVZkM", "key_alias"=>"tomorrowkey", "key_password"=>"M1zEE541QpOBvIVZkM"}}
それから CI はどうなった
さいごに 秘匿情報はとても大切なので、大切に使おう ちょっとした工夫で、より安全に扱うことがで きる みなさんのプロダクトでどのように秘匿情報を 扱っているか、このあとの時間に教えてくださ い〜〜〜〜 Sample code: tomorrowkey/AppWithYamlVault
None