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
Cognitoを利用してAWSサービスへのアクセス権限をコントロールする
Search
kawaji
May 28, 2019
0
42
Cognitoを利用してAWSサービスへのアクセス権限をコントロールする
kawaji
May 28, 2019
Tweet
Share
More Decks by kawaji
See All by kawaji
次世代のSageMakerとは
kawaji_scratch
0
80
サーバレスの未来〜The Key to Simplifying Everything〜
kawaji_scratch
3
500
こんなJAWS FESTAはいやだ!
kawaji_scratch
0
100
AWSにおける生成AIと最近のアップデート
kawaji_scratch
0
51
Cookieレスな時代に向けたマーケティング基盤の作り方
kawaji_scratch
0
46
JAWS ミート 2024 LT
kawaji_scratch
0
29
Agents for Amazon Bedrockで美味しいパンを購入したい
kawaji_scratch
0
76
JAWSUG Nagoya AWSコンテナサービス概要
kawaji_scratch
0
55
未来の技術、現在の現実〜サーバーレスとGen AIの交差点〜
kawaji_scratch
0
48
Featured
See All Featured
Building an army of robots
kneath
306
46k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Designing for humans not robots
tammielis
254
26k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Music & Morning Musume
bryan
46
6.9k
Documentation Writing (for coders)
carmenintech
75
5.1k
Transcript
CognitoΛར༻ͯ͠ AWSαʔϏεͷΞΫηεݖݶΛί ϯτϩʔϧ͢Δ 2019/5/28 JAWS-UG ໊ݹ ࿏ ོٛ
w ॴଐ ༗ݶձࣾεΫϥονιϑτ w ໊લ ࿏ོٛʢ͔Θ͡Α͔ͨ͠ʣ w "84ྺ
̔ w ͖ͳ"84αʔϏε 3PVUFɺ&$4QPU'MFFU"1* w ظ͍ͯ͠ΔαʔϏε .BOBHFE#MPDLDIBJO ࣗݾհ !LBXBKJ@TDSBUDI
Cognitoͱ ͳΜ͔ॻ͘ "84#MBDL#FMU0OMJOF4FNJOBS"84$PHOJUPΑΓҾ༻
Ϣʔεέʔε • ։ൃҊ݅ͰϢʔβʔϩάΠϯػೳ͕ඞཁɻ • ೝূج൫ΛࣗલͰ։ൃ͠ͳ͍ํ๏ͳ͍͔ʁ
HTMLϕʔεͷ߹
ߏ
ͬ͘͟Γखॱ • Cognito UserPoolΛ༻ҙ͢Δ • ΫϥΠΞϯτΞϓϦΛઃఆ͢Δ • ALBΛ༻ҙ͢Δ • ϦεφʔΛઃఆ͢Δ
ΞϓϦΫϥΠΞϯτ
ΞϓϦΫϥΠΞϯτ $PHOJUPΛ*%ϓϩόΠμͱͯ͠ࢦఆ αΠϯΠϯޙʹϦμΠϨΫτ͞ΕΔ63- αΠϯΞτޙʹϦμΠϨΫτ͞ΕΔ63-
Ϧεφʔͷઃఆ σϑΥϧτΞΫγϣϯͰʮೝূʯΛબ
Ϧεφʔͷઃఆ $PHOJUPΛબ ࡞ࡁΈͷϢʔβʔϓʔϧ ࡞ࡁΈͷΞϓϦΫϥΠΞϯτ Ҏ্Ͱɺ&-#ϦΫΤετ͕དྷͨ߹ʹ$PHOJUPͱ࿈ܞ͢Δ
Ϧεφʔͷઃఆ ೝূࡁΈͷϦΫΤετΛసૹ͢Δઃఆ
Ϧεφʔͷઃఆ "-#ʹઃఆͨ͠"VUP4DBMJOH(SPVQΛࢦఆ
Πϝʔδ ϦΫΤετ ϩάΠϯը໘ ϦμΠϨΫτࢦࣔ ೝূϦΫΤετ ೝূޙ63-ϦμΠϨΫτ 5PLFOݕূ
Cognito͕༻ҙ͢ΔUI αΠϯΠϯը໘ αΠϯΞοϓը໘
ิ ALB͕ϦΫΤετΛͲ͏Validation͢Δ͔ • CookieΛར༻͍ͯ͠Δ AWSELBAuthSessionCookie-0 AWSELBAuthSessionCookie-1 • λΠϜΞτͳͲࣗͰมߋՄೳ
SPA ʢγϯάϧϖʔδΞϓϦέʔγϣϯʣ ͷ߹
ߏ
ͬ͘͟Γखॱ • Cognito UserPoolΛ༻ҙ͢Δ • ΫϥΠΞϯτΞϓϦΛઃఆ͢Δ • APIGatewayΛ༻ҙ͢Δ • ΦʔιϥΠβʔΛઃఆ͢Δ
ͬ͘͟Γखॱ • Cognito UserPoolΛ༻ҙ͢Δ • ΫϥΠΞϯτΞϓϦΛઃఆ͢Δ • APIGatewayΛ༻ҙ͢Δ • ΦʔιϥΠβʔΛઃఆ͢Δ
• API୯ҐͰೝՄ݅Λઃఆ͢Δ આ໌ࡁΈ
ΦʔιϥΠβʔͷઃఆ $PHOJUPΛબ ࡞ͨ͠ϢʔβʔϓʔϧΛબ )551ϔομʹ༩͢Δ τʔΫϯͷ໊শ
APIʹ࡞ͨ͠ΦʔιϥΠβʔΛઃఆ͢Δ "1*୯ҐͰ੍ޚ͕Մೳɻ (&50, 1045/(ͳͲͰ͖Δ
Πϝʔδ αΠϯΠϯ 5PLFOฦ٫ "1*ݺͼग़͠ 5PLFO༩ "1*Ϩεϙϯε 5PLFOݕূ
ิ "1*(BUFXBZΦʔιϥΠβʔҎ֎ʹ*".ʹΑΔೝ ՄΛαϙʔτ͍ͯ͠Δ
LambdaΛར༻ͯ͠ΧελϚΠζՄೳ
͜͜·ͰCognito UserPoolͷ͓
Amazon Cognito ID ϓʔϧ (ϑΣσϨʔςΟουΞΠσϯςΟςΟ) Λར༻ͯ͠ग़དྷΔ͜ͱ
• AWSϦιʔεΞΫηε༻ͷTemporary CredentialsΛ ͍ग़͢ɻ • ೝূ֎෦Identity ProviderʹҠৡՄೳɻ • Ұਓͷਓ͕ؒ࣋ͭෳͷIdentity ProviderͷΞΧϯ
τใΛIdentityͱͯ͠·ͱΊΔɻ
• AWSϦιʔεΞΫηε༻ͷTemporary CredentialsΛ͍ग़͢ɻ • ೝূ֎෦Identity ProviderʹҠৡՄೳɻ • Ұਓͷਓ͕ؒ࣋ͭෳͷIdentity ProviderͷΞΧϯτใΛ Identityͱͯ͠·ͱΊΔɻ
Ұ࣌తͳݖݶΛ͍ग़͢͜ͱʹΑΓΞϓϦ͔Β"84αʔϏε ΞΫηεՄೳʹ
• AWSϦιʔεΞΫηε༻ͷTemporary CredentialsΛ͍ग़͢ɻ • ೝূ֎෦Identity ProviderʹҠৡՄೳɻ • Ұਓͷਓ͕ؒ࣋ͭෳͷIdentity ProviderͷΞΧϯτใΛ Identityͱͯ͠·ͱΊΔɻ
Ұ࣌తͳݖݶΛ͍ग़͢͜ͱʹΑΓΞϓϦ͔Β"84αʔϏε ΞΫηεՄೳʹ 'BDFCPPL (PPHMFͳͲ$PHOJUPҎ֎ͷ*E1Λར༻Մೳɻ "VUIͱ͔ݴͬͱ͚ࠓਖ਼ղʁ
• AWSϦιʔεΞΫηε༻ͷTemporary CredentialsΛ͍ग़͢ɻ • ೝূ֎෦Identity ProviderʹҠৡՄೳɻ • Ұਓͷਓ͕ؒ࣋ͭෳͷIdentity ProviderͷΞΧϯτใΛ Identityͱͯ͠·ͱΊΔɻ
Ұ࣌తͳݖݶΛ͍ग़͢͜ͱʹΑΓΞϓϦ͔Β"84αʔϏε ΞΫηεՄೳʹ 'BDFCPPL (PPHMFͳͲ$PHOJUPҎ֎ͷ*E1Λར༻Մೳɻ "VUIͱ͔ݴͬͱ͚ࠓਖ਼ղʁ J1IPOFΞϓϦͱBOESPJEΞϓϦͷΞΧϯτΛ ෦Ͱಉ͡ਓͱͯ͠ೝࣝͰ͖Δ
Πϝʔδ
Πϝʔδ
۩ମྫ • ೝূࡁΈϢʔβʔࣗઐ༻ͷόέοτྖҬ ϑΝΠϧΛΞοϓϩʔυͰ͖Δɻ • ೝূ͞Ε͍ͯͳ͍Ϣʔβʔɺࢀরݖݶ͚ͩ༩͑Β Ε͓ͯΓσʔλΛӾཡ͚ͩͰ͖Δɻ ͳͲ੍͕ޚՄೳɻ
AWS Amplify 8&#ͰΞϓϦ࡞ΓࠐΉͱ͖"84"NQMJGZ͓͢͢Ίɻ $PHOJUPपลΛطଘϥΠϒϥϦ͕͍Ζ͍ΖରԠͯ͘͠Ε·͢ɻ
ଓ͖࠙ձͰʂʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠