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
CognitoでWebアプリケーション(not SPA)に ログインさせたい時、何を作らなくて...
Search
Kitano Yuichi
July 14, 2023
Technology
3.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CognitoでWebアプリケーション(not SPA)に ログインさせたい時、何を作らなくてはならないのか? / What do I create when I want to log in to a web application with Amazon Cognito?
Kitano Yuichi
July 14, 2023
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
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?
kitano_yuichi
0
7.2k
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
AIコーディングエージェント開発_全体像
happysamurai294
0
110
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
110
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
120
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
280
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
570
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
420
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
320
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
How we choose session proposals
kawaguti
PRO
1
180
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
350
AIエージェントに 権限と鍵をどこまで渡すか
nrinetcom
PRO
2
130
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
630
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
30 Presentation Tips
portentint
PRO
1
440
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
650
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
WCS-LA-2024
lcolladotor
0
930
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
Mobile First: as difficult as doing things right
swwweet
225
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Agile that works and the tools we love
rasmusluckow
331
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Transcript
$PHOJUPͰ8FCΞϓϦέʔγϣϯʢOPU41"ʣʹ ϩάΠϯ͍ͤͨ࣌͞ɺԿΛ࡞Βͳͯ͘ͳΒͳ͍ͷ͔ʁ "84ࣄۀຊ෦ϞμϯΞϓϦέʔγϣϯίϯαϧςΟϯά෦ ༎Ұ
ࣗݾհ 2 w ༎Ұʢ,*5"/0:VJDIJʣ w Ϋϥεϝιουגࣜձࣾ w "84ࣄۀຊ෦ ϞμϯΞϓϦέʔγϣϯίϯαϧςΟϯά෦
w +BQBO"84"MM$FSUJGJDBUJPOT&OHJOFFST w ͖ͳ"84αʔϏε w "84$%, w $PHOJUP
ೝূαʔϏεͰ͋Δ$PHOJUPΛ ͬͯΈΑ͏😁 3
41"ͰBNQMJGZͬͨϒϩά ͔ͬΓͰͯ͘Δͳ🤔 4
%KBOHPͱ͔3BJMTΈ͍ͨͳ 8FCϑϨʔϜϫʔΫͰ $PHOJUP͏ʹͲ͏ͨ͠Β͍͍Μͩ😇 5
ࠓճͷత $PHOJUPͰ8FCΞϓϦέʔγϣϯʢOPU41"ʣ ʹϩάΠϯ͍ͨ࣌͠ɺ ࣗͰ࡞Δඞཁ͕͋ΔͷΛཧղ͢Δɻ 6
ຊ͓͢Δ͜ͱ w 8FCΞϓϦέʔγϣϯͰ$PHOJUPϩάΠϯ͢Δछྨͷํ๏ w छྨͷϩάΠϯํ๏ͷೝূϑϩʔͱ࣮ʹ͍ͭͯ ʲ͞ͳ͍͜ͱʳ w ೝՄʢTDPQFʣʹ͍ͭͯ w αΠϯΞοϓɺϩάΠϯޙͷ࣮ʹ͍ͭͯ
7
Virtual private cloud (VPC) 8FCΞϓϦέʔγϣϯͷ"84ߏྫ 8 64&3 "VSPSB &MBTUJ$BDIF &$
"-# $PHOJUP Ϣʔβʔϓʔϧ ೝূτʔΫϯ Public subnet Private subnet Private subnet ηογϣϯ%# ηογϣϯͰ ϢʔβʔΛࣝผ
$PHOJUPʹ͓͍ͯϩάΠϯͱʁ *%τʔΫϯΛൃߦͯ͢͜͠ͱͰ͢ɻ 9 $PHOJUP Ϣʔβʔϓʔϧ Ϣʔβʔ ʢΫϥϝιଠʣ ࢲΫϥϝιଠͰ͢ʂ ͦͷূڌͷ*%ͱύεϫʔυ͜ΕͰ͢ʂ *%
ύεϫʔυ *%τʔΫϯ ͔֬ʹ͋ͳͨΫϥϝιଠͰ͢Ͷɻ ͋ͳͨͷͨΊʹൃߦͨ͠*%τʔΫϯΛ͠·͢ɻ
+85ͱݺΕΔܗࣜͰϢʔβʔใΛ͍࣋ͬͯ·͢ɻ { *%τʔΫϯͷಛ 10 $PHOJUP Ϣʔβʔϓʔϧ *%τʔΫϯ ɹൿີݤ *%τʔΫϯൃߦ࣌ʹ ൿີ伴Ͱॺ໊
ɹެ։ݤ w Ϣʔβʔ*%ʢTVCʣ w &NBJMʢFNBJMʣ w Ϣʔβʔϓʔϧ*%ʢJTTʣ w Ϣʔβʔ໊ ʢDPHOJUPVTFSOBNFʣ w ༗ޮظݶʢFYQʣFUD *%τʔΫϯͷվ͟Μ͕ແ͍͔ ެ։伴ͰݕূՄೳ
छྨͷೝূํ๏ αʔόʔ*%τʔΫϯΛ̎ͭ͢ͷํ๏͕͋Γ·͢ w "844%,Λར༻͢Δ w )PTUFE6*ͱ6TFSQPPMΤϯυϙΠϯτΛར༻͢Δ 11 $PHOJUP Ϣʔβʔϓʔϧ &$
*%τʔΫϯ ʁ Ͳ͏ͬͯ͢ʁ
"844%,Λར༻ͨ͠ೝূͷσϞ 12
"844%,ͷϝϦοτɾσϝϦοτ ϝϦοτ w ϩάΠϯը໘Λࣗ༝ʹ࡞ΕΔ σϝϦοτ w ϩάΠϯը໘ࣗͰ༻ҙ͠ͳ͚ΕͳΒͳ͍ w ֎෦*E1͑ͳ͍ 13
"844%,Λར༻ͨ͠ೝূͷྲྀΕᶃ 14 αʔόʔଆͰϩάΠϯը໘ͷੜ ϩάΠϯը໘ͷදࣔ
"844%,Λར༻ͨ͠ೝূͷྲྀΕᶄ 15 Ϣʔβʔ*%ύεϫʔυͷೖྗ 'PSNͰαʔόʔ1PTU
"844%,Λར༻ͨ͠ೝূͷྲྀΕᶅ 16 Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ
"844%,Λར༻ͨ͠ೝূͷྲྀΕᶆ 17 औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯ ηογϣϯ%#อଘ
"844%,Λར༻ͨ͠ೝূͷྲྀΕᶇ 18 ϩάΠϯޙը໘ͷදࣔ ηογϣϯ*%Λ$PPLJFʹอଘ
"844%,Λར༻ͨ͠ೝূͷྲྀΕᶈ 19 ηογϣϯ*%ͰϢʔβʔΛࣝผ ηογϣϯ%#͔ΒτʔΫϯΛऔಘͯ͠ Ϣʔβʔݻ༗ͷใΛදࣔ
ʲ࠶ܝʳ"844%,Λར༻ͨ͠ೝূͷྲྀΕᶅ 20 Ϣʔβʔ*%ύεϫʔυʹ ج͍ͮͨೝূϑϩʔͷ࣮ߦ ֤छτʔΫϯΛऔಘ ʮೝূϑϩʔͷ࣮ߦʯ ͱԿͳͷ͔ʁ
$PHOJUPͷೝূϑϩʔ 21 ೝূϑϩʔ໊ આ໌ "%.*/@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ϑΝϯΫγϣϯ͕τϦΨʔ͞ΕɺࣗͰೝূϑϩʔΛࣗ༝ʹ ઃఆͰ͖Δೝূϑϩʔɻ 3&'3&4)@50,&/@"65) ϦϑϨογϡτʔΫϯ͔Β৽͍͠τʔΫϯΛऔಘ͢Δೝূϑϩʔɻ
$PHOJUPͷೝূϑϩʔͱઃఆ 22 લड़ͷೝূϑϩʔΛ͏߹ɺ$PHOJUPͷઃఆͰ ༻ΛڐՄ͢Δඞཁ͕͋Γ·͢ɻ
ΞϓϦέʔγϣϯΫϥΠΞϯτͷγʔΫϨοτΩʔ 23 ΫϥΠΞϯτγʔΫϨοτ࡞࣌ͷΈੜͰ͖·͢ɻ
"%.*/@64&3@1"44803%@"65)ϑϩʔ 24 &$ $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 25 import hmac, hashlib, base64 def create_secret_hash(user_name, app_client_id,
secret_key): message = bytes(user_name + app_client_id, ‘utf-8’) key = bytes(secret_key, ‘utf-8’) digest = hmac.new(key, message, digestmod=hashlib.sha256).digest() secret_hash = base64.b64encode(digest).decode() return secret_hash user_name = <<ϩάΠϯϢʔβʔ໊>> app_client_id = <<CgonitoϢʔβʔϓʔϧͷΫϥΠΞϯτID>> secret_key = <<CognitoϢʔβʔϓʔϧͷΫϥΠΞϯτγʔΫϨοτ>> print('SECRET HASH:’,create_secret_hash(user_name, app_client_id, secret_key)) ʲࢀߟʳϢʔβʔΞΧϯτͷαΠϯΞοϓͱ֬ೝγʔΫϨοτϋογϡͷܭࢉ"NB[PO$PHOJUP IUUQTEPDTBXTBNB[PODPNKB@KQDPHOJUPMBUFTUEFWFMPQFSHVJEFTJHOJOHVQVTFSTJOZPVSBQQIUNM
)PTUFE6*Λར༻ͨ͠ೝূͷσϞ 26
)PTUFE6*ͷϝϦοτɾσϝϦοτ ϝϦοτ w ϩάΠϯը໘Λ࡞Βͳͯ͘ྑ͍ w αΠϯΞοϓը໘ɺύεϫʔυΛ͓ΕͰ͔͢ʁը໘͋Δ w ֎෦*E1͕͑Δ σϝϦοτ w
ϩάΠϯը໘ͷຊޠԽσβΠϯͷΧελϚΠζʹ੍ݶ͕͋Δ w ࣗલͰ࡞Δʹೝূϑϩʔ͕ෳࡶͰେม 27
)PTUFE6*Λར༻͢ΔͨΊͷઃఆ ϩάΠϯը໘Λ$PHOJUP͕ఏڙ͢ΔͨΊɺ $PHOJUPυϝΠϯͷ࡞͕ඞཁͰ͢ɻ ͜Ε͕)PTUFE6*ͷυϝΠϯʹͳΓ·͢ɻ 28
$PHOJUPͷ0"VUIϑϩʔ )PTUFE6*Λར༻͢Δ߹ɺ0"VUIϑϩʔͰτʔΫϯΛ औಘ͢Δ͜ͱʹͳΓ·͢ɻ 29 0"VUIϑϩʔ໊ આ໌ "VUIPSJ[BUJPODPEFHSBOU ʢೝূίʔυͷ༩ʣ جຊతʹ༻͕ਪ͞ΕΔϑϩʔɻ $PHOJUPͰαʔόʔΛհͯ͠τʔΫϯΛऔಘ͢Δ߹ɺ௨ৗΫϥΠΞϯ
τγʔΫϨοτΛઃఆͯ͠ར༻͢Δɻ 41"ͷΑ͏ʹϢʔβʔ͕τʔΫϯΛऔಘ͢Δ߹1,$&Λซ༻͢Δ͜ ͱ͕ਪ͞ΕΔɻ *NQMJDJUHSBOU ʢ҉ͷ༩ʣ "VUIPSJ[BUJPODPEFHSBOUͷ༻͕ෆՄೳͳ߹બ͢Δɻ "VUIPSJ[BUJPODPEFHSBOUͷ༻͕ਪ͞ΕΔɻ $MJFOUDSFEFOUJBMHSBOU ʢΫϥΠΞϯτೝূใʣ ϚγϯؒͷτʔΫϯަ͢Δࡍʹ༻͢Δೝূϑϩʔɻ ࠓճͷΑ͏ͳΤϯυϢʔβʔ͕ೝূʹ͏ϑϩʔͰͳ͍ɻ
$PHOJUPͷ0"VUIೝূϑϩʔͱઃఆ લड़ͷ0"VUIϑϩʔΛ͏߹ɺ $PHOJUPͷઃఆͰ༻ΛڐՄ͢Δඞཁ͕͋Γ·͢ɻ 30 ʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙ w ೝূίʔυ༩ "VUIPSJ[BUJPODPEFHSBOU
w ҉తͳ༩ *NQMJDJUHSBOU
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶃ 31 αʔόʔଆͰϩάΠϯը໘ͷੜ ϩάΠϯը໘ͷϦϯΫΛදࣔ
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶄ 32 0"VUIϑϩʔͷ։࢝ ೝՄΤϯυϙΠϯτϦμΠϨΫτ͔Βͷ )PTUFE6*ϦμΠϨΫτ
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶅ 33 Ϣʔβʔ*%ύεϫʔυʹΑΔϩάΠϯޙ $BMMCBDL63-ͷϦμΠϨΫτʹΑΓ &$ೝՄίʔυΛ͢
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶆ 34 ೝՄίʔυΛͱʹτʔΫϯΛऔಘ͢Δ
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶇ 35 औಘ֤ͨ͠छτʔΫϯΛ ηογϣϯใͱඥ͚ͯ ηογϣϯ%#อଘ
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶈ 36 ϩάΠϯޙը໘ͷදࣔ ηογϣϯ*%Λ$PPLJFʹอଘ
)PTUFE6*Λར༻ͨ͠ೝূͷྲྀΕᶉ 37 ηογϣϯ*%ͰϢʔβʔΛࣝผ ηογϣϯ%#͔ΒτʔΫϯΛऔಘͯ͠ Ϣʔβʔݻ༗ͷใΛදࣔ
)PTUFE6*Λར༻ͨ͠ೝূͰΘ͔Γʹ͍͘෦ 38 ೝূϦΫΤετΛͲ͏͢Ε͍͍ͷ͔ʁ ೝՄίʔυΛͲ͏ͬͯड͚औΕ͍͍ͷ͔ʁ τʔΫϯϦΫΤετΛͲ͏͢Ε͍͍ͷ͔ʁ
ೝূϦΫΤετ 39 PBVUIBVUIPSJ[FʢೝՄΤϯυϙΠϯτʣʹରͯ͠ ࣍ͷύϥϝʔλʔΛ(&5ϝιουͰૹ৴͠·͢ɻ ύϥϝʔλʔ໊ ࢦఆ͢Δ SFTQPOTF@UZQF "VUIPSJ[BUJPODPEFHSBOUͷ߹ɿDPEFʢೝՄίʔυΛฦ͢ʣ *NQMJDJUHSBOUͷ߹ɿUPLFOʢτʔΫϯΛฦ͢ʣ
DMJFOU@JE $PHOJUPϢʔβʔϓʔϧͷΞϓϦέʔγϣϯΫϥΠΞϯτ*% SFEJSFDU@VSJ ೝՄίʔυΛड͚औΔͨΊͷɺ 8FCΞϓϦͷϦμΠϨΫτઌ63-ʢྫɿIUUQTFYBNQMFDPNDBMMCBDLʣ TDPQF ೝূͰ*%τʔΫϯΛར༻͍ͨ͠߹ʮPQFOJEʯΛࢦఆ ͦͷଞ߲ʹ͍ͭͯຊࢿྉͰׂѪ͠·͢ ʲࢀߟʳೝՄΤϯυϙΠϯτ"NB[PO$PHOJUP IUUQTEPDTBXTBNB[PODPNKB@KQDPHOJUPMBUFTUEFWFMPQFSHVJEFBVUIPSJ[BUJPOFOEQPJOUIUNM
ೝূϦΫΤετͷͨΊͷ$PHOJUPͷઃఆ 40 ೝূϦΫΤετΛૹΔલʹɺ $PHOJUPͷΫϥΠΞϯτΛઃఆ͢Δඞཁ͕͋Γ·͢ɻ SFEJSFDU@VSJͱҰகͤ͞Δ ʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙʙ TDPQFͱҰகͤ͞Δ
DBMMCBDLʹΑΔೝՄίʔυͷड͚औΓ 41 8FCΞϓϦέʔγϣϯଆͷίʔϧόοΫ63-ʹɺ ΫΤϦύϥϝʔλʔͱͯ͠ɺೝՄίʔυ͕͞Ε·͢ɻ ࣍ͷ༷ͳܗͰίʔϧόοΫ63-ʹϦμΠϨΫτ͞Εɺ 8FCΞϓϦέʔγϣϯೝՄίʔυΛड͚औΓ·͢ɻ ྫɿhttps://example.com/callback?code=<<ೝՄίʔυ>>
τʔΫϯϦΫΤετ 42 PBVUIUPLFOʢτʔΫϯΤϯυϙΠϯτʣʹରͯ͠ 1045ϝιουͰૹ৴ͯ͠*%τʔΫϯΛऔಘ͠·͢ɻ ύϥϝʔλʔ໊ ࢦఆ͢Δ HSBOU@UZQF "VUIPSJ[BUJPODPEFHSBOUͷ߹ɿBVUIPSJ[BUJPO@DPEF ϦϑϨογϡτʔΫϯͰͷ࠶औಘͷ߹ɿSFGSFTI@UPLFO
$MJFOUDSFEFOUJBMHSBOUͷ߹ɿDMJFOU@DSFEFOUJBMT DMJFOU@JE $PHOJUPϢʔβʔϓʔϧͷΞϓϦέʔγϣϯΫϥΠΞϯτ*% DMJFOU@TFDSFU $PHOJUPϢʔβʔϓʔϧͷΞϓϦέʔγϣϯΫϥΠΞϯτγʔΫϨοτ SFEJSFDU@VSJ ೝՄΤϯυϙΠϯτͰ༻ͨ͠ͷͱಉ͡SFEJSFDU@VSJΛࢦఆ ʢྫɿIUUQTFYBNQMFDPNDBMMCBDLʣ DPEF ΫΤϦύϥϝʔλʔͰड͚औͬͨೝՄίʔυ ʲࢀߟʳτʔΫϯΤϯυϙΠϯτ"NB[PO$PHOJUP IUUQTEPDTBXTBNB[PODPNKB@KQDPHOJUPMBUFTUEFWFMPQFSHVJEFUPLFOFOEQPJOUIUNM
ຊͳΒTUBUF͍͍͚ͨͲׂѪ͠·͢ 43 ཁೝূϦΫΤετΛ࣮ߦͨ͠ਓͱ τʔΫϯϦΫΤετΛ࣮ߦ͍ͯ͠Δਓ͕ ಉҰਓ͔ʁͱ͍͏͜ͱΛνΣοΫͯ͠ɺ ηΩϡϦςΟΛߴΊ͍ͯΔɻ
֎෦*E1Λ͍͍ͨ߹ʁ 44 w ͍ΘΏΔ(PPHMFͰϩάΠϯΛ͍͍ͨ߹ Ͳ͏͢ΕΑ͍ʁ w )PTUFE6*Λར༻͢Ε͑·͢ʂ
(PPHMFͰϩάΠϯͷσϞ 45
(PPHMFͰϩάΠϯ͍ͨ࣌͠ͷઃఆ 46 w ৄ͘͠ฐࣾϒϩάΛݟ͍ͯͩ͘͞ w IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBNB[PODPHOJUPHPPHMFTPDJBMTJHOJO
(PPHMFͰϩάΠϯͷೝূϑϩʔ 47 (PPHMFͰϩάΠϯ͢Δ෦͕ҧ͏͚ͩ ॏཁͳͷϒϥβͷϦμΠϨΫτΛ௨ͯ͠ (PPHMFͱ$PHOJUP͕ύϥϝʔλʔΛ ΓͱΓ͍ͯ͠Δͱ͍͏͜ͱ ʲࢀߟʳ)PTUFE6*Λར༻ͨ͠ೝূͷϑϩʔ
ϩάΠϯը໘ࣗ࡞ͭͭ͠(PPHMFϩάΠϯͰ͖Δʁ 48 w ϩάΠϯը໘Λຊޠʹͭͭ͠ (PPHMFͰϩάΠϯͰ͖ͳ͍ͷʁ w Ͱ͖·͢ʂ "844%,ͱ)PTUFE6*Λ྆ํ͏
ϋΠϒϦουߏʹ͍ͯͩ͘͠͞ɻ
ࣗ࡞ϩάΠϯը໘Ͱ(PPHMFϩάΠϯ͢ΔσϞ 49
)PTUFE6*Λܦ༝͠ͳ͚ΕͳΒͳ͍ʁ 50 w )PTUFE6*Λܦ༝ͤͣɺ(PPHMFϩάΠϯը໘ϦμΠ ϨΫτ͢ΔͨΊͷΦϓγϣϯ͕͋Γ·͢ɻ w ೝՄΤϯυϙΠϯτͷύϥϝʔλʔʹ JEFOUJUZ@QSPWJEFS(PPHMFΛ͚͍ͭͯͩ͘͞ɻ ʲࢀߟʳೝՄΤϯυϙΠϯτ"NB[PO$PHOJUP IUUQTEPDTBXTBNB[PODPNKB@KQDPHOJUPMBUFTUEFWFMPQFSHVJEFBVUIPSJ[BUJPOFOEQPJOUIUNM
)PTUFE6*Λলུͯ͠(PPHMFϩάΠϯ͢ΔσϞ 51
ೝূϑϩʔͷ࣮ɺͬͱ؆୯ʹͳΒͳ͍ʁ 52 w "84ͱͯ͠ެࣜϥΠϒϥϦ͋Γ·ͤΜɻ w 41"ͳΒBNQMJGZKT͕͋Γ·͢ɻ w αʔυύʔςΟͷϥΠϒϥϦΛ୳͍ͯͩ͘͠͞ɻ w ͍Ζ͍Ζ͋Γ·͕͢ɺͦͷϥΠϒϥϦΛධՁͰ͖Δ
ఔʹ$PHOJUPͷೝূϑϩʔͷཧղඞཁͩͱ ࢥͬͯ·͢ɻ
·ͱΊ 53 w $PHOJUPΛ8FCΞϓϦέʔγϣϯͷೝূͰ͏ʹ w "844%,ɼ)PTUFE6*ͱ̎छྨͷϩάΠϯํ๏͕͋Γ·͢ w ϩάΠϯํ๏ʹ͋ΘͤͨೝূϑϩʔΛཧղ্ͨ͠Ͱͷ࣮͕ඞ ཁͰ͢ w
(PPHMFϩάΠϯɺ֎෦*E1Λ͍͍ͨ߹ɺ )PTUFE6*Λར༻͢Δೝূϑϩʔͷ࣮͕ඞཁͰ͢ɻ ͬͯͳ͍Α͏ʹݟ͍͑ͯͬͯ·͢ɻ