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
S3からオブジェクトをCMKで暗号化して沼にハマった話
Search
Kento Suzuki
August 24, 2022
Technology
0
34
S3からオブジェクトをCMKで暗号化して沼にハマった話
JAWS-UG 名古屋 LT未経験者にも登壇して貰いたいLT会の資料
Kento Suzuki
August 24, 2022
Tweet
Share
More Decks by Kento Suzuki
See All by Kento Suzuki
上流工程に挑戦!「俺の考えた最強サーバレス構成」が一瞬で敗北した件
kentosuzuki
2
220
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
260
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
110
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
490
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
450
Verified Accessから始めるゼロトラストセキュリティ
kentosuzuki
1
500
復活のAWS DeepComposer 〜 古代兵器から始める生成系AI 〜
kentosuzuki
0
220
新卒入社が考える『AWSではじめるクラウドセキュリティ』を読むタイミング
kentosuzuki
0
510
Cloudflare Pages使ってみた- ついでにAWS Amplifyもワカル -
kentosuzuki
3
730
Other Decks in Technology
See All in Technology
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
260
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
620
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
100
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.3k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
0
120
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
550
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
770
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
220
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
Featured
See All Featured
Code Review Best Practice
trishagee
55
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Unsuck your backbone
ammeep
663
57k
A better future with KSS
kneath
231
16k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Transcript
S3からオブジェクトをCMKで暗号化して沼に ハマった話 Kento Suzuki 2022/08/24 (水) JAWS-UG 名古屋 LT未経験者にも登壇して貰いたいLT会
自己紹介 名前:鈴木健斗 (@k_suzuki_pnx) 所属:アイレット株式会社 経歴: ・東京都在住 ・新卒3年目(エンジニア歴 = 社会人歴) ・2022
APN ALL AWS Certifications Engineer ・2022 APN AWS Top Engineer
本題 ある日のこと、 特定のIAMでS3のオブジェクトをダウンロードしようとすると The ciphertext refers to a customer master
key that does not exist, does not exist in this region, or you are not allowed to access. 訳)このリージョンに存在していない、 もしくはアクセス許可のないカスタマーマスターキー(CMK)で暗号化されています というエラーが発生
実際の構成 アクセス制限をしている箇所 ・IAMユーザ ・KMS ・S3
どこが原因か分からねぇーよ!!
1つずつポリシードキュメントを紐解く その後
犯人を特定
解説 IAMへの接続元IPを制限したい場合、 IAMポリシーへ「aws:SourceIp」を用いたCondition句を設定
ドキュメントにはこのような記載がある https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip
解決策 Condition句に "Null": {"kms:ViaService": "true"} を追加
図示するとこうなる
まとめ AWSの権限まわりは本当に沼 「aws:SourceIp」を用いたCondition句を使うときは要注意!