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
ALBと外部IDプロバイダーで認証しつつ、LaravelではGate・Policyを使わずシン...
Search
ryosukes
December 22, 2024
0
20
ALBと外部IDプロバイダーで認証しつつ、LaravelではGate・Policyを使わずシンプルに アクセス制御する方法
ryosukes
December 22, 2024
Tweet
Share
More Decks by ryosukes
See All by ryosukes
北欧、暮らしの道具店を支えるAWSマルチアカウント運用 / hokuohkurashi aws multi account
ryosukes
0
15k
フィットする暮らしを支えるSRE 2021
ryosukes
1
3.6k
EKSではなくECSを採用する理由
ryosukes
0
2.6k
RegExp Error caused by PHP upgrade 5.6 to 7.2
ryosukes
0
2.9k
Hello kubernetes
ryosukes
0
1.6k
コマンド履歴にタグを つけるCLIツールを作った
ryosukes
0
2k
Featured
See All Featured
RailsConf 2023
tenderlove
29
940
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
Building Your Own Lightsaber
phodgson
103
6.1k
Designing for Performance
lara
604
68k
A designer walks into a library…
pauljervisheath
204
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Scaling GitHub
holman
458
140k
Transcript
"-#ͱ֎෦*%ϓϩόΠμʔͰೝূ ͭͭ͠ɺ-BSBWFMͰ(BUFɾ 1PMJDZΛΘͣγϯϓϧʹ ΞΫηε੍ޚ͢Δํ๏ ࠤʑ྄༞!SZPTVLFT 1)1$POGFSFODF+"1"/
ࠤʑ྄༞ !SZPTVLFT ࣗݾհ גࣜձࣾΫϥγίϜ γεςϜϓϥοτϑΥʔϜ෦ ςΫϊϩδʔάϧʔϓΤϯδχΞ ͔Β8FCΤϯδχΞͱͯ͠ಇ͖͡Ίɺ 1FSMɾ1)1ΛϝΠϯʹෳͷ&$ɾϝσΟΞαΠτͷ։ ൃɾӡӦʹܞΘΔɻ ʹΫϥγίϜʹೖࣾɻ8FC։ൃͱฒߦͯ͠
͔Β43&ΛϦʔυɻ͔ΒϐʔϓϧϚ ωδϝϯτ୲͏ɻ झຯɿԻָɾϨίʔυ 02 © Kurashicom Inc.
03 ΫϥγίϜʹ͍ͭͯ %$ ੈքதͷηϨΫτͱΦϦδφϧ։ൃΛൢച w ఆՁൢചˋ͑Δ ϒϥϯυιϦϡʔγϣϯ φγϣφϧϒϥϯυͷϚʔέςΟϯάΛࢧԉ w ͓औΓΈϒϥϯυҎ্
ίϯςϯπύϒϦογϟʔ ଟ༷ͳίϯςϯπͰ͓٬͞·ͱͷܨ͕ΓΛڧΊΔ w 8&#ίϥϜɺϙουΩϟετɺυϥϚɺυΩϡ ϝϯλϦʔɺөըͳͲ͞·͟·ͳίϯςϯπΛ ৴ w ։ൃ͔ΒϓϩϞʔγϣϯ·ͰɺϒϥϯσΟ ϯάͷશϑΣʔζΛࢧԉ͢Δ w :PV5VCFಈըྦྷܭ࠶ੜճԯճ w ΞύϨϧ͕ച্ͷΛΊΔ © Kurashicom Inc. ʮԤɺΒ͠ͷಓ۩ళʯΛӡӦ͍ͯ͠·͢ɻ ˞݄ظ
ཧը໘ͷΞΫηε੍ݶɺօ͞ΜͲ͏ͯ͠·͔͢ʁ 04 © Kurashicom Inc.
ཧը໘ΞΫηε੍ݶํ๏ͷ۩ମྫ • #BTJDೝূͳͲͷ*%1BTTXPSE .'" • 0"VUI0*%$ • 71/ *1੍ݶ
ͳͲ 05 © Kurashicom Inc.
ཧը໘ͷΞΫηε੍ݶɺͲ͜Ͱͬͯ·͔͢ʁ 06 © Kurashicom Inc.
ΞΫηε੍ݶͲ͜Ͱ • ΞϓϦέʔγϣϯϨϕϧ FY-BSBWFM 1)1 • ΞϓϦέʔγϣϯͷલஈ FY"-# /HJOY
• ωοτϫʔΫϨϕϧ FY71/ *1੍ݶ ͳͲ 07 © Kurashicom Inc.
ͰɺͲ͜ͰͲͷํ๏ΛऔΔ͖͔ʁ 08 © Kurashicom Inc.
Ͳ͜ͰͲͷํ๏ΛऔΔ͖͔ঢ়گʹΑΔ • αʔϏεͷن • ৫νʔϜͷঢ়گ • ٻΊΒΕΔηΩϡϦςΟϨϕϧ Ұ֓ʹݴ͑ͳ͍͕ɺηΩϡϦςΟϨϕϧ্͛ͭͭཧίετԼ͍͛ͨɻ ໘ͳ࡞ۀɾૢ࡞ݮΒ͍ͨ͠ɻͱ͍͏ਓଟ͍ͣɻ 09
© Kurashicom Inc.
ࠓҰྫͱ͓ͯ͠͠·͢ 010 © Kurashicom Inc.
ҎԼͷঢ়گΛఆ • ར༻͢ΔͷϢʔβʔɺνʔϜҎ্ • ΤϯδχΞʙਓ • ͍ΖΜͳػೳ͕͋ΓɺνʔϜ୯ҐͰϩʔϧΛ༻ҙ͑͠ΔػೳΛ੍ݶ͍ͨ͠ • ಛݖϩʔϧΛ༻ҙ͍ͨ͠ •
ॻ͖ࠐΈɾಡΈऔΓݖݶΛॊೈʹ༩Ͱ͖ΔΑ͏ʹ͍ͨ͠ • ଞʹཧը໘͕͋Γɺ"QQ͝ͱʹϢʔβʔཧͨ͘͠ͳ͍ 011 © Kurashicom Inc.
վΊͯΞδΣϯμ • ΞϓϦέʔγϣϯͷલஈ "-# ֎෦*%ϓϩόΠμʔ Ͱ0*%$Ͱೝূͭͭ͠ • ΞϓϦέʔγϣϯ -BSBWFM Ͱ(BUFɾ1PMJDZΛΘͣ
• $BTCJOΛͬͯػೳϨϕϧͷΞΫηε੍ޚΛ3#"$ 3PMF#BTFE"DDFTT$POUSPM Ͱߦ͏ 012 © Kurashicom Inc.
શମ૾
શମ૾ 014 © Kurashicom Inc. "-# "QQ $BTCJO MBSBWFMBVUI[QIQDBTCJO *%ϓϩόΠμʔ
*E1
શମͷྲྀΕ 015 © Kurashicom Inc. "-# "QQ $BTCJO MBSBWFMBVUI[QIQDBTCJO *%ϓϩόΠμʔ
*E1 ΞΫηε "-#ͷηογϣϯΩϟογϡ͕ͳ͚Ε*E1ʹϦΫΤετͯ͠ೝূɾೝՄ࣮ࢪɻޭ͢ ΕηογϣϯΩϟογϡ͕ൃߦ͞Εʹɻࣦഊ͢Δͱʹ ϦΫΤετϔομʔʹ*E1͔Βͷσʔλؚ͕·Εͨ+85Λ༩ͯ͠"QQʹϦΫΤετ
શମͷྲྀΕ 016 © Kurashicom Inc. "-# "QQ $BTCJO MBSBWFMBVUI[QIQDBTCJO *%ϓϩόΠμʔ
+85͕վ᜵͞Εͯͳ͍͔Λݕূɻͳ͚Ε+85͔ΒϢʔβʔͷݻ༗ใΛநग़ɻݻ ༗ใ͔ΒϩʔϧΛஅ͠ɺ$BTCJOͰݖݶΛఆ ݖݶ͕͋Εॲཧͯ͠Ϩεϙϯεɻݖݶ͕ͳ͚ΕΤϥʔ ϨεϙϯεΛฦ͢
ϝϦοτɾσϝϦοτ • ϝϦοτ • ϢʔβʔཧΛ*E1ʹدͤΒΕΔͷͰୀ৬ͳͲͰͷϢʔβʔআ࣌ʹָ • ೝূΛ"QQͷ֎ʹग़ͤΔͷͰ"QQͷ͕ݮΔ • -BSBWFMΛΘͳ͍ଞͷϓϩμΫτͰԠ༻Մೳ •
σϝϦοτ • -BSBWFMͰ݁͠ͳ͍ͷͰϩʔΧϧ։ൃͰ"-#ͷସΛ༻ҙɾཧ͢Δඞཁ ͕͋Δ 017 © Kurashicom Inc.
"-# *E1Ͱ ೝূ͢Δ
"-# *E1ͷઃఆ • "-#ʴ*E1ͷ࿈ܞ0*%$४ڌͷ*E1͕४උͰ͖͍ͯΕඇৗʹ؆୯ • "-#ͷϧʔϧΞΫγϣϯఆٛʹඞཁͳใΛೖΕΔ͚ͩ • ͨͩ͠"-#ࣗମ͕*E1ʹϦΫΤετͰ͖ΔΑ͏ηΩϡϦςΟάϧʔϓͷௐඞཁ 019 ©
Kurashicom Inc.
ίʔυͰઃఆཧ • "-#ɺηΩϡϦςΟάϧʔϓ5FSSBGPSNͰίʔυཧՄɻൿಗใͷѻ͍ʹҙ • *E1ʹΑͬͯ5FSSBGPSN1SPWJEFS͕ଘࡏ͢ΔͷͰͦΕΛͬͯཧͰ͖Δ • ྫ͑0LUBͳͲ • 3FGIUUQTEFWFMPQFSPLUBDPNEPDTHVJEFTUFSSBGPSNMBOEJOHQBHF NBJO
020 © Kurashicom Inc.
"-#FBTUΛආ͚Δ ઃఆɾݕূ࿙ΕʹΑΔ੬ऑੑΛૂͬͨ"-#FBTU߈ܸආ͚Δɻ ۩ମతʹΔ͜ͱҎԼ • +85ͷॺ໊ͷݕূʹՃ͑ɺTJHOFSϑΟʔϧυʹؚ·ΕΔ"-#ͷBSOΛݕূ • "QQಛఆͷ"-#͔Βͷ௨৴ͷΈΛड͚͚ΔΑ͏੍ޚ SFGIUUQTXXXNJHHPJPSFTPVSDFTVODPWFSJOHBVUIWVMOFSBCJMJUZJOBXTBMCBMCFBTU 021 ©
Kurashicom Inc.
ҙ • (PPHMFೝূͷ߹ɺHNBJMDPNؚΊҙͷΞΧϯτΛ௨ͯ͠͠·͏ • ͦͷͨΊϝʔϧΞυϨεͷจࣈྻ͔ΒೝՄͷఆΛՃ͑Δඞཁ͕͋Δ • ۩ମతʹɺผ్$PHOJUPΛ༻ҙ͠ɺ-BNCEBͰϝʔϧΞυϨεͷνΣοΫΛߦ͏Α ͏ͳτϦΨʔΛՃͰઃఆ͢ΔͳͲ 022 ©
Kurashicom Inc.
ೝূ௨աޙ • )551ϔομʔܦ༝Ͱ"QQʹϢʔβʔΫϨʔϜ͕͞ΕΔ • YBN[OPJEDBDDFTTUPLFO ΞΫηετʔΫϯ • YBN[OPJEDJEFOUJUZ TVCΫϨʔϜ
• YBN[OPJEDEBUB +85 • ओʹ+85Λ"QQͰ͏ • ॺ໊ɺTJHOFSͷݕূ • ϩʔϧใͷநग़ 023 © Kurashicom Inc.
$BTCJOͰ γϯϓϧͳΞΫηε੍ޚ
$BTCJOͱ • 1&3. 1PMJDZ &GGFDU 3FRVFTU .BUDIFS ϕʔεͷΞΫηε੍ޚϞσϧϥΠϒϥϦ • ͍ΖΜͳΞΫηείϯτϩʔϧϞσϧɺݴޠΛαϙʔτ
• αϒδΣΫτ Ϣʔβʔɺϩʔϧ ɺΦϒδΣΫτ ίϯτϩʔϥɾΞΫγϣϯ ɺΞΫ γϣϯ ॻ͖ࠐΈɺಡΈࠐΈ ͳͲͰɺڐՄɾڋ൱ͷϧʔϧઃఆ͕Մೳ 025 © Kurashicom Inc.
$BTCJOͷྑ͍ͱ͜Ζ • ఆٛϑΝΠϧͰΞΫηείϯτϩʔϧΛ໌͔֬ͭॊೈʹมߋͰ͖Δ • ఆٛϑΝΠϧͷϞσϧαϯϓϧ͕๛ • ଞͷݴޠʹԠ༻Մೳ 026 © Kurashicom
Inc.
ͳͥ1PMJDZɾ(BUFΛΘͳ͍͔ • 1PMJDZ • ಛఆͷϞσϧϨϕϧͰ੍ޚ͢Δඞཁ͕ͳ͚Ε1PMJDZෆཁ • (BUF • BENJO FEJUBSUJDMFͷΑ͏ʹจࣈྻΛΩʔͱ͠$MPTVSFͰఆٛ͢ΔͨΊɺఆٛ
ํ͕ᐆດͳ··ͩͬͨΓࡉ͔͘Ζ͏ͱ͢Δͱݟ௨͕͠ѱ͘ͳΓ͕ͪ • $BTCJOTVC PCK BDUͳͲΩʔͱͳΔใΛಛఆͷϧʔϧͰఆٛ͠ಠࣗͷ ϚονϟʔʹΑͬͯॲཧͰ͖ΔͨΊػೳ͕૿͖͑ͯͨ࣌ʹൺֱతݟ௨͠ྑ࣮͘ Ͱ͖Δ 027 © Kurashicom Inc.
3#"$ͷఆٛϑΝΠϧαϯϓϧ 028 © Kurashicom Inc.
࣮αϯϓϧ 029 © Kurashicom Inc.
࣮ࡍʹ͏߹ • BEE1PMJDZ ͰՃ͢Δ༰ϩʔϧɾݖݶϚελͱͯ͠%#ʹอଘ͢ΔΑ͏TFFEFS ʹ͓ͯ͘͠ • ಛݖϩʔϧΛ࡞Γ͍ͨ߹ͳͲϚονϟʔΛௐ • VTFS૬ͷใ*E1Ͱ࣋ͨͤͯ+85͔Βநग़ •
ҎԼͷΑ͏ͳNJEEMFXBSFΛ४උ͠SPVUFͰ͑ΔΑ͏ʹ͢Δ • +85ͷݕূɾநग़༻NJEEMFXBSF • ݖݶͷఆ༻NJEEMFXBSF 030 © Kurashicom Inc.
ϚονϟʔΛௐͨ͠ྫ 031 © Kurashicom Inc. #FGPSF "GUFS
• ϩʔϧใʹؔͯ͠ࣄલʹଞϛυϧΣΞͰSFRVFTUΦϒδΣΫτͳͲͰόέπϦ ϨʔͰ͖ΔΑ͏ʹ͓ͯ͘͠ • BVUIPSJ[FEϛυϧΣΞʹTVC BDUΛ͠ɺϛυϧΣΞͰݖݶΛఆ 3PVUFͰೝՄNJEEMFXBSF TVC BDUΛࢦఆ 032
© Kurashicom Inc.
ϩʔΧϧͰ ೝূͤ͞Δ
ϩʔΧϧͰ"-#͕͑ͳ͍ • ΘΓʹ0"VUI1SPYZΛ͏ • IUUQTHJUIVCDPNPBVUIQSPYZPBVUIQSPYZ • ೝূͱೝՄΛ֎෦ʹҕৡ͢ΔͨΊͷϦόʔεϓϩΩγαʔόʔϛυϧΣΞ • ͨͩ0"VUI1SPYZগ͠ෳࡶɻͳͷͰ؆қతʹͨ͠044ग़͖͍ͯͯΔ •
ࢀߟϚωʔϑΥϫʔυͷظΠϯλʔϯੜ͕0*%$ͷͨΊͷ044Λ։ൃ͠·͠ ͨ 034 © Kurashicom Inc.
·ͱΊ
·ͱΊ • "-# *E1Ͱೝূʹؔͯ͠"QQͷ͕ݮΒͤΔ • *E1ͷ༷ʹҙ • +85͔ͬ͠Γݕূ͠ɺ"QQͷΞΫηεಛఆͷ"-#ܦ༝ʹݶఆ͢Δ͜ͱ • $BTCJOΞΫηείϯτϩʔϧʹศརɻଞͷݴޠͰ͑Δ
• ϩʔΧϧͰ0"VUI1SPYZ͕͑Δ 036 © Kurashicom Inc.
࠾༻ใ ืूཁ߲ͪ͜Β ΫϥγίϜͰ 8FCΤϯδχΞΛืू͍ͯ͠·͢ • WebΞϓϦέʔγϣϯͷ։ൃܦݧ5Ҏ্ʢϑϩϯτΤϯυͷΈআ͘ʣ • ԤɺΒ͠ͷಓ۩ళͷαʔϏεʹڞײ͠ɺࢧ͑Δࣄʹڵຯͷ͋Δํ • ಛఆͷٕज़ྖҬʹͩ͜ΘΒͣɺ෯͘ܦݧΛॏͶ͍͖͍ͯͨํ
Kurashicom Tech Blog https://note.com/kurashicom_tech/ IUUQT fi OEZDPEFJPDPNQBOJFT