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
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
Step Functions Express ワークフローの使い所 / 20260725jawsug-niigata-sado
kasacchiful
PRO
1
64
Step FunctionsでAIエージェント × 人の承認を試す / 20260705jawsug-hokurikushinkansen-agentcore-hitl-workflow
kasacchiful
PRO
0
84
上越のサメ食文化を訪ねて - 新潟市民の初体験レポ / ssmjp-shark
kasacchiful
PRO
1
82
Rust on AWS でデータ分析 / 20260523iotlt-niigata-rust-on-aws
kasacchiful
PRO
0
42
Step Functionsで始めるサーバーレス入門 〜 つないで動かすAWSサーバーレス
kasacchiful
PRO
0
70
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
130
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
140
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
290
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
PRO
0
1k
Other Decks in Programming
See All in Programming
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
数百円から始めるRuby電子工作
tarosay
0
140
メールのエイリアス機能を履き違えない
isshinfunada
0
230
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
150
5分で問診!Composer セキュリティ健康診断
codmoninc
0
920
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
590
AIが無かった頃の素敵な出会いの話
codmoninc
1
400
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.1k
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
100
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
470
Agile that works and the tools we love
rasmusluckow
331
22k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
210
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
450
Navigating Team Friction
lara
192
16k
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ϩʔϧΛઃఆ͠Α͏
͓ΘΓ