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
AWSを始めるにあたってのAWS IAM基礎 / jawsug-niigata-8
Search
kasacchiful
PRO
May 09, 2020
Programming
420
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSを始めるにあたってのAWS IAM基礎 / jawsug-niigata-8
JAWS-UG新潟#8で発表した資料です。
kasacchiful
PRO
May 09, 2020
More Decks by kasacchiful
See All by kasacchiful
俺流 AWS Step Functions 構築の流儀 / 20261005shinagawakai-aws-step-functions
kasacchiful
PRO
1
86
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
600
Step Functions Express ワークフローの使い所 / 20260725jawsug-niigata-sado
kasacchiful
PRO
1
140
Step FunctionsでAIエージェント × 人の承認を試す / 20260705jawsug-hokurikushinkansen-agentcore-hitl-workflow
kasacchiful
PRO
0
130
上越のサメ食文化を訪ねて - 新潟市民の初体験レポ / ssmjp-shark
kasacchiful
PRO
1
89
Rust on AWS でデータ分析 / 20260523iotlt-niigata-rust-on-aws
kasacchiful
PRO
0
71
Step Functionsで始めるサーバーレス入門 〜 つないで動かすAWSサーバーレス
kasacchiful
PRO
0
80
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
150
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
210
Other Decks in Programming
See All in Programming
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Heart of Swift Concurrency
koher
0
1.2k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
Java 27新機能 / Java 27 new features
kishida
2
200
ジョジョの世界をXRで再現する
mofurune
0
130
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
630
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
4k
KATA
mclloyd
PRO
35
16k
Utilizing Notion as your number one productivity tool
mfonobong
4
610
Designing for Performance
lara
612
70k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Leo the Paperboy
mayatellez
10
2.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
The Mindset for Success: Future Career Progression
greggifford
PRO
0
530
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
RailsConf 2023
tenderlove
30
1.6k
Transcript
AWSΛ࢝ΊΔʹ͋ͨͬͯͷ AWS IAMجૅ 2020-05-09 JAWS-UG৽ׁ#8 @kasacchiful
ࣗݾհ • ּݪ (@kasacchiful) • ৽ׁࢢࡏॅͷιϑτΣΞΤϯδχΞ • ͖ͳݴޠ: Ruby
• ݱࡏΑ͘৮͍ͬͯΔAWSαʔϏε: WorkSpaces / Amplify
༰ • IAMͱԿ͔Λͬ͘͟Γઆ໌ • IAMϢʔβʔ / άϧʔϓ / ϙϦγʔ /
ϩʔϧ • ·ͣ͜Ε͚͓͖͍ͩͬͯͨ͜ͱ5ͭ
JAWS-UG৽ׁͷϋϯζΦϯͰ… • IAMϢʔβ࡞ͯ͠AdministratorAccessϙϦγʔΛIAM άϧʔϓʹΞλον͍ͯ͠ΔͷͰɺIAM͔ͳΓ৮͍ͬͯΔ IUUQTHJUIVCDPNLBTBDDIJGVMKBXTVHOJJHBUBCMPCNBTUFS@SFHJTUSBUJPONE
IAM is Կʁ
AWS Identity and Access Management (IAM) • AWSͷૢ࡞ΛΑΓηΩϡΞʹ͢ΔͨΊͷ Έ •
ೝূɾೝՄ • AWSΛૢ࡞͢ΔͨΊͷϢʔβʔʗάϧʔϓʗϩʔϧͷ࡞ • Ϣʔβʔຖͷೝূใͷઃఆ • Ϣʔβʔʗάϧʔϓʗϩʔϧʹର࣮ͯ͠ߦͰ͖Δૢ࡞Λઃఆ
IAMΛ͏ʹ • AWSϚωδϝϯτίϯιʔϧ͔Βૢ࡞͢Δ͜ ͱ͕ଟ͍ • CLISDK͔ΒΞΫηεՄೳ
IAMϢʔβʔʗάϧʔϓʗϙ Ϧγʔ
IAMϢʔβʔʗάϧʔϓʗϙϦγʔ • IAMϢʔβʔ: Ϣʔβʔͷ1୯Ґ • IAMάϧʔϓ: IAMϢʔβʔΛ·ͱΊͨͷ • IAMϙϦγʔ: ݖݶઃఆ
ରԠؔ *".Ϣʔβ " *".Ϣʔβ # *".Ϣʔβ $
ରԠؔ *".Ϣʔβ " *".Ϣʔβ # *".Ϣʔβ $ *".άϧʔϓ ཧऀ *".άϧʔϓ
։ൃऀ
ରԠؔ *".Ϣʔβ " *".Ϣʔβ # *".Ϣʔβ $ *".άϧʔϓ ཧऀ *".άϧʔϓ
։ൃऀ ϙϦ γʔ ϙϦ γʔ
ରԠؔ *".Ϣʔβ " *".Ϣʔβ # *".Ϣʔβ $ *".άϧʔϓ ཧऀ *".άϧʔϓ
։ൃऀ ϙϦ γʔ ϙϦ γʔ ϙϦ γʔ
ରԠؔ *".Ϣʔβ " *".Ϣʔβ # *".Ϣʔβ $ *".άϧʔϓ ཧऀ *".άϧʔϓ
։ൃऀ ϙϦ γʔ ϙϦ γʔ ϙϦ γʔ "84ΞΧϯτ
AWSΞΧϯτ (ϧʔτϢʔβʔ) جຊ༻͠ͳ͍ • AWSΞΧϯτͳΜͰͰ͖Δ͕Ώ͑ʹɺ ࿙Ӯͨ͠߹ɺऔΓฦ͠ͷ͔ͭͳ͍ࣄଶʹ • جຊతʹతʹԠͯ͡IAMϢʔβʔϩʔϧ Λ࡞ͯ͠ΞΫηε͢Δ͜ͱͰɺ֤ʑͷΞΫ ηεཧɾঝೝɾࠪ
(CloudTrail) ͢Δ͜ͱ ͕Մೳʹ
IAMϢʔβ࡞࣌ͷ AWSΞΫηεͷछྨͷબ "84$-*"844%,ɺ ϓϩάϥϜ͔Β"84ʹΞΫηε͢Δࡍʹඞཁ "84Ϛωδϝϯτίϯιʔϧʹ ΞΫηε͢Δࡍʹඞཁ
git-secretsͰΞΫηεΩʔ࿙Ӯ Λ͙ IUUQTHJUIVCDPNBXTMBCTHJUTFDSFUT
IAMϙϦγʔ • ͲͷAWSαʔϏεʢϦιʔεʣʹରͯ͠ • ͲͷΑ͏ͳΞΫγϣϯΛ • ڐՄ or ڋ൱ ͢Δ
ΛJSONܗࣜͰهड़ͨ͠ͷ
IAMϙϦγʔ • ͲͷAWSαʔϏεʢϦιʔεʣʹରͯ͠ • ͲͷΑ͏ͳΞΫγϣϯΛ • ڐՄ or ڋ൱ ͢Δ
ΛJSONܗࣜͰهड़ͨ͠ͷ 3FTPVSDF "DUJPO &⒎FDU
IAMϙϦγʔαϯϓϧ { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:*",
"Resource": "*", "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"} } } } IUUQTEPDTBXTBNB[PODPNKB@KQ*".MBUFTU6TFS(VJEFSFGFSFODF@QPMJDJFT@FYBNQMFT@BXTEBUFTIUNM ಛఆͷͰΞΫηεΛڐՄ͢Δ
ϙϦγʔͷධՁ݁Ռ • Կ໌ࣔ͞Ε͍ͯͳ͚ΕɺσϑΥϧτͰ ʮڋ൱ʯ • ʮڐՄʯ͕͋ΕɺʮڐՄʯ • ໌ࣔతʹʮڋ൱ʯ͕͋Εɺͨͱ͑ʮڐՄʯ ͕͋Ζ͏ͱɺʮڋ൱ʯ
ϙϦγʔͷධՁ݁Ռ ڐՄͷεςʔτϝϯτهड़͕ ͋Δ ͳ͍ ڋ൱ͷεςʔ τϝϯτهड़ ͕ ͋Δ ڋ൱ ڋ൱
ͳ͍ ڐՄ ڋ൱ ʢσϑΥϧτʣ
IAMϙϦγʔͷछྨ • AWSཧϙϦγʔ • Α͘͏ݖݶઃఆΛAWS͕༻ҙ͍ͯ͠ΔϙϦγʔ • ΧελϚʔཧϙϦγʔ • զʑ͕ࣗ࡞ͨ͠ϙϦγʔ •
IAMϢʔβɺάϧʔϓɺϩʔϧʹΞλονͰ͖Δ • ΠϯϥΠϯϙϦγʔ • IAMϢʔβɺάϧʔϓɺϩʔϧʹॻ͖ࠐΜͩϙϦγʔ • ଞͷIAMϢʔβͳͲʹΞλονͰ͖ͳ͍͕ɺ1ର1ͷద༻ʹศར
IAMϙϦγʔͷछྨ • AWSཧϙϦγʔ • Α͘͏ݖݶઃఆΛAWS͕༻ҙ͍ͯ͠ΔϙϦγʔ • ΧελϚʔཧϙϦγʔ • զʑ͕ࣗ࡞ͨ͠ϙϦγʔ •
IAMϢʔβɺάϧʔϓɺϩʔϧʹΞλονͰ͖Δ • ΠϯϥΠϯϙϦγʔ • IAMϢʔβɺάϧʔϓɺϩʔϧʹॻ͖ࠐΜͩϙϦγʔ • ଞͷIAMϢʔβͳͲʹΞλονͰ͖ͳ͍͕ɺ1ର1ͷద༻ʹศར ͡Ίɺ"84ཧϙϦγʔ Λ͏·ͬͯ͘ઃఆͯ͠ΈΑ͏ ׳Ε͖ͯͨΒɺಠࣗʹϙϦγʔ Λ࡞ͯ͠ઃఆͯ͠ΈΑ͏
IAM Policy Generator *".1PMJDZΛ બ IUUQTBXTQPMJDZHFOTBNB[POBXTDPNQPMJDZHFOIUNM
IAMϩʔϧ
IAMϩʔϧ • ୈ3ऀʹʮݖݶΛҕৡʯ͢ΔͨΊʹ༻ • AWSϦιʔεIAMϢʔβʹϩʔϧΛ௨ͯ͠ݖݶΛ༩Ͱ ͖Δ • Α͘ΘΕΔྫ: • EC2ʹS3ΞΫηεՄೳͳIAMϩʔϧΛΞλον
• LambdaʹS3ΞΫηεՄೳͳIAMϩʔϧΛΞλον
JAWS-UG৽ׁͷϋϯζΦϯͰ… • EC2LambdaͷϋϯζΦϯͰIAMϩʔϧΛ༻ͯ͠ݖݶ Λ༩͍ͯ͠Δ IUUQTHJUIVCDPNLBTBDDIJGVMKBXTVHOJJHBUBCMPCNBTUFS@FD@BWBJMBCJMJUZNE IUUQKBXTVHOJJHBUBIBOETPOTXFCTJUFBQOPSUIFBTUBNB[POBXTDPN@MBNCEB@T@IBOETPOIUNM
Կ͕͏Ε͍͠ͷ͔ • ΞΫηεΩʔΛऔಘ͠ͳͯ͘ࡁΉͷͰɺηΩϡΞʹΞΫη εͰ͖ΔΑ͏ʹͳΔɻ IUUQTHJUIVCDPNLBTBDDIJGVMKBXTVHOJJHBUBCMPCNBTUFS@FD@BWBJMBCJMJUZNE IUUQKBXTVHOJJHBUBIBOETPOTXFCTJUFBQOPSUIFBTUBNB[POBXTDPN@MBNCEB@T@IBOETPOIUNM
ΫϩεΞΧϯτΞΫηε • ผͷAWSΞΧϯτʹ͋ΔϦιʔεΞΫη εΛҕ͢Δํ๏ͰɺIAMϩʔϧΛ༻͢Δ IUUQTEPDTBXTBNB[PODPNKB@KQ*".MBUFTU6TFS(VJEFUVUPSJBM@DSPTTBDDPVOUXJUISPMFTIUNM
·ͣ͜Ε͚͓͖ͩͬͯͨ ͍͜ͱ5ͭ
·ͣ͜Ε͚͓͖͍ͩͬͯͨ ͜ͱ5ͭ • IAMͷμογϡϘʔυʹܝࡌ͞Ε͍ͯΔ5ͭͷ߲Λશͯྃʹ͠ ͓͖͍ͯͨ • ͓·͚: IAMͷμογϡϘʔυʹܝࡌ͞Ε͍ͯΔIAMϢʔβʔͷα ΠϯΠϯϦϯΫΛΧελϚΠζ͓͖͍ͯͨ͠
ϧʔτΞΧϯτͷMFA༗ޮԽ • AWSΞΧϯτʢϧʔτΞΧϯτʣʹMFA ʢଟཁૉೝূʣΛઃఆ͓ͯ͜͠͏ • Google AuthenticatorɺAuthyͷԾMFA ΛઃఆͰ͖ΔΞϓϦΛ༻͢ΔͱศརͰ͢ɻ
ݸʑͷIAMϢʔβʔͷ࡞ & άϧʔϓΛ༻ͨ͠ΞΫηεڐՄͷׂΓͯ • IAMϢʔβ࡞ͯ͠ɺIAMάϧʔϓͬͯIAM ϙϦγʔΛׂΓͯ·͠ΐ͏
IAMύεϫʔυϙϦγʔͷద༻ • ύεϫʔυϙϦγʔΛઃఆ͠Α͏
ΞΫηεΩʔͷϩʔςʔγϣϯ • ϓϩάϥϜͰ༻͢ΔΞΫηεΩʔগͳͯ͘1ճมߋ͠· ͠ΐ͏ • ະ༻ͷΞΫηεΩʔআ͠·͠ΐ͏
͓·͚: IAMϢʔβʔͷαΠϯ ΠϯϦϯΫͷΧελϚΠζ • σϑΥϧτʮAWSΞΧϯτIDʯ͕ઃఆ͞Ε͍ͯΔ • ΧελϚΠζ͓ͯ͘͠ͱɺϚωδϝϯτίϯιʔϧͷαΠϯΠϯ ʹͯɺAWSΞΧϯταΠϯΠϯը໘ͱIAMϢʔβʔαΠϯΠϯ ը໘ΛΓସ͑͘͢ͳΔͣ ΧελϚΠζͨ͠จࣈྻ
ʢΞΧϯτΤΠϦΞεʣ
·ͱΊ
·ͱΊ • IAMɺೝূɾೝՄΛ࢘ΔେࣄͳαʔϏε • AWSΞΧϯτͰͳ͘ɺIAMϢʔβͰૢ࡞͠Α͏ • ·ͣηΩϡϦςΟεςʔλε5߲શ͓ͯྃͯ͜͠͏ • IAMαΠϯΠϯϦϯΫͷΧελϚΠζ͓ͯ͘͠ͱศར •
IAMϙϦγʔͰඞཁ࠷খݶͷݖݶΛઃఆͰ͖Εɺॳ৺ऀ͔Βதڃऀ Ұา౿Έग़ͤΔ • αʔϏεؒ࿈ܞʹIAMϩʔϧΛઃఆ͠Α͏
͓ΘΓ