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.5k
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
17
5.6k
パフォーマンスとコスト制約から考えるアーキテクチャ設計(JAWSUG東京ランチLT会#4)
takuros
2
1.3k
Storage-JAWS第0回 昔話で振り返るAWSの歴史 ~ストレージ編~
takuros
1
3.7k
エンジニアとしての自分とマネージャーとしての自分の狭間で、どう成長していくのか?(AWS DevDay 2023登壇資料)
takuros
32
13k
AWSで作るデータ分析基盤サービスの選定と設計のポイント
takuros
5
6.6k
JAWSUG初心者支部 IAMの「あ」の話
takuros
4
8.6k
Security-JAWS-Speciality-Study
takuros
0
5.6k
CloudFormation StackSets with AWS Organizations
takuros
3
5.9k
AWS認定セキュリティ - 専門知識 AWSのサービスを使って楽してセキュリティ向上!!
takuros
5
5.3k
Other Decks in Technology
See All in Technology
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
490
Tomcatが起動しない!?SecureRandomと乱数デバイスの罠
fujikawa8
1
110
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.4k
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
4
630
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
5.7k
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
490
なぜブラウザで帳票を生成したいのか どのようにブラウザで帳票を生成するのか
yagisanreports
0
150
入社したばかりでもできる、 アクセシビリティ改善の第一歩
unachang113
2
340
持続可能なアクセシビリティ開発
azukiazusa1
6
280
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
610
【M3】攻めのセキュリティの実践!プロアクティブなセキュリティ対策の実践事例
axelmizu
0
170
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
1
130
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
A better future with KSS
kneath
239
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Become a Pro
speakerdeck
PRO
29
5.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Building Applications with DynamoDB
mza
96
6.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
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