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
36
Cognitoを利用してAWSサービスへのアクセス権限をコントロールする
kawaji
May 28, 2019
Tweet
Share
More Decks by kawaji
See All by kawaji
サーバレスの未来〜The Key to Simplifying Everything〜
kawaji_scratch
3
430
こんなJAWS FESTAはいやだ!
kawaji_scratch
0
55
AWSにおける生成AIと最近のアップデート
kawaji_scratch
0
27
Cookieレスな時代に向けたマーケティング基盤の作り方
kawaji_scratch
0
22
JAWS ミート 2024 LT
kawaji_scratch
0
12
Agents for Amazon Bedrockで美味しいパンを購入したい
kawaji_scratch
0
51
JAWSUG Nagoya AWSコンテナサービス概要
kawaji_scratch
0
37
未来の技術、現在の現実〜サーバーレスとGen AIの交差点〜
kawaji_scratch
0
28
未来の技術、現在の現実〜サーバーレスと Gen AI の交差点〜
kawaji_scratch
0
1k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Practical Orchestrator
shlominoach
186
10k
The Invisible Side of Design
smashingmag
299
50k
Facilitating Awesome Meetings
lara
52
6.2k
Fireside Chat
paigeccino
34
3.2k
Rails Girls Zürich Keynote
gr2m
94
13k
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पลΛطଘϥΠϒϥϦ͕͍Ζ͍ΖରԠͯ͘͠Ε·͢ɻ
ଓ͖࠙ձͰʂʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠