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
機密情報をKMS+RDS,S3とParameter Storeを使って保存した話
Search
MATSUURA, yosuke
February 02, 2020
Technology
0
3.3k
機密情報をKMS+RDS,S3とParameter Storeを使って保存した話
機密性が高い情報をAWSに保存するために、KMSを活用してRDS, S3, Parameter Storeに保存したという話
MATSUURA, yosuke
February 02, 2020
Tweet
Share
More Decks by MATSUURA, yosuke
See All by MATSUURA, yosuke
CircleCIとSchemaSpyを使ったMySQLドキュメントの自動生成
bateleurx
1
930
WebRTC配信システムをAWSからオンプレミスに切り替えている話
bateleurx
14
13k
AWS Keymanagement Serviceを知ろう
bateleurx
0
670
VAddy導入案内
bateleurx
0
280
0から始まるかもしれない固定長整数をINT型に入れたい
bateleurx
0
1.9k
Other Decks in Technology
See All in Technology
Modern Linux
oracle4engineer
PRO
0
160
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
20250913_JAWS_sysad_kobe
takuyay0ne
2
250
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
130
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
490
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
560
テストを軸にした生き残り術
kworkdev
PRO
0
220
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
AWSで始める実践Dagster入門
kitagawaz
1
740
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
980
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Optimizing for Happiness
mojombo
379
70k
How to Ace a Technical Interview
jacobian
279
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Documentation Writing (for coders)
carmenintech
74
5k
Docker and Python
trallard
46
3.6k
Navigating Team Friction
lara
189
15k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Transcript
機密情報を と を 使って保存した話 京王線 勉強会
自己紹介 • 蟒蛇 • 名前 松浦 庸介 • • 所属
株式会社 • 表紙のキャラクターは弊社サービス のマスコット「てんちょ」で す •
なのでいきなりオチから • は 内で暗号鍵を統一的に取り扱うための機能 • 機密情報を種類別にそれぞれ以下の方法で保存している • クレデンシャル ( の透過的暗
号化) • 個人情報(テキスト) (自前で暗号化) • 個人情報( ) (自前で暗号化) アンチパターンによれば、 型で に入れた方がよかったらし い・・・ • を呼び出すときの キーは、 でもよいが が便利
と の関係 • はその名の通りパラメーターを保 存する の は で透過的に暗号化される
は とほぼ同じサービス • は暗号鍵を管理するサービス 暗号化は自分でやるか などマネージドサービスで行う 経由で鍵を生成、取得できる この表現は厳密ではないので、参考資料を読んでください
機密性が高い情報を格納したい • 「機密性が高い情報」といっても タイプある 設定情報 たとえば、各種 のクレデンシャルや のパスワード
ユーザー入力情報 たとえば、クレジットカード番号などテキスト 免許証の画像など • 設定情報は • ユーザー入力情報のうち、テキストは も使えるが、 バックアップを考えると のほうがよかった • は暗号化して か
鍵を取得するための キーは • の鍵は で生成・取得する • を利用するための キーの管理はどうすれば • に入れてもよいが、
のほうがお すすめ キーで認証するのではなく、インスタンスメタデータから一時的な認証情 報を生成する • に限らず、 などでも キーより が おすすめ キーの管理は辛いですよね
参考資料 • はだいたいこのあたりを見ればわかります • 開発者ガイド • シリーズ •
再入門 編
発表後に聞かれた質問について
を に保存するのが推奨され ない理由は • 操作の原子性を保証するため • 確かに は に保存した方がストレージコストが安く、削除した容 量が課金されないためコストメリットがあります。
• 一方で と違って の書き込みと の書き込みのどちらかが失敗 したときのエラー処理が必要になります。 で トランザクションで 処理した場合はこの心配がいりません。 • コストと開発効率を天秤にかけてどちらかを選べばよいかと思います。
のデータはすべて暗号化して いる • カラムを暗号化しているのは一部のデータだけですが、 クラス ター全体に透過的暗号化を行っています • 暗号化したカラムは検索などもできないので、重要なデータが入ってい るカラムだけ暗号化して、他は検索できるように平文カラムになってい ます。
• クラスターや ボリュームの透過的暗号化はあまり意味がない気 もしているのですが、運用コストはほとんど変わらないので有効化して います。もしかしたら、対外的にアピールできる日が来るのかもしれま せん・・・