Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS IAM 〜 設計上の戦略と戦術 / 20191109-kof-iam

opelab
November 08, 2019

AWS IAM 〜 設計上の戦略と戦術 / 20191109-kof-iam

関西オープンフォーラム内で開催された"jus研究会大阪大会「AWS IAM - 設計上の戦略と戦術」"での発表資料です。

https://k-of.jp/backend/session/1299

運用設計ラボおよびJAWS-UG CLI専門支部での実践を例に、AWS IAM設計上の戦略と戦術について整理してみました。
(現在も、試行錯誤の途中であり、今後内容が改訂される可能性があります。)

(運用設計ラボ合同会社 波田野裕一)

opelab

November 08, 2019
Tweet

More Decks by opelab

Other Decks in Technology

Transcript

  1. ͭͷΞΧ΢ϯτγεςϜ • "84ΞΧ΢ϯτ SPPU  • ϝʔϧΞυϨεʹඥ෇͍ͨ਌ΞΧ΢ϯτ *%  •

    ॳظઃఆ͕׬ྃͨ͠Β෧ҹͯ͠ɺղ໿·Ͱ࢖͏ػձ͸΄ͱΜͲແ͍ɻ • *". • "84ͷΞΫηε؅ཧγεςϜɻ ೔ৗ࢖͍  • "84ΞΧ΢ϯτͷԼҐʹάϧʔϓϢʔβϩʔϧͳͲΛ࡞੒ɻ • BSOBXTJBNHSPVQBENJO • BSOBXTJBNVTFSUBSP • BSOBXTJBNSPMFBQQ 1. IAMΛ੍͢Δऀ͸AWSΛ੍͢
  2. "84ͷྺ࢙ͱ*". • ੲ͸"84ΞΧ΢ϯτ SPPUݖݶ ͰશͯͷϦιʔε Λૢ࡞͍ͯͨ͠ɻ • શೳͷਆͷ࣌୅ɻ Operation Lab

    ӡ༻ઃܭϥϘ 7 • աେͳݖݶʹΑΔฐ֐Λආ͚ΔͨΊʹ*".͸ੜ· Εͨɻ • ద੾ͳݖݶͷ෼཭͕໨త • ݱߦͷόʔδϣϯ͸೥݄ɻ ϙϦγʔόʔδϣϯ 1. IAMΛ੍͢Δऀ͸AWSΛ੍͢
  3. *".ͱ͸ Operation Lab ӡ༻ઃܭϥϘ 8 • աେͳݖݶʹΑΔฐ֐Λආ͚ΔͨΊʹ*".͸ੜ· Εͨɻ • ద੾ͳݖݶͷ෼཭͕໨త

    • ݱߦͷόʔδϣϯ͸೥݄ɻ ϙϦγʔόʔδϣϯ *".͸ݖݶΛ੍໿͢ΔͨΊʹੜ·Εͨπʔϧ *EFOUJUZBOE"DDFTT.BOBHFNFOU 1. IAMΛ੍͢Δऀ͸AWSΛ੍͢
  4. Operation Lab ӡ༻ઃܭϥϘ "84ͷར༻ 14 "84 Ϧιʔε ར༻ऀ "84 Ϧιʔε

    ֎෦ Ϧιʔε ݺͼग़͢ଆ ݺͼग़͞ΕΔଆ "1* 2. AWS IAMͷجૅ஌ࣝ
  5. Operation Lab ӡ༻ઃܭϥϘ "84ͷར༻ *".ͷҐஔ෇͚ 15 "84 Ϧιʔε ར༻ऀ "84

    Ϧιʔε ֎෦ Ϧιʔε "84 *". ݺͼग़͞ΕΔଆ ݺͼग़͢ଆ 2. AWS IAMͷجૅ஌ࣝ ୭ʹ ԿΛڐՄېࢭ
  6. Operation Lab ӡ༻ઃܭϥϘ *".άϧʔϓ *".ͷجຊཁૉ 16 "84 Ϧιʔε ར༻ऀ "84

    Ϧιʔε ֎෦ Ϧιʔε *".Ϣʔβ *".ϩʔϧ *". ϙϦγ ୭ʹ ԿΛڐՄېࢭ ݺͼग़͢ଆ ݺͼग़͞ΕΔଆ 2. AWS IAMͷجૅ஌ࣝ
  7. Operation Lab ӡ༻ઃܭϥϘ *".άϧʔϓ *".ͷجຊཁૉ ਓ΍֎෦Ϧιʔεʹରͯ͠ 17 "84 Ϧιʔε ར༻ऀ

    ֎෦ Ϧιʔε *".Ϣʔβ *". ϙϦγ ୭ʹ ԿΛڐՄېࢭ Ϣʔβ΍άϧʔϓ͸ ਓ ֎෦Ϧιʔε ͱ"84ϦιʔεΛܨ͙΋ͷ ݺͼग़͞ΕΔଆ ݺͼग़͢ଆ 2. AWS IAMͷجૅ஌ࣝ
  8. Operation Lab ӡ༻ઃܭϥϘ *".ͷجຊཁૉ "84Ϧιʔεʹରͯ͠ 18 "84 Ϧιʔε "84 Ϧιʔε

    *".ϩʔϧ *". ϙϦγ ୭ʹ ԿΛڐՄېࢭ ϩʔϧ͸ "84Ϧιʔεಉ࢜Λܨ͙΋ͷ ݺͼग़͢ଆ ݺͼग़͞ΕΔଆ 2. AWS IAMͷجૅ஌ࣝ
  9. Operation Lab ӡ༻ઃܭϥϘ *".άϧʔϓ Ϣʔβάϧʔϓͱϩʔϧͷೝূ্ͷҧ͍ 19 "84 Ϧιʔε ར༻ऀ "84

    Ϧιʔε ֎෦ Ϧιʔε *".Ϣʔβ *".ϩʔϧ *". ϙϦγ ୭ʹ ԿΛڐՄېࢭ ݺͼग़͢ଆ ݺͼग़͞ΕΔଆ ೝূ৘ใ ͕ඞཁ ೝূ৘ใ ͕ෆཁ ࣗಈॲཧ 2. AWS IAMͷجૅ஌ࣝ
  10. Operation Lab ӡ༻ઃܭϥϘ ͭͷೝূ৘ใ 20 ར༻ऀ ֎෦ Ϧιʔε .'"ʹΑΔอޢ͕Մೳ ೝূ৘ใ

    ͕ඞཁ ύεϫʔυ ΫϨσϯγϟϧ "1*ར༻ $-*4%, 8FCϚωδϝϯτίϯιʔϧ 2. AWS IAMͷجૅ஌ࣝ
  11. *".ϙϦγʔͷ&⒎FDU ༏ઌॱҐ Operation Lab ӡ༻ઃܭϥϘ 22 2. AWS IAMͷجૅ஌ࣝ •

    ༏ઌॱҐ໌ࣔతͳېࢭ ࠷ڧ  • ༏ઌॱҐ໌ࣔతͳڐՄ • ༏ઌॱҐ҉໧ͷڋ൱ σϑΥϧτ஋ &⒎FDU "DUJPO 3FTPVSDF ಉҰͷΞΫγϣϯ΍Ϧιʔεʹରͯ͠ɺڐՄͱڋ൱͕ॏෳ͢Δ৔߹ ҎԼͷ༏ઌॱҐͰධՁ͞ΕΔɻ
  12. ઓུʹ͓͚Δͭͷ؍఺ • ๷ޚઓུ • ͍͔ʹΫϨσϯγϟϧΛൈ͔Εͯͳ͍Α͏ʹ͢Δ͔ɻ • ݖݶઓུ • ͍͔ʹΦϖϛε͕ى͖ΔϦεΫΛݮΒ͔͢ɻ •

    ΋͠ΫϨσϯγϟϧΛൈ͔Εͯ΋ඃ֐Λখ͘͢͞Δ͔ɻ Operation Lab ӡ༻ઃܭϥϘ 24 3. IAMઃܭ্ͷઓུ
  13. Operation Lab ӡ༻ઃܭϥϘ ๷ޚઓུ͜ΕΒΛͳΔ΂͘࢖Θͳ͍ 27 ར༻ऀ ֎෦ Ϧιʔε .'"ʹΑΔอޢ͕Մೳ ೝূ৘ใ

    ͕ඞཁ ύεϫʔυ ΫϨσϯγϟϧ "1*ར༻ $-*4%, 8FCϚωδϝϯτίϯιʔϧ 3.1. IAMઃܭ্ͷ๷ޚઓུ
  14. Operation Lab ӡ༻ઃܭϥϘ ๷ޚઓུ*".ϩʔϧΛͳΔ΂͘࢖͏ 28 "84 Ϧιʔε "84 Ϧιʔε *".ϩʔϧ

    *". ϙϦγ ୭ʹ ԿΛڐՄېࢭ ՄೳͳݶΓ*".ϩʔϧΛ࢖͏ ݺͼग़͢ଆ ݺͼग़͞ΕΔଆ ೝূ৘ใ ͕ෆཁ ࣗಈॲཧ 3.1. IAMઃܭ্ͷ๷ޚઓུ
  15. Operation Lab ӡ༻ઃܭϥϘ ๷ޚઓུ*".ϩʔϧΛͳΔ΂͘࢖͏ 29 "84 Ϧιʔε &$ *".ϩʔϧ *".

    ϙϦγ ୭ʹ ԿΛڐՄېࢭ &$΍$MPVEΛ࡞ۀ؀ڥͱ͢Δ ݺͼग़͞ΕΔଆ ೝূ৘ใ ͕ෆཁ ࣗಈॲཧ 3.1. IAMઃܭ্ͷ๷ޚઓུ $MPVE
  16. ྫ $MPVEΛར༻͢Δ • $MPVE͸8FC*%&؀ڥɻ • ࣮ࡍʹ͸8FCλʔϛφϧ؀ڥͱͯ͠ར༻Ͱ͖Δɻ • ݩʑ͸04ґଘഉআ͕໨తɻ ϒϥ΢βར༻ 

    • .BDͷݖݶ΍ɺ8JOEPXT༝དྷͷτϥϒϧ͸ׂͱଟ͍ɻ • $MPVE͔Βىಈ͢Δ&$ʹϩʔϧΛ෇༩ • $MPVEͷ5FNQPSBSZ$SFEFOUJBMT͕༗ޮͩͱ*".·ΘΓ੍͕ ໿͞ΕΔ 454Ͱఆظߋ৽͞ΕΔͷͰ΍΍ηΩϡΞ ɻ Operation Lab ӡ༻ઃܭϥϘ 30 ࡞ۀ؀ڥΛ$MPVE؀ڥΛར༻͢Δ͜ͱͰ࣮ݱ 3.1. IAMઃܭ্ͷ๷ޚઓུ
  17. $MPVE؀ڥͩͱͳͥηΩϡΞ͔ • $MPVE͸"84ͷϚωʔδυαʔϏεɻ • Ϛωδϝϯτίϯιʔϧͱ͸44)઀ଓɻ άϩʔόϧܦ༝  • *%&ͳͷͰɺඇར༻࣌͸ఀࢭ͢Δɻ •

    $MPVE؅ཧԼͷ৔߹ɺ෼ૢ࡞͕ͳ͍ͱTUPQ EFGBVMU  • ݖݶ෇༩͸ϩʔϧͰͰ͖ΔͷͰDSFEFOUJBMTෆཁ • $MPVEͷ5FNQPSBSZ$SFEFOUJBMT΋ແޮʹͰ͖Δɻ Operation Lab ӡ༻ઃܭϥϘ 31 3.1. IAMઃܭ্ͷ๷ޚઓུ
  18. Operation Lab ӡ༻ઃܭϥϘ ๷ޚઓུϢʔβ͸࠷௿ݶ෼ׂ 32 ར༻ऀ ֎෦ Ϧιʔε ೝূ৘ใ ͕ඞཁ

    ύεϫʔυ ΫϨσϯγϟϧ "1*ར༻ $-*4%, 8FCϚωδϝϯτίϯιʔϧ 3.1. IAMઃܭ্ͷ๷ޚઓུ • $MPVE5SBJMͰͲͷΫϨσϯγϟϧ͕౪·Ε͔ͨ௥੻Ͱ͖Δɻ • αʔυύʔςΟπʔϧΛ࢖͏࣌ʹಛʹ஫ҙ͢Δɻ ෳ਺ͷ৔ॴͰಉҰϢʔβΛ࢖Θͳ͍ɻϢʔβΛ෼͚Δɻ
  19. ࠷খݖݶͷݪଇΛ࣮ݱ͢Δ  ϙϦγʔ͸࢖͍ࣺͯ ϥΠϑαΠΫϧϚωδϝϯτ  • όʔδϣϯߋ৽ͯ͠࢖͏ΑΓ͸ɺ༻్ʹ߹Θͤͯ࡞੒ɺഇغ͢Δɻ • Ϧιʔε΍άϧʔϓͷϥΠϑαΠΫϧʹ߹Θͤͯ࡞੒ɺഁغ͢Δɻ 

    ਓͱϦιʔεͷ྆໘͔ΒϙϦγʔΛߟ͑Δɻ • ࢖͏ଆ͔Βߟ͕͕͑ͪͩɺ࢖ΘΕΔଆ͔Β΋ߟ͑Δɻ  খ͞ͳϙϦγΛ૊Έ߹Θͤͯద༻͢Δɻ • *".ϙϦγ͸ͭͷର৅ʹରͯ͠ϙϦγΛద༻Ͱ͖Δɻ Operation Lab ӡ༻ઃܭϥϘ 36 3.2. IAMઃܭ্ͷݖݶઓུ
  20. ઓज़࠷খݖݶͷ࣮ݱ 8)Ͱߟ͑Δ • ୭ ར༻ऀ ʹɺͲ͜ Ϧιʔε Ͱɺͳͥ ҙਤ ɺ

    ԿΛ͍ͤͨ͞ ΞΫγϣϯ ͷ͔ɺΛ໌֬ʹ͢Δɻ • ΞΫγϣϯͱϦιʔεͷ͍ͣΕ΋  ΞελϦεΫ ʹ͠ͳ͍ ͜ͱ͕େࣄɻ • ࣌ؒଳ ͍ͭ ͰϙϦγʔͷΞλονσλον΋ ݕ౼͢Δɻ Operation Lab ӡ༻ઃܭϥϘ 42 গͳ͘ͱ΋ຊ൪؀ڥ͸͖ͬͪΓઃܭ͢Δɻ 4.2. ࠷খݖݶͷ࣮ݱઓज़
  21. ࠷খݖݶͷ࣮ફྫ • "84ϚωδυϙϦγ ͳΔ΂͘ ࢖Θͳ͍ • Ϧιʔε͕ ͳͷͰɺβϧա͗Δɻ • ҰൠతʹϙϦγΛʮૢ࡞͢ΔଆʯΛى఺ʹܾΊ͕ͪ

    • Ͳ͏ͯ͠΋ݖݶΛ޿ׂ͘Γ౰͕ͯͪɻ • +"846($-*Ͱ͸ʮૢ࡞͞ΕΔଆʯى఺Ͱ࡞੒ • Ϧιʔεͷ࡞੒ͱಉ࣌ʹɺ3FBE0OMZϙϦγͱ3FBE8SJUFϙϦγ Λ࡞੒͢Δɻ Operation Lab ӡ༻ઃܭϥϘ 43 ϙϦγΛϦιʔευϦϒϯͰ࡞੒ ՄೳͳൣғͰɺ࡞ۀલʹݖݶ௥Ճɺ׬ྃޙʹݖݶണୣ 4.2. ࠷খݖݶͷ࣮ݱઓज़
  22. ϦιʔευϦϒϯͰϙϦγ࡞੒ͷϝϦοτ • $-*Λ೔ৗར༻͍ͯ͠Ε͹ΞΫγϣϯͷ೺Ѳ͸༰қ • αϒίϚϯυ"1*ΞΫγϣϯ • *".ͷϙϦγ্ݶҎ಺ͳΒ͹ӡ༻΋༰қ • Λ௒͑ͨͱ͖͸Ͳ͏͢Δ͔ɺ͸೰·͍͠ɻ •

    ࡞ۀલݖݶ௥Ճɺ׬ྃޙݖݶണୣΛ࣮ફ͢Ε͹গ͠؇࿨Ͱ͖Δɻ • ετΞܕͷαʔϏε͸ಛʹ࣮ફ͕༰қ • 4όέοτɺ$MPVE8BUDI-PHTϩάάϧʔϓɺ$PEF$PNNJUϦϙδτϦͳͲ Operation Lab ӡ༻ઃܭϥϘ 46 4.2. ࠷খݖݶͷ࣮ݱઓज़