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
Amazon SNSサブスクリプションの誤解除を防ぐ
Search
y_sakata
July 16, 2025
Technology
410
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon SNSサブスクリプションの誤解除を防ぐ
y_sakata
July 16, 2025
More Decks by y_sakata
See All by y_sakata
AWS WAF Top Insightsについて
y_sakata
0
160
「プロジェクトの引き継ぎ」のベストプラクティスを探す旅
y_sakata
0
130
Other Decks in Technology
See All in Technology
[AWS Summit Japan 2026]迷っているあなたへ_小さな一歩が、やがて自分を助けてくれる
sh_fk2
2
430
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
280
現場のトークンマネジメント
dak2
1
200
4人目のSREはAgent
tanimuyk
0
280
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
200
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
140
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
170
Lightning近況報告
kozy4324
0
230
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
260
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
4
800
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
280
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.3k
Facilitating Awesome Meetings
lara
57
7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Automating Front-end Workflow
addyosmani
1370
210k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
450
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Rails Girls Zürich Keynote
gr2m
96
14k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
360
For a Future-Friendly Web
brad_frost
183
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Transcript
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 おわり 扱いひどくない?