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
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do w...
Search
Kitano Yuichi
July 29, 2022
Technology
7.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?
Kitano Yuichi
July 29, 2022
More Decks by Kitano Yuichi
See All by Kitano Yuichi
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
230
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
1.1k
CognitoでWebアプリケーション(not SPA)に ログインさせたい時、何を作らなくてはならないのか? / What do I create when I want to log in to a web application with Amazon Cognito?
kitano_yuichi
1
3.9k
AWS Glueを使ってRDSからS3+Athena環境を作ってみよう / Let's create Athena from RDS using AWS Glue
kitano_yuichi
1
9.2k
オンプレとVPCをつなぐ環境のUpdate/re:Cap connecting on-premises and vpc
kitano_yuichi
0
1.7k
Other Decks in Technology
See All in Technology
LLMの知識とAIエージェント
happysamurai294
0
110
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
160
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
360
Patterns in AI Driven Software Development
akosma
PRO
0
310
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
150
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
410
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
500
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
210
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
6
1.8k
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
360
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
250
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
1.9k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Skip the Path - Find Your Career Trail
mkilby
1
260
Building Flexible Design Systems
yeseniaperezcruz
330
41k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Design in an AI World
tapps
1
370
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
950
Ethics towards AI in product and experience design
skipperchong
2
440
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
470
Deep Space Network (abreviated)
tonyrice
0
390
sira's awesome portfolio website redesign presentation
elsirapls
0
470
Transcript
"84ࣄۀຊ෦ίϯαϧςΟϯά෦༎Ұ 41"ͱ8FCΞϓϦέʔγϣϯͰ $PHOJUPͷ͍ํͲ͏มΘΔͷ͔ʁ
ࣗݾհ • ༎Ұʢ,*5"/0:VJDIJʣ • Ϋϥεϝιουגࣜձࣾ • "84ࣄۀຊ෦ίϯαϧςΟϯά෦ • "1/"--"84$FSUJGJDBUJPOT&OHJOFFST
• ͖ͳ"84αʔϏε • "84$-* • $PHOJUP
CognitoͬͯͲ͏͍͏ ΠϝʔδͰ͔͢ʁ🤔
$PHOJUPͰΑ͘ฉ͘ w Կ͔ೝূʹ͏αʔϏε w ೝূʹ͏ͷΘ͔Δ͚Ͳɺ࣮ࡍͲ͏ͬͯࣗୡͷ ΞϓϦέʔγϣϯʹΈࠐΜͩΒྑ͍ͷ͔Θ͔Βͳ͍ w (PPHMFϩάΠϯͱ͔Ͱ͖ΔΒ͍͚͠Ͳɺ
Ͳ͏ͬͯͬͨΒ͍͍ͷ͔Θ͔Βͳ͍
ࠓճͷత CognitoΛ WebαʔϏεͷೝূͱͯ͠͏ʹ Ͳ͏͍͏ߏ͕ඞཁ͔ཧղ͢Δ
ຊ͓͢Δ͜ͱ w 8FCΞϓϦέʔγϣϯͰ$PHOJUPΛ༻͢Δํ๏ w 41"Ͱ$PHOJUPར༻࣌ͷೝূͷྲྀΕ w ैདྷܕ8FCαΠτͰ$PHOJUPར༻࣌ͷೝূͷྲྀΕ ʲ͞ͳ͍͜ͱʳ w
$PHOJUPΛ͏ͨΊͷ۩ମతͳઃఆ
$PHOJUPͷར༻ํ๏ w େ͖͘Θ͚ͯ̎௨Γͷ͍ํ͕͋Γ·͢ w 41"ʢ4JOHMF1BHF"QQMJDBUJPOʣʴόοΫΤϯυ"1* w ैདྷܕ8FCαΠτ
41"ͱ w ୯ҰͷϖʔδͰ8FCΞϓϦέʔγϣϯΛ ߏ͢ΔγεςϜ w ௨ৗKBWBTDSJQUʢ3FBDU 7VFʣΛར༻ͯ͠ಈతʹ
දࣔɺϖʔδભҠΛ੍ޚ͢ΔɻϩάΠϯϢʔβʔͷ ݸผσʔλόοΫΤϯυ"1*͔Βಈతʹऔಘ͢Δɻ
41"ͷ"84ߏྫ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
41"༻ͷ ੩తϖʔδऔಘ ೝূτʔΫϯ όοΫΤϯυ"1* ಈతΞΫηε ʢ*".ೝՄʣ $PHOJUP *%ϓʔϧ "84Ұ࣌ ΫϨσϯγϟϧΩʔऔಘ
41"ͷ$PHOJUPͰͷೝূσϞ
41"ͷೝূͷྲྀΕᶃ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ 41"༻ͷ ੩తϖʔδऔಘ ϩάΠϯը໘ͷදࣔ
41"ͷೝূͷྲྀΕᶄ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘͯ͠อଘ
41"ͷೝূͷྲྀΕᶅ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ *%τʔΫϯ͔Β"84Ұ࣌ ΫϨσϯγϟϧΩʔͷऔಘ
41"ͷೝূͷྲྀΕᶆ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ "84Ұ࣌ΫϨσϯγϟϧΩʔ͔Β 4JH7ॺ໊Λ࡞ όοΫΤϯυ"1*ϦΫΤετ
41"ͷ$PHOJUPͷ)PTUFE6*ͰͷೝূσϞ
RVJ w 0"VUIΛͬͨαʔυύʔςΟΞϓϦʢ(PPHMF 'BDFCPPLʣͰϩάΠϯͰ͖ΔΑ͏ʹͳΔ ͍ΘΏΔ(PPHMFͰϩάΠϯ͕ ͑ΔΑ͏ʹͳΔ )PTUFE6*ͷ(PPHMFϩάΠϯϘλϯΛ ΫϦοΫͨ࣌͠ͱಉ༷ͷಈ࡞Λ͢Δ
)PTUFE6*Λར༻͢Δͱ͖ͱಉ༷ͷઃఆ͕ඞཁ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶃ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ 41"༻ͷ ੩తϖʔδऔಘ ϩάΠϯը໘ϦμΠϨΫτ Ϙλϯͷදࣔ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶄ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ ʢ)PTUFE6*ʣ "1*(BUFXBZ BNQMJGZKT 64&3
-BNCEB $PHOJUP *%ϓʔϧ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯݩͷը໘ϦμΠϨΫτ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶅ $MPVE'SPOU 4 "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB $PHOJUP *%ϓʔϧ
KBWBTDSJQUͰಈతʹ ϦμΠϨΫτʹΑΓड͚औͬͨೝՄίʔυΛݩʹ ֤छτʔΫϯΛ$PHOJUP͔Βऔಘͯ͠อଘ $PHOJUP Ϣʔβʔϓʔϧ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶆ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ *%τʔΫϯ͔Β"84Ұ࣌ ΫϨσϯγϟϧΩʔͷऔಘ
41"ͷ)PTUFE6*ͷೝূͷྲྀΕᶇ $MPVE'SPOU 4 $PHOJUP Ϣʔβʔϓʔϧ "1*(BUFXBZ BNQMJGZKT 64&3 -BNCEB
$PHOJUP *%ϓʔϧ KBWBTDSJQUͰಈతʹ "84Ұ࣌ΫϨσϯγϟϧΩʔ͔Β 4JH7ॺ໊Λ࡞ όοΫΤϯυ"1*ϦΫΤετ
41"Ͱ$PHOJUPͷೝূ·ͱΊ w BNQMJGZKTͰ6*࡞Δɺ·ͨ)PTUFE6*Λར༻͢Δ w (PPHMFϩάΠϯΛ͍ͨ͠߹ɺ )PTUFE6*Λར༻͢ΔͨΊͷઃఆ͕ඞਢ w ͦΕͧΕೝূϑϩʔҟͳΔ͕BNQMJGZKTΛ͑
ͦͷೝূϑϩʔΛ͍͍ײ͡ʹղܾͯ͘͠ΕΔ
ʲ༨ஊᶃʳ)PTUFE6*Λར༻ͨ͠ೝূϑϩʔͷৄࡉ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTMFBSOBVUIFOUJDBUJPOVTJOH DPHOJUPTIPTUFEVJXJUIBNQMJGZ ͪ͜Βͷϒϩά ղઆ͍ͯ͠·͢
ैདྷܕ8FCαΠτͱ w ΞΫηε͢ΔͱαʔόʔଆͰಈతʹ8FCαΠτͷද ࣔ)5.-Λੜ͠ɺϒϥβʹϨεϙϯε͢Δैདྷܕ ͷ8FCαΠτɻ w ௨ৗ8FCϑϨʔϜϫʔΫʢ3VCZPO3BJMT %KBOHP
ʜFUDʣΛ༻͍ͯ։ൃ͢Δ
Public subnet ैདྷܕ8FCαΠτͷ"84ߏྫ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ηογϣϯͰ ϢʔβʔΛࣝผ ೝূτʔΫϯ ηογϣϯ%#
ैདྷܕ8FCαΠτͷ$PHOJUPͰͷೝূσϞ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶃ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔଆͰϩάΠϯը໘ͷੜ ϩάΠϯը໘ͷදࣔ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυͷೖྗ 'PSNͰαʔόʔ1PTU
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶆ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯ ηογϣϯ%#อଘ
Public subnet ैདྷܕ8FCαΠτͷೝূͷྲྀΕᶇ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ϩάΠϯޙը໘ͷදࣔ ηογϣϯͰϢʔβʔࣝผ
Public subnet ʲ࠶ܝʳैདྷܕ8FCαΠτͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ 41"ͰBNQMJGZKT͕ೝূϑϩʔΛ ͏·͍͜ͱ࣮ߦͯ͘͠Ε·ͨ͠ɻ ैདྷܕ8FCαΠτͰೝূϑϩʔΛཧղ͠ɺ ೝূϑϩʔʹԊͬͯࣗͰ࣮͢Δ ඞཁ͕͋Γ·͢ɻ
$PHOJUPͷೝূϑϩʔൈਮ ೝূϑϩʔ໊ આ໌ "%.*/@64&3@1"44803%@"65) ʢچশɿ"%.*/@/0@431@"65)ʣ αʔόʔ͔Β࣮ߦ͢Δ͜ͱΛఆͨ͠ύεϫʔυΛૹͬͯೝূ͢Δೝূϑϩʔɻ ௨ৗΫϥΠΞϯτγʔΫϨοτΛ༻͢Δɻ 64&3@431@"65) ΫϥΠΞϯτʢ41"ʣ͔Β࣮ߦ͢Δ͜ͱΛఆͨ͠431ϓϩτίϧͰύεϫ
ʔυΛجʹͨ͠νϟϨϯδϨεϙϯεΛૹΓ͍͋ೝূ͢Δೝূϑϩʔɻ BNQMJGZKT͕σϑΥϧτͰ༻͢Δɻ 64&3@1"44803%@"65) ΫϥΠΞϯτʢ41"ʣ͔Β࣮ߦ͢Δ͜ͱΛఆͨ͠ύεϫʔυΛૹͬͯೝূ͢ Δೝূϑϩʔɻ ΫϥΠΞϯτʢ41"ʣ͔Βͷ࣮ߦ643@431@"65)ͷར༻͕ਪ͞ΕΔɻ $6450.@"65) ೝূ࣌ʹ-BNCEBϑΝϯΫγϣϯ͕τϦΨʔ͞ΕɺࣗͰೝূϑϩʔΛࣗ༝ʹ ઃఆͰ͖Δೝূϑϩʔɻ
$PHOJUPͷೝূϑϩʔͱઃఆ w લड़ͷೝূϑϩʔΛ͏߹ɺ$PHOJUPͷઃఆͰ ༻ΛڐՄ͢Δඞཁ͕͋Δɻ
"%.*/@64&3@1"44803%@"65)ϑϩʔ &$ $PHOJUP Ϣʔβʔϓʔϧ "ENJO*OJUJBUF"VUI TFDSFU@IBTI#BTF )."$@4)" $PHOJUP ϢʔβʔϓʔϧͷγʔΫϨοτΩʔ
ϩάΠϯϢʔβʔ໊ $PHOJUPϢʔβʔϓʔϧͷΫϥΠΞϯτ*% DPHOJUPBENJO*OJUJBUF"VUI \ "VUI'MPXb"%.*/@64&3@1"44803%@"65)` 6TFS1PPM*E$PHOJUPϢʔβʔϓʔϧͷϢʔβʔϓʔϧ*% $MJFOU*E$PHOJUPϢʔβʔϓʔϧͷΫϥΠΞϯτ*% "VUI1BSBNFUFST\ 64&3/".&ϩάΠϯϢʔβʔ໊ 1"44803%ύεϫʔυ 4&$3&5@)"4)TFDSFU@IBTI ^ ^ \ "VUIFOUJDBUJPO3FTVMU\ "DDFTT5PLFOʜ &YQJSFT*Oʜ 5PLFO5ZQFb#FBSFS` 3FGSFTI5PLFOʜ *E5PLFOʜ ^ ʜ ^ ֤छτʔΫϯ
۩ମతͳ4&$3&5@)"4)ͷܭࢉํ๏ʢQZUIPOʣ ʲҾ༻ʳ"NB[PO$PHOJUPͷʮΫϥΠΞϯτͷγʔΫϨοτͷϋογϡΛݕূͰ͖·ͤΜʯͱ͍͏ΤϥʔΛղܾ͢Δ IUUQTBXTBNB[PODPNKQQSFNJVNTVQQPSULOPXMFEHFDFOUFSDPHOJUPVOBCMFUPWFSJGZTFDSFUIBTI import sys import hmac, hashlib, base64
username = sys.argv[1] app_client_id = sys.argv[2] key = sys.argv[3] message = bytes(sys.argv[1]+sys.argv[2],'utf-8') key = bytes(sys.argv[3],'utf-8') secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() print("SECRET HASH:",secret_hash) python3 secret_hash.py <<ϩάΠϯϢʔβʔ໊>> <<CognitoϢʔβʔϓʔϧͷΫϥΠΞϯτ ID>> <<CognitoϢʔβʔϓʔϧͷΫϥΠΞϯτγʔΫϨοτ>> secret_hash.py
ʲ༨ஊᶄʳ"ENJO"1*ͱඇ"ENJO"1* w $PHOJUPͷ"1*ಛघ w "ENJO"1*ଞͷαʔϏεͱಉ༷*".3PMFͷΫϨσϯγϟϧͰ࣮ߦ w ྫɿ"ENJO*OJUJBUF"VUI "ENJO(FU6FTS w
ඇ"ENJO"1*$PHOJUPϢʔβʔͷΞΫηετʔΫϯͰ࣮ߦͯ͠ɺ ͦͷϢʔβʔͷΈૢ࡞Ͱ͖Δ w ৽نϢʔβʔΛ࡞͢Δ4JHO6Qɺ ೝূͯ͠τʔΫϯΛऔಘ͢Δ*OJUJBUF"VUIྫ֎ͰΞΫηετʔΫϯෆཁ w ྫɿ(FU6TFS
ैདྷܕ8FCαΠτͷ$PHOJUPͷ)PTUFE6*ͰͷೝূσϞ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶃ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔଆͰϩάΠϯը໘ͷੜ ϩάΠϯը໘ϦμΠϨΫτϘλϯͷදࣔ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUPϢʔβʔϓʔϧ ʢ)PTUFE6*ʣ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ$BMMCBDL63-ϦμΠϨΫτ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ $BMMCBDL63-ͷϦμΠϨΫτʹΑΓ ೝՄίʔυΛαʔόʔ͢ DBMMCBDL
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶆ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝՄίʔυΛݩʹ ֤छτʔΫϯΛऔಘ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶇ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯ ηογϣϯ%#อଘ
Public subnet ैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶈ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ϩάΠϯޙը໘ϦμΠϨΫτͯ͠දࣔ ηογϣϯͰϢʔβʔࣝผ IFMMP
Public subnet ʲ࠶ܝʳैདྷܕ8FCαΠτͷ)PTUFE6*ͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private subnet
"VSPSB &MBTUJ$BDIF &$ "-# $PHOJUPϢʔβʔϓʔϧ ʢ)PTUFE6*ʣ 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ$BMMCBDL63-ϦμΠϨΫτ 41"ͰBNQMJGZKT͕0"VUIೝূϑϩʔΛ ͍͍ײ͡ʹ࣮ߦͯ͘͠Ε·ͨ͠ɻ ैདྷܕ8FCαΠτͰ0"VUIೝূϑϩʔΛཧղ͠ɺ 0"VUIೝূϑϩʔʹԊͬͯࣗͰ࣮͢Δ ඞཁ͕͋Γ·͢ɻ
$PHOJUPͷ0"VUIೝূϑϩʔ 0"VUIೝূϑϩʔ໊ આ໌ "VUIPSJ[BUJPODPEFHSBOU ʢೝՄίʔυͷڐՄʣ جຊతʹ༻͕ਪ͞ΕΔϑϩʔɻ ैདྷܕ8FCαΠτͷΑ͏ʹαʔόʔΛհͯ͠τʔΫϯΛऔಘ͢Δ߹ɺ ௨ৗΫϥΠΞϯτγʔΫϨοτΛઃఆͯ͠ར༻͢Δɻ 41"ͷΑ͏ʹϢʔβʔ͕τʔΫϯΛऔಘ͢Δ߹1,$&Λซ༻͢Δ͜
ͱ͕ਪ͞ΕΔɻ *NQMJDJUHSBOU ʢ҉తͳڐՄʣ "VUIPSJ[BUJPODPEFHSBOUͷ༻͕ෆՄೳͳ߹બ͢Δɻ 1,$&Λซ༻ͨ͠"VUIPSJ[BUJPODPEFHSBOUͷ༻͕ਪ͞ΕΔɻ $MJFOUDSFEFOUJBMHSBOU ʢΫϥΠΞϯτೝূใͷڐՄʣ ϚγϯؒͷτʔΫϯަ͢Δࡍʹ༻͢Δೝূϑϩʔɻ ࠓճͷΑ͏ͳΤϯυϢʔβʔ͕ೝূʹ͏ϑϩʔͰͳ͍ɻ
$PHOJUPͷ0"VUIೝূϑϩʔͱઃఆ w લड़ͷ0"VUIೝূϑϩʔΛ͏߹ɺ$PHOJUPͷ ઃఆͰ༻ΛڐՄ͢Δඞཁ͕͋Δɻ ʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙ • ೝূίʔυ༩ =
Authorization code grant • ҉తͳ༩ =Implicit grant
ैདྷܕ8FCαΠτͰ$PHOJUPͷೝূ·ͱΊ w ϩάΠϯ6*ΛࣗͰ࡞Δɺ·ͨ)PTUFE6*Λར༻ ͢Δ w (PPHMFϩάΠϯΛ͍ͨ͠߹ɺ )PTUFE6*Λར༻͢ΔͨΊͷઃఆ͕ඞਢ w
$PHOJUPͷೝূϑϩʔΛཧղͯ͠ɺࣗͰ࣮͢Δඞ ཁ͕͋ΓɺBNQMJGZKT͕͑Δ41"ΑΓқ͕ߴ ͍
Public subnet ʲ൪֎ʳ"-# $PHOJUPೝূͷ"84ߏྫ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝূ࿈ܞ ηογϣϯ%#
"-# $PHOJUPೝূͰͷೝূσϞ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶃ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ "-#ΞΫηε 0"VUIೝূϑϩʔͷ։࢝ )PTUFE6*ϦμΠϨΫτ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶄ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ*%ύεϫʔυΑΔϩάΠϯޙ ೝՄίʔυͱ͋Θͤͯ "-#ͷ$BMMCBDL63-ϦμΠϨΫτ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶅ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ $BMMCBDL63-ͷϦμΠϨΫτʹΑΓ ೝՄίʔυΛ"-#͢
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶆ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ೝՄίʔυΛݩʹ֤छτʔΫϯΛऔಘ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶇ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯอଘ "-#ͷηογϣϯ%# ͷ༷ͳͷ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶈ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ ΞΫηετʔΫϯɺϢʔβʔใʢTVCΫϨʔϜʣΛ )551ϔομʔʹՃͯ͠&$ΞΫηε "-#ͷηογϣϯ%# ͷ༷ͳͷ
Public subnet "-# $PHOJUPೝূͷೝূͷྲྀΕᶉ 64&3 VPC Private subnet Private
subnet "VSPSB &MBTUJ$BDIF &$ "-# $PHOJUP Ϣʔβʔϓʔϧ αʔόʔ͕ը໘Λੜ ϩάΠϯޙը໘Λදࣔ "-#ͷηογϣϯ%# ͷ༷ͳͷ
w "-#ͱ$PHOJUPͷઃఆ͓͚͑ͯ͞͠ɺ "-#͕0"VUIೝূϑϩʔΛ͍͍ײ͡ʹͬͯ͘Ε·͢ "-# $PHOJUPೝূͷ0"VUIೝূϑϩʔ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBMCDPHOJUPVTFSQPPM ઃఆͷํ
ͪ͜ΒͷϒϩάΛ ͝ࢀর͍ͩ͘͞
"-# $PHOJUPೝূͰ&$ଆ͢ใ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTIUUQIFBEFSTBEEFECZBMC BOEDPHOJUPBSFFYQMBJOFE ͪ͜Βͷϒϩά ղઆ͍ͯ͠·͢ w Ϣʔβʔใ"-#͕)551ϔομʔՃͯ͠
͍ͯ͠·͢
·ͱΊ w $PHOJUPΛ8FCΞϓϦͷೝূͰ͏ʹʜ w 41"ͷ߹ɺBNQMJGZKTΛར༻͢Δ w ैདྷܕ8FCαΠτͷ߹ɺೝূϑϩʔΛཧղࣗ͠Ͱ࣮ w (PPHMFϩάΠϯ͍͍ͨ߹ɺ)PTUFE6*Λར༻