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
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
iwamot
PRO
September 05, 2025
Technology
180
1
Share
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版
2025-09-05
Cloud Operator Days Tokyo 2025
https://cloudopsdays.com/
iwamot
PRO
September 05, 2025
More Decks by iwamot
See All by iwamot
自己紹介
iwamot
PRO
1
50
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
460
8万デプロイ
iwamot
PRO
2
360
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
95
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
10
2.6k
Developer Certificate of Origin、よさそう
iwamot
PRO
0
89
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた
iwamot
PRO
3
160
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
14
12k
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
4
1.3k
Other Decks in Technology
See All in Technology
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
740
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
380
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
300
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
270
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
140
先取りMaven4 ~16年ぶりのメジャーアップデート、その進化とは?~
ogiwarat
0
110
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
170
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
200
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
160
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
17
17k
組織の中で自分を経営する技術
shoota
0
230
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
Chasing Engaging Ingredients in Design
codingconduct
0
200
The SEO Collaboration Effect
kristinabergwall1
1
470
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Facilitating Awesome Meetings
lara
57
6.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Transcript
復号できなくなると怖いので、 AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版 2025-09-05 Cloud Operator Days
Tokyo 2025 https://cloudopsdays.com/ ENECHANGE株式会社 岩本隆史
どんな話? 暗号化データの復号に必要なキーを、うっかり削除できないようにした話 得られるもの:クラウド運用における、うっかりミスを防ぐ視点 ポイント: 「簡単」ではなく、あえて「面倒」にするという発想
自己紹介 岩本 隆史 @iwamot ENECHANGE株式会社 VPoT 前職:AWS 技術サポート AWS Community
Builder (Cloud Operations)
「面倒」にした経緯
サービス終了に伴い、AWS環境を削除 事業部からの削除リクエストを受諾 DBの最終スナップショットを作成 各種リソースを削除
11日後:復号できなくなることに気づく DBの暗号化キーまで削除しようとしていた(ぼくのうっかりミス) ありがたいことに、削除は保留されていた(デフォルト30日待機) このまま待機期間が過ぎると、スナップショットが復号できなくなる 虫の知らせで、たまたま気づけた
気づいて助かったが、 「うっかり削除」は怖い キーの削除をキャンセルし、事なきを得た とはいえ、今後も「うっかり削除」のリスクが残る
そこで、キーの削除を「面倒」にしてみた deletable = true タグが付いたキーのみ削除を許可するルール AWS Organizationsというサービスのポリシーで実装
リソースコントロールポリシーの実例 { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal":
"*", "Action": "kms:ScheduleKeyDeletion", "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/deletable": "true" } } } ] }
Slack通知も実装し、本格導入
タグがないキーは削除が拒否される
タグの付いたキーは削除が待機される
うっかりミスを防ぐ視点
不可逆で、とくに危険な操作はないか 例:クラウド側で、待機期間や復旧可能期間が用意されている操作 AWS Secrets Managerシークレットの削除(デフォルトで7日は待機) Azure Key Vaultの論理的な削除(デフォルトで90日は復旧可能) Google Cloudプロジェクトの削除(デフォルトで30日は待機)
「リーエン」という仕組みで削除を拒否することも可能
ルールによる拒否や、イベントの検知は不要か うっかりミスは原理的に防ぎたい 危険な操作が行われたら、念のためアラートしたい これらのニーズは十分に満たせているか
対応のポイント
あえて「面倒」にするという発想 危険な操作が本当に必要な場合もある → 無条件に拒否はできない 手間をかければ操作できる状態を目指す タグでなくても「面倒」ならよい 承認フェーズを設ける リソースロックをかける(Azureなど)
まとめ
こんな話でした 暗号化データの復号に必要なキーを、うっかり削除できないようにした クラウド運用における、うっかりミスを防ぐ視点 不可逆で、とくに危険な操作はないか ルールによる拒否や、イベントの検知は不要か あえて「面倒」にすべき操作はないか、考えてみませんか?