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
Amazon SNSサブスクリプションの誤解除を防ぐ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
y_sakata
July 16, 2025
Technology
470
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon SNSサブスクリプションの誤解除を防ぐ
y_sakata
July 16, 2025
Transcript
33 slides
Amazon SNSサブスクリプションの誤解除を防ぐ 2025.07.16 クラウド⾷堂#3
P2 ⾃⼰紹介 坂⽥ 裕⼆ AWS Community Builder 2025 Japan AWS
Top Engineer 2025 Japan AWS All Certifications Engineer ▪経歴 2021年7⽉- 2023年8⽉ 某CIer MSPセクション(監視‧運⽤) 2023年9⽉- 現在 NHN テコラス株式会社(構築‧運⽤‧プリセールス‧コンサル)
P3 所属会社の紹介 会社名 NHN テコラス株式会社 (英:NHN Techorus Corp.) 代表者 代表取締役社⻑
⽩倉 章照 設⽴ 2007年4⽉ 所在地 本社 〒105-0003 東京都港区⻄新橋三丁⽬1番8号 NHNアトリエ ⼤阪 〒530-0002 ⼤阪府⼤阪市北区曽根崎新地1-13-22 御堂筋フロンティア1F 社員数 157名 ※直接雇⽤社員(2024年10⽉時点) 資本⾦ 21億円 事業内容 ‧データセンター、クラウドの販売 ‧ITインフラのインテグレーション、コンサルティング、運⽤管理 グローバル展開のNHNグループの クラウドMSPリードカンパニー 全世界100か所、従業員5,000名以上 クラウドのトップシェアであるAWSの 最上位 「プレミアティアサービスパートナー」 認定保有 世界中で数万社のパートナーの上位1%未満の 最上位認定企業の1社です。
P4 アジェンダ • Amazon SNS で発⽣しやすいトラブル • 予防策 • 解説/注意点
P5 Amazon SNS で発⽣しやすいトラブル
P6 Amazon SNS で発⽣しやすいトラブル Amazon SNS の使⽤例) • CWの監視 •
AWS Backupの成否確認 SNSトピックに、送付先のメールアドレスを サブスクリプションとして紐づけておく。
P7 Amazon SNS で発⽣しやすいトラブル Amazon SNSから⾶ばされるメールには こんな感じの「購読解除するならここをクリックしてくれ」ってリンクが付いてくる。
P8 Amazon SNS で発⽣しやすいトラブル 例えば... アラートメールの宛先として メーリングリスト(
[email protected]
)をエンドポイントとした サブスクリプションを設定している場合 何このURL? クリックしてみよ!
↑メーリス内の⼈
P9 Amazon SNS で発⽣しやすいトラブル
P10 Amazon SNS で発⽣しやすいトラブル 購読解除 = SNSサブスクリプションが削除されるため 以後そのメールアドレス宛にメールが配信されなくなる。 なんか最近 アラート届かないね
不思議だね?
P11 Amazon SNS で発⽣しやすいトラブル • 法令遵守(特定電⼦メール法 etc…) • スパムメール扱いを防ぐ •
迷惑フォルダ⾏きを防ぐ という意味で⼤変ありがたみのあるリンクですが、本LTでは⾃爆スイッチと同等に扱います。 =
P12 予防策
P13 予防策 まずは普通に、 既存のトピックに紐づける形で サブスクリプションを作成。
P14 予防策 宛先にこのような確認メールが届くので ここのリンクをクリックせずに、右クリ → URLをコピー して渡してもらう。
P15 予防策 もらったリンクを使って マネジメントコンソールから 確認を押すと…
P16 予防策 サブスクリプションが[確認済み]のステータスに! (通常のリンククリック確認でも同じですが、違うのはここから先)
P17 予防策 この⼿順ならば、例えこのリンク(⾃爆スイッチ)を誤ってクリックしても
P18 予防策 このように「AWSの認証情報を使え」と⾔われ、リクエストがブロックされる = サブスクリプションが爆発しない!
P19 予防策 ‒ 受け⼿側が承認リンクを踏んだ場合 先程までの⼿順中で、受け⼿側がここの承認リンクを踏んでしまった場合 その時点でステータスは確認済みとなり、⾃爆スイッチが有効になってしまう。
P20 予防策 ‒ 受け⼿側が承認リンクを踏んだ場合 →その場合でも、AWS CLIによる操作で⾃爆スイッチが無効化されるよう上書き可能。 ▪承認リンクの中⾝ https://sns.ap-northeast-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:ap-northeast-1: xxxxxxxxxxxxx:xxxx-xxxxt&Token={ここのトークンをコピーする}&
[email protected]
▪CLIで打つコマンド
aws sns confirm-subscription --token {上でコピーしたトークン} --topic-arn {トピックARN} --authenticate-on-unsubscribe true
P21 予防策 要するに… AWSエンジニアとメールの受け⼿側が『この⽇にこういう設定しようぜ』って決めて 当⽇にURLもしくはトークンの受け渡しを⾏えばOKです。 これでもう 「なんかメールしばらく届いてないぞ…?」 「SNSサブスクリプションが無い!誰かが購読解除リンクを押したっぽい?」 という悲しいことは起こりません。
P22 解説 / 注意点
P23 解説 解説パートでは 「なんで今回の⼿順で⾃爆スイッチを無効化できたのか」を喋ります。
P24 解説 ⾃爆スイッチになっている 押しても何も起きない 購読解除リンクが、上記のどっちになってるかは 該当SNSのAuthenticateOnUnsubscribe の値がTrue/Falseどちらか で決まる。 ▪Amazon Simple
Notification Service ‒ ConfirmSubscription https://docs.aws.amazon.com/ja_jp/sns/latest/api/API_ConfirmSubscription.html
P25 解説 AWSの認証認可を基に、署名付きで許可した ただリンクを踏むだけで承認した or True/Falseの分岐点はこれ
P26 解説 マネコン/CLI (認証付き)で 署名を添えてサブスク許可 例えば、このLTの対策をした場合(True) リンクを踏むだけで サブスク解除しようとする 何を気軽に解除しようとしてんねん! 許可する時はAWSの認証情報まで付けて
厳重にやっとったやないの! ちゃんとAWSの認証情報持ってきてよ!
P27 解説 リンクを踏むだけで サブスク(購読)を許可する このLTの対策をしていない場合(False) リンクを踏むだけで サブスク解除しようとする 購読許可するときは署名も認可も無かったし まあ、いいんじゃない? もうメールは送らないでおくね。
P28 解説 これらを直接管理している AuthenticateOnUnsubscribe は • マネジメントコンソール • AWS CLI
のいずれからも確認することが出来ない。(どうやっても⾒られない。) ただし、実質的には ConfirmationWasAuthenticated という パラメータと同期しているので、それを⾒ることで確認可能。
P29 図式としてはこんな感じ AuthenticateOnUnsubscribe (配信停⽌時にAWS認証を必要とする) ConfirmationWasAuthenticated (確認時に認証を使う) True True False False
P30 解説 ↓ 何の対策も取ってないサブスクリプションをget-subscription-attributesで⾒ると ConfirmationWasAuthenticatedがFalseになっている。 先程の上書き⽤のAWS CLIを実⾏すると、ここがTrueになる。 $ aws sns
confirm-subscription --token {リンク記載のトークン} --topic-arn {トピックARN} --authenticate-on-unsubscribe true
P31 注意点① 昔に作ったSNS サブスクリプションも、CLIで上書きして対策済みにしちゃおう! → 残念ながら、多分無理です。 仮に、昔の確認メールからトークンを引っ張り出せても そのトークンが⽣きている必要があります。
昔に作ったサブスクリプションに、本LTの対策を施すならば 今あるサブスクリプションは⼀度消して、作り直す必要があります。
P32 注意点② 今あるサブスクリプションを消して、対策済みで作り直そう! → 注意点として、サブスクリプションフィルターの有無は気を付けてください。 何も考えずにサブスクリプションを消してしまうと、フィルターごと消えます。 サブスクリプションを作り直した後に 「えっ
以前のはフィルター付いてたっぽい!?どんなのだ!?」 って慌てる事になります。
P33 おわり 扱いひどくない?
More Decks by y_sakata
See All by y_sakata
Amazon Bedrock Agentsがメンテナンスモードに入る前に持っておきたい視点
y_sakata
0
34
AWS WAF Top Insightsについて
y_sakata
0
190
Other Decks in Technology
See All in Technology
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
150
契約書SaaSにAIエージェントを組み込む
sansantech
PRO
0
130
Datadog の権限統制 〜Org 統合に向けて調べた注意点 / JDDUG-Meetup_24
visional_engineering_and_design
1
140
Shared Signals Framework 仕様解説
oidfj
0
430
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
430
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
4
240
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
330
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
300
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
260
Frontier Teams — Amazon は AI で「開発のやり方」をどう変えたのか
kmotohas
0
260
Linuxネットワークスタック進化の軌跡: 過去10年の歩みと最新トレンド
orimanabu
4
680
AWS Emulator を評価する: 手元で動く AWS の API の仕組み、始め方、確かめ方
inariku
PRO
1
590
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
520
Tell your own story through comics
letsgokoyo
1
1.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
750
The Curse of the Amulet
leimatthew05
4
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
380