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
46
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cognitoを利用してAWSサービスへのアクセス権限をコントロールする
kawaji
May 28, 2019
More Decks by kawaji
See All by kawaji
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
210
昔はシンプルだった_AmazonS3
kawaji_scratch
0
460
Amazon Nova シリーズでパワポカラオケしてみた
kawaji_scratch
0
63
re:Invent 2025 から見る営業が知るべき AWS サービス
kawaji_scratch
0
52
次世代のSageMakerとは
kawaji_scratch
0
160
サーバレスの未来〜The Key to Simplifying Everything〜
kawaji_scratch
3
580
こんなJAWS FESTAはいやだ!
kawaji_scratch
0
170
AWSにおける生成AIと最近のアップデート
kawaji_scratch
0
100
Cookieレスな時代に向けたマーケティング基盤の作り方
kawaji_scratch
0
95
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
800
A Modern Web Designer's Workflow
chriscoyier
698
190k
How to Ace a Technical Interview
jacobian
281
24k
Become a Pro
speakerdeck
PRO
31
6.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Git: the NoSQL Database
bkeepers
PRO
432
67k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
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पลΛطଘϥΠϒϥϦ͕͍Ζ͍ΖରԠͯ͘͠Ε·͢ɻ
ଓ͖࠙ձͰʂʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠