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

どこで動いてるの?AWS IAM のコントロールプレーンとデータプレーンに思いを馳せる/iam-background

YukihiroChiba
September 11, 2022

どこで動いてるの?AWS IAM のコントロールプレーンとデータプレーンに思いを馳せる/iam-background

YukihiroChiba

September 11, 2022
Tweet

More Decks by YukihiroChiba

Other Decks in Technology

Transcript

  1.  "84ࣄۀຊ෦ίϯαϧςΟϯά෦ઍ༿޾޺ʢνόϢΩʣ Ͳ͜Ͱಈ͍ͯΔͷʁ "84*".ͷίϯτϩʔϧϓϨʔϯͱ σʔλϓϨʔϯʹࢥ͍Λ஘ͤΔ

  2.  ͋ͳͨ͸͍֮͑ͯΔͩΖ͏͔

  3. SF*OWFOUΩʔϊʔτʹͯ  AWS re:Invent 2021 - Keynote with Dr. Werner

    Vogels https://www.youtube.com/watch?v=8_Xs8Ik0h1w&list=PL2yQDdvlhXf9j fi ZENJYPXX8GYUOzQCuT AWS IAM ͷಇ͖ͷ঺հɺ ɹͦͷதͰίϯτϩʔϧϓϨʔϯͱσʔλϓϨʔϯʹ͍ͭͯݴٴ
  4. SF*OWFOUΩʔϊʔτʹͯ  AWS re:Invent 2021 - Keynote with Dr. Werner

    Vogels
  5. ࠓճͷςʔϚ  •ެ։͞Ε͍ͯΔ৘ใ •ڍಈ͔ΒಡΈऔΕΔ৘ใ •͔ͦ͜Β๲Β·ͤͨໝ૝ ͔Β IAMίϯτϩʔϧϓϨʔϯͱ ɹσʔλϓϨʔϯʹࢥ͍Λ஘ͤΔ

  6. ઌʹ݁࿦  ϓϦϯγύϧ AWSαʔϏε IAM ΤϯυϙΠϯτ σʔλϓϨʔϯ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM

    άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ ͦͷ΄͔ͷϦʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ ೝূɾೝՄͷ࣮ࢪ *".Ϧιʔεͷૢ࡞ ʢྫɿϙϦγʔͷมߋʣ "84αʔϏε΁ͷ ϦΫΤετ ʢྫɿ&$ͷىಈʣ ɾઃఆมߋͷ఻೻ ɾ೿ੜΩʔͷੜ੒
  7. ࣗݾ঺հ  ઍ༿ ޾޺ (νόϢΩ) •2020೥ೖࣾ •޷͖ͳAWSαʔϏεɿIAM •޷͖ͳΞΫγϣϯɿsts:AssumeRole

  8. "HFOEB  •IAMϨδϦΤϯεͷυΩϡϝϯτΛݟΔ •֤ػೳʹࢥ͍Λ஘ͤΔ •IAMίϯτϩʔϧϓϨʔϯʹࢥ͍Λ஘ͤΔ •IAMσʔλϓϨʔϯʹࢥ͍Λ஘ͤΔ •γʔΫϨοτΞΫηεΩʔͷ೿ੜΩʔ •IAMʹؔ͢Δো֐͔Βࢥ͍Λ஘ͤΔ •ίϯτϩʔϧϓϨʔϯͷো֐ •σʔλϓϨʔϯͷো֐

  9. લఏͱͯ͠ඞཁͳ஌ࣝ  •IAMͱ͸Կ͔ •Ϣʔβʔ/ϩʔϧ/ϙϦγʔ •ϦʔδϣϯͱΞϕΠϥϏϦςΟκʔϯʢAZʣͷߟ͑ํ •AWSαʔϏε΁ͷϦΫΤετͷྲྀΕ ҎԼʹ͍ͭͯվΊͯͷઆ໌͸͠·ͤΜɻ

  10. ެ։͞Ε͍ͯΔ৘ใΛूΊΑ͏  AWS IAM ͷϨδϦΤϯεͷ υΩϡϝϯτΛோΊΔ

  11. "84υΩϡϝϯτͰهड़͕௥Ճ͞Εͨ  https://dev.classmethod.jp/articles/aws-iam-resilience/ https://docs.aws.amazon.com/IAM/latest/UserGuide/ disaster-recovery-resiliency.html 2022/5/16ʹIAMͷϨδϦΤϯεʹؔ͢Δهड़͕௥ه͞Εͨ ಺༰Λ֬ೝͨ͠ϒϩάΛॻ͖·ͨ͠

  12. "84υΩϡϝϯτͰهड़͕௥Ճ͞Εͨ  https://docs.aws.amazon.com/IAM/latest/UserGuide/ disaster-recovery-resiliency.html 2022/6/7Ҏ߱ʹ͞Βʹ৘ใ͕௥ه͞Ε͍ͯͨʂ 🤔 ίϯτϩʔϧϓϨʔϯͱ σʔλϓϨʔϯʹؔ͢Δهड़͕ ૿͑ͯΔ……ʂ

  13. ॻ͔Ε͍ͯΔ͜ͱͷ֓ཁ  • ϩʔϧ΍ϙϦγʔͱ͍ͬͨIAMϦιʔε͸ίϯτϩʔϧϓϨʔϯʹอ؅͞Ε͍ͯΔ • IAMϦιʔεͷઃఆมߋϦΫΤετ͸ίϯτϩʔϧϓϨʔϯʹૹ৴͞ΕΔ • ঎༻Ϧʔδϣϯ޲͚ͷίϯτϩʔϧϓϨʔϯ͸όʔδχΞ๺෦Ϧʔδϣϯʹͻͱ ͭͷΈ͋Δ •

    ίϯτϩʔϧϓϨʔϯͰͷઃఆมߋ͸IAMʹΑΓ֤ϦʔδϣϯͷσʔλϓϨʔϯ ʹ఻೻͞ΕΔ • σʔλϓϨʔϯ͸ίϯτϩʔϧϓϨʔϯͷϦʔυϨϓϦΧͷΑ͏ͳ΋ͷͰ͋Δ • ֤Ϧʔδϣϯʹ͓͚ΔAWSαʔϏε΁ͷϦΫΤετ͸౰֘Ϧʔδϣϯͷσʔλϓ ϨʔϯʹΑͬͯೝূɾೝՄ͞ΕΔ • ֤ϦʔδϣϯͷσʔλϓϨʔϯ͸গͳ͘ͱ΋3ͭͷAZʹ෼ࢄ͞Ε͍ͯΔ • ίϯτϩʔϧ/σʔλϓϨʔϯͱ΋ʹܭըతͳμ΢ϯλΠϜ͸θϩ
  14.  ֤ػೳʹࢥ͍Λ஘ͤΔ

  15. ·ͣ͸ίϯτϩʔϧϓϨʔϯ  IAMίϯτϩʔϧϓϨʔϯ

  16. ΧελϚʔ͕ಇ͖͔͚ΒΕΔͷ͸ίϯτϩʔϧϓϨʔϯ  όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ AWS Management

    
 Console ϓϩάϥϜΞΫηε JBNBNB[POBXTDPN •IAMϦιʔεͷ࡞੒ɾઃఆมߋ͸ίϯτϩʔϧϓϨʔϯ΁ͷΞΫηε •ೝূ৘ใΛؚΉIAMϦιʔε͕อ؅͞Ε͍ͯΔ *".Ϧιʔεͷૢ࡞ ʁ
  17. ΧελϚʔ͕ಇ͖͔͚ΒΕΔͷ͸ίϯτϩʔϧϓϨʔϯ  ʢϚωδϝϯτίϯιʔϧܦ༝ͷ৔߹΋ಉ͡άϩʔόϧΤϯυϙΠϯ τʹ౸ୡ͢Δͷ͔͸ෆ໌Ͱ͢ɻɻʣ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ

    AWS Management 
 Console ϓϩάϥϜΞΫηε JBNBNB[POBXTDPN *".Ϧιʔεͷૢ࡞ ʁ
  18. ΧελϚʔ͕ಇ͖͔͚ΒΕΔͷ͸ίϯτϩʔϧϓϨʔϯ  όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ AWS Management

    
 Console ϓϩάϥϜΞΫηε JBNBNB[POBXTDPN όʔδχΞ๺෦ʹͷΈ ͋Δ͜ͱ͕໌ࣔ͞Ε͍ͯΔ ໊લղܾͯ͠Ҿ͚Δ*1ΞυϨεͷ ϩέʔγϣϯΛ֬ೝ͢Δͱ όʔδχΞͷ΋ͷ ʁ
  19. ଓ͍ͯσʔλϓϨʔϯ  IAMσʔλϓϨʔϯ

  20. "84ϦΫΤετͷೝূɾೝՄΛ͢Δͷ͕σʔλϓϨʔϯ  AWS Management 
 Console ϓϩάϥϜΞΫηε •AWSαʔϏε΁ͷϦΫΤετ͸ಉҰϦʔδϣϯͷIAMʹύε͞ΕΔ •IAMΤϯυϙΠϯτΛ௨͡σʔλϓϨʔϯͰೝূɾೝՄ ྫʣFD3VO*OTUBODFT

    Ϧʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ IAM ΤϯυϙΠϯτ Ϧʔδϣφϧ ΤϯυϙΠϯτ FDBQOPSUIFBTUBNB[POBXTDPNͳͲ ʁ
  21. "84ϦΫΤετͷೝূɾೝՄΛ͢Δͷ͕σʔλϓϨʔϯ  AWS Management 
 Console ϓϩάϥϜΞΫηε •σʔλϓϨʔϯ༻ͷIAMΤϯυϙΠϯτ͸ΧελϚʔ͕ ௚઀ΞΫηε͢ΔͨΊͷ΋ͷͰ͸ͳ͍ Ϧʔδϣϯ

    σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ IAM ΤϯυϙΠϯτ ਺ඦສͷϗετʹΑΓ࣮ݱ ඵؒԯͷ"1*ίʔϧ ʢશϦʔδϣϯͷ߹ࢉͰʣ AWS re:Invent 2021 - Keynote with Dr. Werner VogelsͰ ৄ͘͠औΓ্͛ΒΕ͍ͯ·͢ ʁ
  22. ίϯτϩʔϧϓϨʔϯ͔ΒσʔλϓϨʔϯ΁ͷ఻೻  AWS Management 
 Console ϓϩάϥϜΞΫηε Ϧʔδϣϯ σʔλϓϨʔϯ AWS

    IAM ೝূɾೝՄͷ࣮ࢪ IAM ΤϯυϙΠϯτ όʔδχΞ๺෦Ϧʔδϣϯ গͳ͘ͱ΋ͭͷ ";ʹ෼ࢄ ίϯτϩʔϧϓϨʔϯ ઃఆมߋͷ఻೻ ݁Ռ੔߹ੑ ʁ
  23. ೝূϓϩηεʹ͍ͭͯਂງΓ  σʔλϓϨʔϯͰͷ೿ੜΩʔͷੜ੒

  24. γʔΫϨοτΞΫηεΩʔͱ೿ੜΩʔ  •Ϣʔβʔ͔ΒͷϦΫΤετʹ͸ AWS SigV4ؚ͕·ΕΔ •AWS SigV4 ʹ͸γʔΫϨοτΞΫηεΩʔͷ΄͔ɺ೔෇ɾϦʔδϣϯɾαʔϏε ͷ৘ใؚ͕·Ε͍ͯΔ Ϧʔδϣϯ

    σʔλϓϨʔϯ AWS IAM IAM ΤϯυϙΠϯτ όʔδχΞ๺෦Ϧʔδϣϯ ίϯτϩʔϧϓϨʔϯ αʔϏε ΤϯυϙΠϯτ AWS SigV4 ॺ໊෇͖ϦΫΤετ ɾγʔΫϨοτΞΫηεΩʔ ɾ೔෇ ɾϦʔδϣϯ ɾαʔϏε
  25. γʔΫϨοτΞΫηεΩʔͱ೿ੜΩʔ  •γʔΫϨοτΞΫηεΩʔ͸ίϯτϩʔϧϓϨʔϯʹอ؅͞Ε͍ͯΔ •σʔλϓϨʔϯʹ͸γʔΫϨοτΞΫηεΩʔͦͷ΋ͷ͸อ؅͞Εͳ͍ •೔෇ͱϦʔδϣϯͷ৘ใΛؚΉ೿ੜΩʔ͕σʔλϓϨʔϯʹੜ੒͞ΕΔ Ϧʔδϣϯ σʔλϓϨʔϯ AWS IAM IAM

    ΤϯυϙΠϯτ όʔδχΞ๺෦Ϧʔδϣϯ ίϯτϩʔϧϓϨʔϯ αʔϏε ΤϯυϙΠϯτ AWS SigV4 ॺ໊෇͖ϦΫΤετ γʔΫϨοτΞΫηεΩʔ ɾγʔΫϨοτΞΫηεΩʔ ɾ೔෇ ɾϦʔδϣϯ ɾαʔϏε ੜ੒ ೿ੜΩʔ ೔෇ɺϦʔδϣϯͷ৘ใΛؚΉ ݻ༗ͷ೿ੜΩʔ
  26. γʔΫϨοτΞΫηεΩʔͱ೿ੜΩʔ  •αʔϏεΤϯυϙΠϯτΛ௨ͯ͡IAMΤϯυϙΠϯτʹϦΫΤετ͕౸ୡ͢Δͱɺ αʔϏεͷ৘ใΛ௥Ճͨ͠৽ͨͳ೿ੜΩʔ͕ੜ੒͞ΕΔ •Ϣʔβʔɺ೔෇ɺϦʔδϣϯɺαʔϏεͷείʔϓΛߜͬͨ೿ੜΩʔ͕ੜ੒͞Ε IAMΤϯυϙΠϯτͰΩϟογϡ͞ΕΔ Ϧʔδϣϯ σʔλϓϨʔϯ AWS IAM

    IAM ΤϯυϙΠϯτ όʔδχΞ๺෦Ϧʔδϣϯ ίϯτϩʔϧϓϨʔϯ αʔϏε ΤϯυϙΠϯτ AWS SigV4 ॺ໊෇͖ϦΫΤετ γʔΫϨοτΞΫηεΩʔ ɾγʔΫϨοτΞΫηεΩʔ ɾ೔෇ ɾϦʔδϣϯ ɾαʔϏε ੜ੒ ೿ੜΩʔ ϦΫΤετ౸ୡ࣌ɺ αʔϏεͷ৘ใΛ௥Ճͨ͠ ೿ੜΩʔΛੜ੒ ೿ੜΩʔ ੜ੒ Ϣʔβʔɺ೔෇ɺϦʔδϣϯɺ αʔϏεݻ༗ͷΩʔ͕ੜ੒͞Ε Ωϟογϡ͞ΕΔ
  27.  աڈͷো֐͔Βໝ૝Λ๲Β·ͤΔ

  28. શମΠϝʔδͷ͓͞Β͍  ϓϦϯγύϧ AWSαʔϏε IAM ΤϯυϙΠϯτ σʔλϓϨʔϯ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM

    άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ ͦͷ΄͔ͷϦʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ ೝূɾೝՄͷ࣮ࢪ *".Ϧιʔεͷૢ࡞ ʢྫɿϙϦγʔͷมߋʣ "84αʔϏε΁ͷ ϦΫΤετ ʢྫɿ&$ͷىಈʣ ɾઃఆมߋͷ఻೻ ɾ೿ੜΩʔͷੜ੒
  29. ίϯτϩʔϧϓϨʔϯͰͷো֐  2021/8/21 IAM API Τϥʔͱ఻೻஗Ԇ

  30. ো֐ͷ֓ཁ  • 6:44 - 9:12(PDT)ͷؒɺIAM ͷ API ϦΫΤετͷ஗ԆͱΤϥʔ཰্͕ঢͨ͠ •

    6:44 - 10:02ͷؒɺҰ෦Ϧʔδϣϯ΁ͷߋ৽ͷ఻೻͕஗Ԇͨ͠ • ME-SOUTH-1, EU-SOUTH-1, AP-EAST-1, AF-SOUTH-1 • ৽نʹ࡞੒ɾߋ৽ͨ͠IAMϦιʔεͰͷೝূɾೝՄ͕ਖ਼ৗʹߦΘΕͳ͔ͬͨՄೳ ੑ͕͋Δ • طଘͷIAMϦιʔεʹΑΔೝূɾೝՄʹ͸Өڹ͕ͳ͔ͬͨ % curl https://status.aws.amazon.com/data.json | jq '.archive | sort_by(.date) | .[] | select(.service == "iam")' ˛ϔϧεμογϡϘʔυͷཤྺ͔Β֬ೝ͍ͯ͠·͢
  31. ো֐ͷӨڹൣғͷΠϝʔδ  ϓϦϯγύϧ AWSαʔϏε IAM ΤϯυϙΠϯτ σʔλϓϨʔϯ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM

    άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ ͦͷ΄͔ͷϦʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ ೝূɾೝՄͷ࣮ࢪ ো֐ͷൣғʁ *".Ϧιʔεͷૢ࡞ ʢྫɿϙϦγʔͷมߋʣ
  32. ো֐ͷӨڹൣғͷΠϝʔδ  ϓϦϯγύϧ AWSαʔϏε IAM ΤϯυϙΠϯτ σʔλϓϨʔϯ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM

    άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ ͦͷ΄͔ͷϦʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ ೝূɾೝՄͷ࣮ࢪ ো֐ͷൣғʁ *".Ϧιʔεͷૢ࡞ ʢྫɿϙϦγʔͷมߋʣ "84αʔϏε΁ͷ ϦΫΤετ ʢྫɿ&$ͷىಈʣ ίϯτϩʔϧϓϨʔϯͱ ಠཱ͍ͯ͠ΔͨΊӨڹͳ͠ʁ
  33. σʔλϓϨʔϯͰͷো֐  2021/6/18 ετοΫϗϧϜϦʔδϣϯͰͷ IAM ೝূΤϥʔ

  34. ো֐ͷ֓ཁ  • 4:59 (PDT)͔ΒετοΫϗϧϜϦʔδϣϯͰ IAM ೝূ API Τϥʔ͕૿Ճ •

    ౰֘Ϧʔδϣϯͷ͍͔ͭ͘ͷαʔϏε͕ӨڹΛड͚Δ • ෳ਺ͷαʔϏεΧςΰϦͰΠϕϯτ͕ه࿥͞ΕΔ • 5:24 ʹճ෮Λ։࢝ • 5:58 [S3] ϦΫΤετͷ໰୊ղܾ͕Ξφ΢ϯε • 6:02 [EC2] ໰୊ղܾ͕Ξφ΢ϯε • 6:11 [ELB] ໰୊ղܾ͕Ξφ΢ϯε • 6:03 - 6:28 ʹϩʔυόϥϯαʔͷ઀ଓੑͷ໰୊ͱWAFΤϥʔͷ૿Ճ͕ൃੜ % curl https://status.aws.amazon.com/data.json | jq '.archive | sort_by(.date) | .[] | select(.description | contains("IAM"))' ˛ϔϧεμογϡϘʔυͷཤྺ͔Β֬ೝ͍ͯ͠·͢
  35. ো֐ͷӨڹൣғͷΠϝʔδ  ϓϦϯγύϧ AWSαʔϏε IAM ΤϯυϙΠϯτ σʔλϓϨʔϯ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM

    άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ ετοΫϗϧϜϦʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ ೝূɾೝՄͷ࣮ࢪ "84αʔϏε΁ͷ ϦΫΤετ ʢྫɿ&$ͷىಈʣ IAM ΤϯυϙΠϯτ ো֐ͷൣғʁ AWSαʔϏε
  36. ো֐ͷӨڹൣғͷΠϝʔδ  ϓϦϯγύϧ AWSαʔϏε IAM ΤϯυϙΠϯτ σʔλϓϨʔϯ όʔδχΞ๺෦Ϧʔδϣϯ AWS IAM

    άϩʔόϧ ΤϯυϙΠϯτ ίϯτϩʔϧϓϨʔϯ ετοΫϗϧϜϦʔδϣϯ σʔλϓϨʔϯ AWS IAM ೝূɾೝՄͷ࣮ࢪ ೝূɾೝՄͷ࣮ࢪ "84αʔϏε΁ͷ ϦΫΤετ ʢྫɿ&$ͷىಈʣ ଞϦʔδϣϯͷσʔλϓϨʔϯͱ ಠཱ͍ͯ͠ΔͨΊӨڹͳ͠ IAM ΤϯυϙΠϯτ AWSαʔϏε ো֐ͷൣғʁ
  37. ऴΘΓͰ͢  ·ͱΊ

  38. ·ͱΊ  • ίϯτϩʔϧϓϨʔϯ • όʔδχΞ๺෦ϦʔδϣϯʹͻͱͭͷΈଘࡏ͢Δ • IAMϦιʔε͕อ؅͞Ε͍ͯΔ • σʔλϓϨʔϯ

    • ίϯτϩʔϧϓϨʔϯ͔ΒIAMϦιʔε͕ෳ੡͞ΕΔ • ֤Ϧʔδϣϯʹଘࡏ͢Δ • ֤ϦʔδϣϯͷೝূɾೝՄΛߦ͏ • গͳ͘ͱ΋3ͭͷAZʹ෼ࢄ͞Ε͍ͯΔ
  39. None