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

AWS IAMポリシーのConditionを書くときの勘所

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

AWS IAMポリシーのConditionを書くときの勘所

IAMポリシーのConditionを使うことで柔軟な権限設計を実現できます。今回はこの Conditionを書くときに意識したい「キーの可用性」の話をします。

Avatar for MasahiroKawahara

MasahiroKawahara

July 25, 2022
Tweet

More Decks by MasahiroKawahara

Other Decks in Technology

Transcript

  1. *".ϙϦγʔͱ͸ ݖݶΛఆΊͨ΋ͷɻ+40/ܗࣜͰॻ͘ Ø ୭͕ <1SJODJQBM> Ø ͲͷϦιʔεʹରͯ͠ <3FTPVSDF> Ø ͲͷΞΫγϣϯΛ

    <"DUJPO> Ø ೚ҙ Ͳͷ৚݅ԼͰ <$POEJUJPO>˞ࠓ೔ͷτϐοΫ Ø ڐՄڋ൱͢Δ͔ <&GGFDU> 7
  2. ࢀߟ ͲΕ͕৚݅ΩʔʁͲΕ͕ϙϦγʔม਺ʁ Ø ৚݅Ωʔ Ø $POEJUJPO۟Ͱ࢖͏ Ø +40/ͷʮΩʔʯ෦෼Ͱ࢖͏ Ø ϙϦγʔม਺

    Ø $POEJUJPO۟ ΋͘͠͸ 3FTPVSDF۟Ͱ࢖͏ Ø +40/ͷʮΩʔͷ஋ʯ෦෼Ͱ࢖͏ Ø ${} ͰׅΔ 25
  3. ͜͜Ͱ໰୊ ʲέʔεʳ ʲέʔεʳ͸ %FOZ͞ΕΔ PS͞Εͳ͍ʁ 41 ʮϓϦϯγύϧ ϩʔϧ ͷ 1SPKFDUλά஋ʯͱ

    ʮϦιʔε &$ ͷ 1SPKFDUλά஋ʯ͕ Ұக͠ͳ͍ͱ͖ʹ &$ΠϯελϯεͷىಈఀࢭΛڋ൱͢Δ
  4. ʮ৚݅Ωʔ͕ແ͍ʯͱ͖ʹ GBMTF ʹ͢Δ “Null”: {“key”: false} Λ௥ه͠Α͏ʂ Ø Null͸ ৚݅Ωʔͷଘࡏ൑ఆͰ࢖͑Δ৚݅ԋࢉࢠ

    ü ஋͸ USVF Ωʔ͕ଘࡏ͠ͳ͍ ·ͨ͸ GBMTF Ωʔ͕ଘࡏ͢Δ 52 ✎ϙΠϯτ✎ ʮ৚݅ԋࢉࢠʹࠨӈ͞Εͳ͍ʯ
  5. Null ͷ໌ࣔతͳهࡌ 57 ➥Ωʔ͕ͳ͍ͱ͖ Ø /VMMͷ෦෼Ͱ GBMTFͱͳΔ Ø ͜ͷ࣌఺Ͱ $POEJUJPO෦෼͕

    GBMTFʹͳ Δ͜ͱ͕֬ఆ͢Δ˞ Ø ϙϦγʔ͸࣮ߦ͞Εͳ͍ ➥Ωʔ͕ͳ͍ͱ͖ Ø ϙϦγʔม਺ʹࢦఆͨ͠Ωʔ͕ແ͍ Ø εςʔτϝϯτ͕ແޮʹͳΔ Ø ϙϦγʔ͸࣮ߦ͞Εͳ͍ ˞$POEJUJPO͸શ৚݅ͷ"/%Ͱ ධՁ͞ΕΔͨΊ
  6. ·ͱΊ ΩʔͷՄ༻ੑͱڍಈͷ࿩ Ø ϦΫΤετίϯςΩετͷ Ωʔʹ͸Մ༻ੑ͕͋Δ Ø ৚݅Ωʔ͕ແ͍ͱ͖͸ ෆҰக GBMTF ü

    /PUܥͷ৔߹͸ USVF Ø ϙϦγʔม਺͕ແ͍ͱ͖͸ εςʔτϝϯτແޮ 59 ϙϦγʔม਺ ੍ޚͷ࿩ Ø σϑΥϧτ஋ͷࢦఆ Ø Nullͷ໌ࣔతͳهࡌ ৚݅Ωʔ ੍ޚͷ࿩ Ø USVFʹ͍ͨ͠ͱ͖͸ IfExists Ø GBMTFʹ͍ͨ͠ͱ͖͸ Null
  7. ࢀߟ • "84 • "84άϩʔόϧ৚݅ίϯςΩετΩʔ  "84*EFOUJUZBOE"DDFTT.BOBHFNFOU • "84ͷαʔϏεͷΞΫγϣϯɺϦιʔεɺ͓Αͼ৚݅Ωʔ 

    αʔϏεೝূϦϑΝϨϯε • *".+40/ϙϦγʔཁૉ৚݅ԋࢉࢠ  "84*EFOUJUZBOE"DDFTT.BOBHFNFOU • ϙϦγʔͷཁૉม਺ͱλά  "84*EFOUJUZBOE"DDFTT.BOBHFNFOU • %FWFMPQFST*0 • 4όέοτϙϦγʔͷ۩ମྫͰֶͿ"84ͷ1PMJDZυΩϡϝϯτ c%FWFMPQFST*0 • ʲ"84*".ʳ$POEJUJPOͷ৚݅Ωʔ΍ϙϦγʔม਺͸Մ༻ੑΛҙࣝ͠Α͏ʂͱ͍͏࿩ c %FWFMPQFST*0 • খωλ"84*".ϙϦγʔͷ $POEJUJPOͰ࢖͑Δ৚݅ԋࢉࢠ l/VMMzͷ࢖͍ΈͪΛߟ͑Δ c %FWFMPQFST*0 • "84ʹ͓͚Δ"#"$ͷخ͠͞ɺਏ͞ΛޠΓ·ͨ͠ ",*#""84c%FWFMPQFST*0 61