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
Security-JAWS IAMの設計を言語化する
Search
Takuro SASAKI
November 11, 2019
Technology
11
6.3k
Security-JAWS IAMの設計を言語化する
2019年11月11日にSecurity-JAWSで発表した資料です
https://s-jaws.doorkeeper.jp/events/99569
Takuro SASAKI
November 11, 2019
Tweet
Share
More Decks by Takuro SASAKI
See All by Takuro SASAKI
技術書を書く技術 JAWS DAYS 2024
takuros
16
5.2k
パフォーマンスとコスト制約から考えるアーキテクチャ設計(JAWSUG東京ランチLT会#4)
takuros
2
1.1k
Storage-JAWS第0回 昔話で振り返るAWSの歴史 ~ストレージ編~
takuros
1
3.5k
エンジニアとしての自分とマネージャーとしての自分の狭間で、どう成長していくのか?(AWS DevDay 2023登壇資料)
takuros
30
13k
AWSで作るデータ分析基盤サービスの選定と設計のポイント
takuros
5
6.1k
JAWSUG初心者支部 IAMの「あ」の話
takuros
4
8.5k
Security-JAWS-Speciality-Study
takuros
0
5.4k
CloudFormation StackSets with AWS Organizations
takuros
3
5.6k
AWS認定セキュリティ - 専門知識 AWSのサービスを使って楽してセキュリティ向上!!
takuros
5
5k
Other Decks in Technology
See All in Technology
Fraxinus00tw assembly manual
fukumay
0
110
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
730
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
180
IAMのマニアックな話2025
nrinetcom
PRO
4
700
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.7k
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
210
脳波を用いた嗜好マッチングシステム
hokkey621
0
290
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
110
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.7k
EDRの検知の仕組みと検知回避について
chayakonanaika
12
4.9k
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
600
Featured
See All Featured
Designing for Performance
lara
604
68k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Designing Experiences People Love
moore
140
23k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How GitHub (no longer) Works
holman
314
140k
Visualization
eitanlees
146
15k
BBQ
matthewcrist
87
9.5k
Become a Pro
speakerdeck
PRO
26
5.2k
Scaling GitHub
holman
459
140k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
It's Worth the Effort
3n
184
28k
Transcript
*".ͷઃܭΛݴޠԽ͢Δ /3*ωοτίϜגࣜձࣾɹ ࠤʑ 4FDVSJUZ+"84ɹୈճ #secjaws
ࠤʑ CMPHIUUQTCMPHUBLVSPTOFU 5XJUUFS!ELGK ࣗݾհ #secjaws
+BQBO"1/"NCBTTBEPS બग़͞Ε·ͨ͠ ࣗݾհ #secjaws
ࠓ͢ςʔϚ̐ͭ ྨ্ͨ͠ͰݴޠԽ͢ΔͱԿͱͳ͘ղ͔Δ ઃܭ͢Δ্Ͱɺ·ͣσβΠϯύλʔϯΛ࡞Δ ۩ମతͳϙϦγʔͷઃܭྫ *".ͷ౾ࣝ #secjaws
"84ͱηΩϡϦςΟ
"84ͱηΩϡϦςΟ #secjaws ͍Ζ͍ΖΔ͜ͱ͕ଟͯ͘ɺ ͍͜͠ͱࢥͬͨ͜ͱ͋Γ·ͤΜ͔ શମ૾ΛѲ͢ΔͨΊʹɺͬ͘͟Γͱ ྨͯ͠Έ·͠ΐ͏
"84ͱηΩϡϦςΟ #secjaws "84ͷηΩϡϦςΟͭͷ࣠Ͱߟ͑Δ ᶃ"84ʹߏஙͨ͠ωοτϫʔΫͱαʔόʔͷηΩϡϦςΟ ᶄ"84ͷαʔϏε܈ͷઃܭɾઃఆ ᶅ"84ૢ࡞ʹؔ͢Δݖݶʢ*".ʣ ᶆηΩϡϦςΟΛҡ࣋ཧ͢ΔͨΊͷ"84αʔϏε AWS Management Console
Role VPC AWS Cloud Subnet Internet gateway Amazon Simple Storage Service (S3) VPN gateway Endpoints User ૢ࡞ݖݶ Instance Instance Instance AWS Lambda Role ᶅ ᶄ ᶃ AWS Command Line Interface AWS Config AWS Systems Manager AWS Service Catalog AWS Trusted Advisor AWS CloudTrail ᶆ ηΩϡϦςΟΛҡ࣋ ཧ͢ΔαʔϏε
ᶃ"84ʹߏஙͨ͠ωοτϫʔΫͱ αʔόʔͷηΩϡϦςΟ #secjaws ڞ༗Ϟσϧͷͷ෦ ઃܭͷߟ͑ํΦϯϓϨͱେ͖͘ҧΘͳ͍͕ɺઃఆͷ ํ"84ͷྲّྀʹै͏ඞཁ͕͋Δ IUUQTBXTBNB[PODPNKQDPNQMJBODFTIBSFESFTQPOTJCJMJUZNPEFM
ᶄ"84ͷαʔϏε܈ͷઃܭɾઃఆ #secjaws ͍ΘΏΔϚωʔδυαʔϏε ϢʔβʔࣗͰΧόʔ͢Δൣғগͳ͍͕ɺαʔϏε͝ ͱʹಛੑΛཧղ͢Δඞཁ͕͋Δ 㱺·ͣɺ͏ͷ͚֮ͩ͑Εྑ͍ IUUQTXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFT+BQBOBXTXIJUFCFMUPOMJOFTFNJOBSBXT
ᶅ"84ͷૢ࡞ʹؔ͢Δݖݶʢ*".ʣ #secjaws "84ͷηΩϡϦςΟͷத֩ͷҰͭ ͲΜͳʹωοτϫʔΫαʔόʔͷηΩϡϦςΟઃఆΛ͠ ͍ͯͯɺ"84Λૢ࡞͞ΕΔͱ͕݀։͚ΒΕΔ ࠓͷςʔϚͰ͢ʂʂ
ᶆηΩϡϦςΟΛҡ࣋ཧ͢Δ ͨΊͷ"84αʔϏε #secjaws "84ಠࣗͷ෦ ར༻͠ͳͯ͘γεςϜΛηΩϡΞͳঢ়ଶΛҡ࣋Ͱ͖Δ͕ɺ ্ख͘׆༻͢ΔͱࣗྗͰΔΑΓഒָʹͳΔ ͷ+"846(ઍ༿Ͱɺ͜ͷςʔϚͰ͢༧ఆͰ͢ IUUQTKBXTVHDIJCBEPPSLFFQFSKQFWFOUT
ྨ͠ݴޠԽ͢Δ͜ͱʹΑΓ ཧղ͕ਐΉ #secjaws @kaitendaentais https://twitter.com/kaitendaentai/status/1052689241744896001
*".ͷઃܭΛݴޠԽ͢Δ
*".ͷϚχΞοΫͳͷհ https://takuros.booth.pm/items/1563844
*".ͷϚχΞοΫͳɹ࣍ ͡Ίʹ ୈষ"84ͱ*". ୈষ*".ͷػೳ ୈষ*".νϡʔτϦΞϧ ୈষ*".ϙϦγʔͷσβΠϯύλʔϯ ୈষ*".άϧʔϓͷσβΠϯύλʔϯ ୈষ*".ͱηΩϡϦςΟ ୈষ*".ͷӡ༻ ୈষ*".ͱ$MPVE'PSNBUJPO
ୈষ*".ͷςϯϓϨʔτू ୈষ*".Ҏ֎ͷ"84αʔϏεͷ׆༻ "ΞΧϯτ։ઃ࣌ͷઃఆνΣοΫϦετ #secjaws
*".ઃܭͷجຊํ
*".ઃܭͷجຊํ #secjaws कΔ͖جຊํ͚̎ͭͩ ೝূใΛ౪·Εͳ͍Α͏ʹ͢Δӡ༻ઃܭ ΞΫηεΩʔʗγʔΫϨοτΞΫηεΩʔͰͳ͘ϩʔϧͷར༻ HJUTFDSFUTͷར༻ ೝূใ͕౪·ΕͯඃΛ࠷খݶʹ͢Δݖݶઃܭ .'"ඞਢԽ*1੍ݶͳͲͷར༻੍ݶ ࠷খݖݶͷઃఆ
*".ϙϦγʔͷσβΠϯύλʔϯ
*".ϙϦγʔ *".ϙϦγʔͷσβΠϯύλʔϯ̏ͭ ϗϫΠτϦετɾύλʔϯ ϒϥοΫϦετɾύλʔϯ ϋΠϒϦοτɾύλʔϯ #secjaws
ڐՄ͢ΔݖݶͷΈ༩͍ͯ͘͠ύλʔϯɹɹ &$4ͱ͍ͬͨαʔϏε୯Ґɺߋʹࡉ͔͘ΞΫγϣϯ୯ҐͰ༩ "84ཧϙϦγʔɺ͋ΔҙຯϗϫΠτϦετύλʔϯ ˞Ͱɺͦͷ··͏ʹૈ͍ #secjaws ϗϫΠτϦετɾύλʔϯ FD %FTDSJCF 4UPQ 4UBSU
ಛఆͷαʔϏεɾΞΫγϣϯͷΈڐՄ ڋ൱ ڐՄ ڐՄ ڐՄ ڋ൱ ϝϦοτɹ ࠷খݖݶͷઃܭ͕Ͱ͖Δ ཧղͯ͠࡞ΕɺҰ൪ηΩϡΞ σϝϦοτɹ ઃܭ͕ਐ·ͳ͍ͱઃఆͰ͖ͳ͍ ཧෛՙ͕ߴ͍
ڋ൱ΛՃ͍ͯ͘͠ύλʔϯɹɹ ڐՄ͍͚ͯ͠ͳ͍ݖݶΛണୣ͍ͯ͘͠ #secjaws ϒϥοΫϦετɾύλʔϯ ڐՄ 4 &D *". ಛఆͷαʔϏεɾΞΫγϣϯͷΈڋ൱ ڐՄ
ڋ൱ ڋ൱ ڋ൱ ϝϦοτɹ ઃܭ͕࠷খݶʹͰ͖Δ ࣗ༝͕ߴ͍ σϝϦοτɹ ༧ظͤ͵αʔϏε͕ಥવ͑ΔΑ͏ ʹͳΔϦεΫ͕͋Δ
ϗϫΠτϦετɾϒϥοΫϦετͷΈ߹Θͤ ݖݶΛ༩্ͨ͠Ͱɺېࢭ͍ͨ͠ݖݶΛΔ ˞ݫີʹ͍͏ͱɺϒϥοΫϦετύλʔϯͯ͢ϋΠϒϦοτʹͳΔ #secjaws ϋΠϒϦοτɾύλʔϯ ڐՄ "ENJOJTUSBUPS "DDFTT &D ࠷ॳʹݖݶΛ༩ͯ͠ɺෆཁͳݖݶΛΔ
ϝϦοτɹ "84ཧϙϦγʔ͕͍͍͢ ࣗ༝͕ߴ͘ઃܭָ͕ σϝϦοτɹ ͋·Γແ͍ ɹ˞ॏͶ͕͚ํ๏ʹҙ *". ڋ൱
*".άϧʔϓͷσβΠϯύλʔϯ
*".άϧʔϓ *".άϧʔϓͷσβΠϯύλʔϯ̎ͭ ෳάϧʔϓʹॴଐ άϧʔϓʹෳͷϙϦγʔ #secjaws
Ϣʔβʔ͕ෳͷάϧʔϓʹଐ͢Δ͜ͱΛલఏʹݖݶઃఆɹ શࣾһ͚ͷڞ௨άϧʔϓͱׂผͷάϧʔϓ ֊ߏΛ࡞Γ͍͢ #secjaws ෳάϧʔϓʹॴଐ
Ϣʔβʔ͕ͭͷάϧʔϓʹଐ͢Δ͜ͱΛલఏʹݖݶઃఆ Ϣʔβ͔ΒΈΔͱγϯϓϧͳߏ ݖݶͷݟ௨͕͠ྑ͍ #secjaws άϧʔϓʹෳϙϦγʔ
ύλʔϯͷݪଇΛ౿·্͑ͨͰ ۩ମతͳઃܭʹམͱ͠ࠐΉ
ڞ௨Ͱར༻͢ΔϙϦγʔͰ·ͣݕ౼͢Δͷ͜ͷͭ .'"ඞਢԽඞͣ͢Δ͜ͱ *1੍ݶɺӡ༻ϙϦγʔͱ૬ஊɻ࡞ۀॴΛ੍ݶͰ͖Δͱ͍͏ޮՌ͕͋Δ #secjaws .'"ඞਢԽͱ*1੍ݶ \ &⒎FDU%FOZ "DUJPO
$POEJUJPO\ /PU*Q"EESFTT\ BXT4PVSDF*Q< > ^ ^ 3FTPVSDF ^ \ &⒎FDU%FOZ /PU"DUJPO< JBN > 3FTPVSDF $POEJUJPO\ #PPM*G&YJTUT\ BXT.VMUJ'BDUPS"VUI1SFTFOUGBMTF ^ ^ ^
"ENJOݖݶΛ༩্ͨ͠Ͱ੍ݶΛՃ͑Δ .'"ඞਢˍ*1ΞυϨε੍ݶ *1੍ݶΛͳͨ͘͢Ίͷཧऀ༻ϩʔϧ #secjaws ཧऀݖݶͷઃܭ 㱺εΠονલΛࢀরݖݶͷΈʹ͢Δͱ͍͏ઃܭΑ͋͘Δ
ϩάΠϯ࣌ࢀরݖݶͷΈ ࢀরݖݶͱ4XJUDI3PMFΛڐՄ͢ΔݖݶΛ༩ εΠονϩʔϧ͢Δ͜ͱʹΑΓཧऀݖݶ͕ར༻Մೳ ஈΫογϣϯΛஔ͘͜ͱʹΑΓɺΦϖϛεͷࢭޮՌΛૂ͏ #secjaws ཧऀݖݶͷ҆શઃܭ
৬ػೳͷ"84ཧϙϦγʔͷ׆༻ ಛఆͷ༻్͚ͷݖݶηοτʢ৬ػೳͷ"84ཧϙϦγʔʣ FDͷݖݶɺΠϯελϯεͷૢ࡞ͱωοτϫʔΫૢ࡞ؚ͕·Ε͍ͯΔͷͰ ҙ͕ඞཁ #secjaws ωοτϫʔΫཧऀͷઃܭ
౾ࣝT
1SJODJQBMΛߜΒͳ͍ͱɺશϢʔβʔ͕εΠονͰ͖Δ σϑΥϧτςϯϓϨʔτͷઃఆɺΞΧϯτͷϢʔβʔʹରͯ͠ ߜΔඞཁ͕͋ΓɺϢʔβʔࢦఆͰߜΔʢάϧʔϓͰ͖ͳ͍ʣ ผղͱͯ͠"TTVNF3PMFͷݖݶΛͯ͢ണୣͷ͏͑ͰɺඞཁͳϢʔβʔʹ ༩͢Δͱ͍͏ํ๏͋Δ #secjaws εΠονϩʔϧͷҙ \ 7FSTJPO
4UBUFNFOU< \ &⒎FDU"MMPX 1SJODJQBM\ "84BSOBXTJBN SPPU ^ "DUJPOTUT"TTVNF3PMF $POEJUJPO\^ ^ > ^ \ 7FSTJPO 4UBUFNFOU< \ &⒎FDU"MMPX 1SJODJQBM\ "84BSOBXTJBNVTFSUFTU VTFS ^ "DUJPOTUT"TTVNF3PMF $POEJUJPO\^ ^ > ^
ϕετϓϥΫςΟε͚ͩͲɻɻɻ ઃܭ͕ݻ·্ͬͨͰɺ*".ʹؔ͢Δߴͳ͕ࣝඞཁ ϓϩάϥϜతͳར༻ʹ͍͍ͯΔ͕ɺ"84ίϯιʔϧ͔Βͷར༻͍ ͍ͯͳ͍ ৽نαʔϏεͷՃʹऑ͍ ͦͦ"ENJOݖݶΛ͍࣋ͬͯΔਓ͔͠࠷খݖݶΛٻͰ͖ͳ͍ ઃܭɾӡ༻͕େ͖͍ ݱ࣮తͳӡ༻ ఆܕతͳ࡞ۀʢ-BNCEBɾόονʣͷΈ࠷খݖݶΛ༩ ਓؒܥͷ࡞ۀɺϒϥοΫϦετͷ׆༻ࢹʹ
ηΩϡϦςΟࣄނΛى͜͞ͳ͍ͱ͍͏؍Ͱ࠷খݖݶΛ୳ٻ #secjaws ࠷খݖݶͷδϨϯϚ
#secjaws ͜Ε͚͓͚ͩͬͯ "84ΞΧϯτʹ࠷ݶɺԼهͷઃఆΛ͢Δ ϧʔτΞΧϯτͷ.'"ઃఆ ཧऀ༻ͷ*".άϧʔϓͱ*".Ϣʔβʔͷ࡞ *".ύεϫʔυϙϦγʔͷద༻ $MPVE5SBJMͱ$POpH (VBSE%VUZͷ༗ޮԽ 5SVTUFE"EWJTPUSͷ&ϝʔϧ௨ઃఆ $PTU6TBHF3FQPSUͷग़ྗ
*".ϢʔβʔͷٻใͷΞΫηεڐՄ ࢧ͍௨՟Λຊԁʹมߋ ίετλάͷઃఆ ସ࿈བྷઌͷઃఆ
#secjaws ͜ΕͬͪΌμϝ *".Ͱ͜ΕΛͬͪΌμϝ ϧʔτϢʔβʔͰӡ༻ ར༻ऀશһɺ"ENJOݖݶ ཧऀҎ֎ʹ*".ݖݶΛ༩ ڞ༻ͷ*".Ϣʔβʔͷ࡞ ෳͷ$-*ɾϓϩάϥϜ͔Βͷ*".Ϣʔβʔʗϩʔϧͷڞ༻ ιʔείʔυʹΫϨσϯγϟϧʢΞΫηεΩʔɾγʔΫϨοτΞ ΫηεΩʔʣͷຒΊࠐΈ
-BNCEB'VMM"DDFTTͷ༩ ωοτϫʔΫཧऀҎ֎ʹ&$'VMM"DDFTTͷ༩ 4ͷΞΫηείϯτϩʔϧΛ*".͚ͩͰߦ͏ʢόέοτϙϦγʔ ͷซ༻ඞਢʣ
·ͱΊ
ࠓͨ͠ςʔϚ ྨ্ͨ͠ͰݴޠԽ͢ΔͱԿͱͳ͘ղ͔Δ ઃܭ͢Δ্Ͱɺ·ͣσβΠϯύλʔϯΛ࡞Δ ۩ମతͳϙϦγʔͷઃܭྫ *".ͷ౾ࣝ #secjaws
͓·͚ *".ຊʢμϯϩʔυ൛ʣΛ ϓϨθϯτ #secjaws
એ పఈ׆༻(PPHMFΞφϦςΟΫε σδλϧϚʔέςΟϯάΛޭʹ ಋ͘ղੳɾվળͷͨΊͷૢ࡞ΨΠυ IUUQTBN[OUP181M #secjaws