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

AWSアカウントのDeNA的管理手法(スイッチロール補助編)【DeNA TechCon 2022 Autumn】

DeNA_Tech
September 29, 2022

AWSアカウントのDeNA的管理手法(スイッチロール補助編)【DeNA TechCon 2022 Autumn】

You Tube:https://youtu.be/6Dn5d3Xt-_A

概要:
DeNA では AWS アカウントの一元管理のため、各アカウントへのログインにスイッチロールを利用しています。これにより、管理の観点では便利になった一方で、ユーザがログインする際には不便な点がありました。

そこで、AWS のスイッチロールを便利にするための補助ツールを作成しました。今回は、作成したツールについての説明と、そもそもなぜスイッチロールが必要なのかを、DeNA での AWS アカウント管理方法を交えてお話します。

登壇内でのリンク集:
p4, https://techcon2022.dena.dev/spring/session/managing-public-cloud-accounts/
p6, https://www.okta.com/jp/
p9, https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
p16, https://vimeo.com/user140917946/techcon2022-autumn-session03-demo1
p17, https://vimeo.com/user140917946/techcon2022-autumn-session03-demo2

◆ チャンネル登録はこちら↓
https://youtube.com/c/denatech?sub_confirmation=1

◆ Twitter
https://twitter.com/DeNAxTech

◆ DeNA Engineering
https://engineering.dena.com/

◆ DeNA Engineer Blog
https://engineering.dena.com/blog/

◆ DeNA TechCon 2022 Autumn 公式サイト
https://techcon2022.dena.dev/autumn/

DeNA_Tech

September 29, 2022
Tweet

More Decks by DeNA_Tech

Other Decks in Technology

Transcript

  1. 6-ᰦᵶᶻḳᷝḨᷨᰦiᰦ༭Ⴤ๗ࡵౄᰦ
    ᯔḜᶳḯḥḊᵩḍᓟˮᆚᯕ
    /਻᝞ᰦ/Ҵན᝞ᰦᷣḯḨṁᵩ᷋ᶢḍᵩ᷿
    ੭ᰦȾ᦯

    View Slide

  2. ዎڠᅏś
    ੭ᰦȾ᦯
    ᰀ ᭆ᭄ᭆ᭄ۏᭈਨᰦˌ቏ᷥছ̀ɚ࿧
    ᰀ ᶳᷝᶰḁ᝞ɪᷨḫᵩḍᡮ༥ḥᵩᷚᝯز
    ᰀ ᭆ᭄ᭆᭅۏᭌਨᰦiᰦĕᜅɚ࿧
    ᰀ ᷣḯḨṁᵩ᷋ᶢḍᵩ᷿ᝯز
    ᰀ ᭆ᭄ᭆᭆۏᭈਨᰦ᷷ᶆḇḯ᷋᷋ḁḳᶎჄ๗ḥᵩᷚᰦᯔ)
    ᯕᰦɧ̅


    6-ᰦᷨḊᶢᶳᷝ४Ѝ

    )ᰦᷨᰦ
    -ᰦᵾḯ᷋ᵶḯ᷿ᷨŠᅔᷓṋେ჏
    ȼ

    View Slide

  3. ͪሪ
    p‹‹…‰᮫᮹᮹‹iepe}{ᭆ᭄ᭆᭆᮩgi{\ᮩgi‘᮹‰…ˆq{o᮹‰i‰‰q}{᮹z\{\oq{oᰀ…Œdyqeᰀey}Œgᰀ\ee}Œ{‹‰᮹
    Ƚ

    View Slide

  4. ªf.ɵxpª.pª¡
    Ⱦ
    'H1$䛾$:6ᶒ㝈⟶⌮䛾௙⤌䜏
    $:6䛾䝇䜲䝑䝏䝻䞊䝹䛸䛿
    ᐇ㝿䛾䝇䜲䝑䝏䝻䞊䝹ᡭ㡰
    ᪧ䝇䜲䝑䝏䝻䞊䝹⿵ຓ䝒䞊䝹
    ᪂䝇䜲䝑䝏䝻䞊䝹⿵ຓ䝒䞊䝹
    ż ືస䞉௙⤌䜏䞉ㄢ㢟
    䜎䛸䜑

    View Slide

  5. ᭅᮩᰦiᰦᷨᰦ6-ᰦ୫ᢡჄ๗ᷨŠᅔᷓ
    ˌईḧḕḡ
    iᰦᶉᶣɛ࿧༭ᷥ
    ᰀ ᯠ࿧Ϣᯡᱰᯠ}}oyiᰦᵶᶻḳᷝḨᯡᰦᶙᰦᭅ᮫ᭅᰦ؂ݵ
    ᰀ --!ᰦᷥᰦ!x‹\ᰦṋʻ຦ḕḡᶲḌ
    6-ᰦṟᵩṧᷖᰦ}}oyiᰦᵶᶻḳᷝḨḧ؂ݵḛḌḧ֘ḕᶲᯄ
    ᰀ ᯠ}}oyiᰦᵶᶻḳᷝḨᯡᰦ䚉ᰦ!x‹\ᰦᜑढᰦ䚉ᰦᯠ6-ᰦᰦ0‰iˆᯡ
    ᰀ ᜑढᷨ᷑ḇḯḨ
    ᰀ ṟᵩṧჄ๗ᶙମ
    ᰀ ᷋ḄᶊᷝḖṓḍṎᰦᰦᷨჄ๗ṋˉವ
    ᰀ ᛹቏ሬᷥṖḌḊᶢᶳᷝĆΆ
    ȿ
    2NWD䛸䛿䠛
    䜽䝷䜴䝗ᆺ,'⟶⌮662䛺䛹䜢
    ᥦ౪䛩䜛⤫ྜㄆドᇶ┙䝃䞊䝡䝇
    ͪሪ᮫ᰦp‹‹…‰᮫᮹᮹’’’ᮩ}x‹\ᮩe}z᮹w…᮹

    View Slide

  6. ᭅᮩᰦiᰦᷨᰦ6-ᰦ୫ᢡჄ๗ᷨŠᅔᷓ
    ᅄᷨ୫ᢡჄ๗
    ɀ
    䛂$FFRXQW䛃
    ,$08VHU
    ,$05ROH䐟
    ,$05ROH䐠
    䛂$FFRXQW䛃
    ,$08VHU
    ,$05ROH䐟
    ,$05ROH䐠
    «

    View Slide

  7. ᭅᮩᰦiᰦᷨᰦ6-ᰦ୫ᢡჄ๗ᷨŠᅔᷓ
    iᰦᷨ୫ᢡჄ๗
    Ɂ
    *RRJOH*URXSV
    2NWD
    䛂඲♫ඹ㏻$:6㋃䜏ྎ䛃
    662⏝,$08VHU
    $FFRXQW5ROH䐟⏝,$05ROH
    $FFRXQW5ROH䐠⏝,$05ROH
    $FFRXQW5ROH䐟⏝,$05ROH
    $FFRXQW5ROH䐠⏝,$05ROH
    «
    䐠┠ⓗ䛾䜰䜹䜴䞁䝖⏝䛾
    䝻䞊䝹䜢㑅ᢥ䛧䛶6$0/䝻䜾䜲䞁
    䛂$FFRXQW䛃
    ,$05ROH䐟
    ,$05ROH䐠
    䛂$FFRXQW䛃
    ,$05ROH䐟
    ,$05ROH䐠
    «
    *RRJOH*URXSV䛻ᑐᛂ䛩䜛
    $:6䜈䛾䝻䜾䜲䞁ᶒ㝈䛿
    䛣䛣䛷⤫୍⟶⌮
    䐟㐃ᦠ
    䐡6ZLWFK
    5ROH

    View Slide

  8. ᭆᮩᰦ6-ᰦᷨḜᶳḯḥḊᵩḍḧᶣ
    ḜᶳḯḥḊᵩḍᰦᰜᰜᰜᰦᰦṟᵩṧᷥᄻᶏ᷊ᰦᰦḊᵩḍṋʮḆਥᶑḌŠᅔᷓ
    Ʃᶑᵽ
    ᰀ ᰦ0‰iˆᰦᷥᰦee}Œ{‹;ᰦᷨᰦᰦ,}yi;ᰦṋţć
    ᰀ ᰦ,}yi;ᰦᶣᯠᰦ,}yi<ᰦᷥᰦ‰‰Œzi,}yiᰦḛḌ୫ᢡᯡṋࣃḪ
    ᷇ᷨӅΒ
    ᰀ ᰦ0‰iˆᰦᶣᰦᯠee}Œ{‹;ᯡᶺḀᰦᯠee}Œ{‹<ᯡᷨḊᵩḍᷥḜᶳḯḥᶉ᷄Ḍ
    ᓟᙐ᮫ᰦᰦ,}yi<ᰦᷥݮᔑᷟᕇ׌
    ᰀ ḜᶳḯḥḊᵩḍṋ͵ᶿɚḃḌḞ᷐ᷨǍᥡ᷽ḇḖ
    ᰀ ḜᶳḯḥݗᷥᕈΆḛḌ୫ᢡᷨᕇ׌
    ᰀ ᷇ᷨᕇ׌ᶉᰦgzq{᮪ᰦ,i\g!{y˜᮪ᰦḘᷨšᷨ

    Œ‰‹}z,}yiᰦᷟᶍ᮪ᰦ຦ᜅᷥݵṪḞ୫ᢡᕇ׌ṋḕḡᶲḌ
    ɂ
    䛣䛾㎶䜚䛾タᐃ䛿䚸
    䜰䜹䜴䞁䝖సᡂ᫬䛻
    ⮬ືタᐃ䛧䛶䛔䜛
    ͪሪ᮫ᰦp‹‹…‰᮫᮹᮹g}e‰ᮩ\’‰ᮩ\z\}{ᮩe}z᮹᮹y\‹i‰‹᮹0‰iˆŒqgi᮹qgᰅˆ}yi‰ᰅeˆi\‹iᰅn}ˆᰀŒ‰iˆᮩp‹zyᰦ᮪ᰦp‹‹…‰᮫᮹᮹g}e‰ᮩ\’‰ᮩ\z\}{ᮩe}z᮹-/-᮹y\‹i‰‹᮹),iniˆi{ei᮹)ᰅ‰‰Œzi,}yiᮩp‹zy
    䛂$FFRXQW;䛃
    8VHU$
    5ROH;
    䛂$FFRXQW<䛃
    5ROH<
    䞉$FFRXQW;䛾䝻䜾䜲䞁ᶒ㝈
    䞉5ROH<䜈䛾$VVXPH5ROHᶒ㝈
    $FFRXQW<䜢
    ᧯స䛩䜛ᶒ㝈

    View Slide

  9. ᭇᮩᰦאᣄᷨḜᶳḯḥḊᵩḍࡵ᥎
    Ⱥȹ
    䐟2NWD䛾$:6䜰䝥䝸
    䛛䜙䝻䜾䜲䞁
    䐠㋃䜏ྎ䜰䜹䜴䞁䝖ୖ䛾
    䝻䞊䝹䜢㑅ᢥ
    䐡㋃䜏ྎ䜰䜹䜴䞁䝖䛻䝻䜾䜲䞁
    䐢┠ⓗ䛾䜰䜹䜴䞁䝖䛸
    䝻䞊䝹䜢ධຊ
    䐣┠ⓗ䛾䜰䜹䜴䞁䝖䛻
    䝻䜾䜲䞁᏶஢

    View Slide

  10. ᭇᮩᰦאᣄᷨḜᶳḯḥḊᵩḍࡵ᥎
    ࿧ɪᷨᯠ6-ᰦᵶᶻḳᷝḨʻ຦ሬᔚൻᶉᯡʭᶺḆ᷊ᷥᶲႵࡰ
    ᰀ 6-ᰦᵶᶻḳᷝḨṋƙḉḲḧḕḞᷨᷥᰦ}}oyiᰦˆ}Œ…‰ᰦṋƙḌ᷇ḧᷥᷟḌ
    ᰀ 6-ᰦᷨ୫ᢡţćᶣᰦ}}oyiᰦˆ}Œ…‰ᰦᶉॅƙ
    ᰀ ᭆѤḊᶢᶳᷝᷨṖḲᷟ᷇ḧṋḏḒḀḃḌ
    ᰀ ᙩᷓ·ᶦᷨḊᶢᶳᷝᰦ᰽ᰦᙩᷓ·ᶺḀᷨḜᶳḯḥḊᵩḍ
    ᰀ Ḋᶢᶳᷝᶉ᷊᷄ᷟḡᘪЁḕḞḀᮩᮩᮩ
    ᰀ ᯠ᷍ᶇᰦ-‹i…ᰦᯔᙩᷓ·ᯕᰦᵶᶻḳᷝḨᷥᶲ᷍ḛṖᷢᯈᯡḧᔴṀḃḌ
    ᰀ ᯠᶍᷨḊᵩḍ᜿ᶁ᷍ḕḞᯈᯡᷟᶍḧቄᶺḃḌ
    ᰀ ᙩᷓ·ᵶᶻḳᷝḨḧᶣᯈᰦḊᵩḍḧᶣᯈᰦḧᷟḌ
    ȺȺ

    View Slide

  11. ᭈᮩᰦ঱᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ࡵƙତᶉḜᶳḯḥḊᵩḍḛḌᷨᶣ
    ᰀ ʭᶺḆ᷊ᷥᶲᯄ
    ᰀ ᤞǡ᷊ḏᶲᯄ
    䚉ᰦɇü᷇ᷨࡵ᥎ṋᓟˮḛḌḫᵩḍṋ຦ߵḕḡᶲḞ
    ȺȻ

    View Slide

  12. ᭈᮩᰦ঱᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ᵶᶻḳᷝḨ;
    ᰀ Ḋᵩḍ
    ᰀ Ḋᵩḍ
    ᵶᶻḳᷝḨ<
    ᰀ Ḋᵩḍ

    ᰀ Ḋᵩḍ
    ᰀ Ḋᵩḍ
    ᮭᰦ—ᭆᭋ᭄Ű
    Ⱥȼ
    ±ᰦiᰦᷥᶣɇüᯠɛᵶᶻḳᷝḨᰛḊᵩḍᷨḜᶳḯḥḊᵩḍ຦ḇᷝ᷋þᔠᯡṋ
    ᒸ࿥ḛḌḫᵩḍᶙ֬ѿḕḡᶲḌ
    ᷇᷇ᷨࡵɚ˨ᶙ
    ĆᔑᷥᷟḌ

    View Slide

  13. ᭈᮩᰦ঱᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    Ёᥥൻ
    ᰀ ḜᶳḯḥḊᵩḍᷥḪᶲḡྖḀᷟᶲḧᰝƓṋḏḒḀḃḡᶲḌᷨᶺʭᶺḀᷟᶲ
    ᰀ ᙩᷓ·ᵶᶻḳᷝḨᶦᷨḊᶢᶳᷝᶉḊᶢᶳᷝḕḞḪᷖḆᷥᷟḭḡḕ᷍Ḳ
    ᰀ ḘᷖḘᷖᙩᷓ·ᵶᶻḳᷝḨḭḡƓᯈ
    ᰀ ɛ࿧ϢᷥƤḲΆኀސᶙᵵḌᷨᷥᰝŠᅔᷓᶙᓯᣢ
    ᰀ qyyq{oᰦᷟᶍᰝᶒᷝṫᷦᵶᶉᷟᶲঝᷖ᡿ᔠᷨݮᔑᶙᵵḌ
    ᰀ 6idᰦḫᵩḍᶣᰝɛ࿧ɢᜊᶉᵶᶻḳᷝḨߓӄṋɛŰʹݜḕḡᶲḌᷨᶉរᶲ
    䚉ᰦŠᅔᷓṋ๗ᔯḕ᷊ᷟḡᷖḊᶢᶳᷝᶉ᷄ḌṖḲᷥḕḞᶲᯄ
    ᯔЁᶲΒṀḒᷖವḀḕḞᶲᯕ
    ȺȽ

    View Slide

  14. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ˌई
    ᰀ ḜᶳḯḥḊᵩḍዎ̣̂ᰦ
    pˆ}ziᰦࢷܫṋ४Ǒᮼ୽ኀᛸ˫
    ᰀ ௅ܗᜢ຦ᶣḕḡᶲᷟᶺḭḞᶙᰝɇü֬ѿḕḡᶲḌᷖᷨᶙᵵḭḞᷨᶉ౦຦
    ŚѤṎḭḞ᷇ḧ
    ᰀ ḜᶳḯḥḊᵩḍᷨɛॅƙṋዎ̣̂
    ᰀ !x‹\ᰦᶺḀᷨᜑढ᝞ʭᷖ΢᷐ḡዎ̣̂
    ᰀ ᕇ׌୽ኀṋţᶿḡᰝᯔœᷥṖḭḡᶣᯕᰦĆᔑᷟዎ̣̂ṋᷯᶰᷥᶉ᷄ḌṖḲᷥ
    ȺȾ

    View Slide

  15. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ᶊᷗᯀࡵ̂ᷨӅΒ
    Ⱥȿ
    }}oyiᰦq‰ᰦ\ᰦ‹ˆ\giz\ˆxᰦ}nᰦ}}oyiᰦ

    View Slide

  16. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ᶊᷗᯀḫᵩḍʻ຦ᷨӅΒ
    Ⱥɀ
    }}oyiᰦq‰ᰦ\ᰦ‹ˆ\giz\ˆxᰦ}nᰦ}}oyiᰦ

    View Slide

  17. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ࢷܫ୽ኀᷨ̂ƙ
    ȺɁ
    ᭴ᰦབྷ༭ᷨᵶᶻḳᷝḨṋଇᅆ
    ᭵ᰦḇᷝ᷋ṋ᷋ḇḯ᷋
    ᭷ᰦׅĴᯄ
    ᭶ᰦዎ᷹̂ᵩṫဥ̂
    ᮼዎ̂ɚ˨

    View Slide

  18. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    Šᅔᷓ
    ߸ཙᷥᰦ-ᰦᶉ᷹ᵩṫᷨᰦ/ᰦṋᕿᷓʹḭḡᯠ᷋ḇḯ᷋ᯡᮼᯠɚ˨ɪםᷨຢ࡙ᯡ
    ɚ˨ɪם
    ᰀ ᯠḊᵩḍΗᯡᯠᵶᶻḳᷝḨᰦᰦ}ˆᰦᵶᶻḳᷝḨᶒᶳḇᵶḜᯡᶙݮᔑ
    ᰀ ᯠḊᵩḍΗᯡᯠᵶᶻḳᷝḨᶒᶳḇᵶḜᯡ䚉ᰦ/ᰦᶺḀღ̈́ᷥʹݜΆኀ
    ᵶᶻḳᷝḨᶒᶳḇᵶḜ
    ᰦ䚉ᰦᵶᶻḳᷝḨƙ࡙৙ᷥᰦᵶᶻḳᷝḨΗḧΖΗᶉዎ̂ᕇ׌
    Ⱥɂ

    View Slide

  19. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    אᣄᷨ˷੯
    ṟᵩṧᶙƼʻᷥ
    ᰀ ࢷܫṋɚḃḌᶇᶿᶉḜᶳḯḥḊᵩḍᶉ᷄ḌᰦᰦᯔŠᅔᷓᶙʭᶺḀ᷊ᷟḡᷖԚĂԝᯄᯕ
    ᰀ ḊᶢᶳᷝᷨʮḆਥᶑᰝɯḊᶢᶳᷝᶙମᷥ
    Ⴤ๗ሬᷨښॿˉವ
    ᰀ ЁᶲΒṀḒᷥ؂ḕḡᯠ᷇ᷨḫᵩḍƤḭḡ᷊ᶇḏᶲᯡᶉಭᷙ
    )ᰦᵶ᷋ḓḜˉವ
    ᰀ ࢷܫ୽ኀᶉׅᅜḛḌᷨᶉᰝ঱ḫᵩḍᷨṖḲᷟᘚຣჄ๗ḫᵩḍᶦᷨᵶ᷋ḓḜᶙᷟᶲ
    ᰀ ᵶ᷋ḓḜॿ᮫ᰦᭊᭉ᭄᭄Ѥ᮹যᰦ䚉ᰦ᭄Ѥ
    Ȼȹ

    View Slide

  20. ᭉᮩᰦছ᮫ᰦḜᶳḯḥḊᵩḍᓟˮḫᵩḍ
    ᖁᥥ
    qˆin}—ᰦᷨœṋᔗࣝḡḡḕ᷍ḭḞ
    䚉ᰦ6-ᰦᶦᷨᵶ᷋ḓḜ৙ᶣᰦ
    pˆ}ziᰦʻ຦ṋࣸԻ
    6-ᰦ᷈ᷝḙᵩḍᷨᰦ0ᰦԌਛᷨ݇᥉ṋԚ᷊᷄͵ᶿḌ
    ᯔᰦ/ᰦᷨᰦ
    y\‰‰ᰦṎᰦᰦᷥƳ֬ḕḡᶲḌᰦᯕ
    䚉ᰦᝢۦ؂ݵḕḡᵶḯ᷿ᶊᵩḨḕḡᶲ᷊ĵ׌
    ȻȺ

    View Slide

  21. ᭊᮩᰦ᷍ḧ᷐
    6-ᰦᵶᶻḳᷝḨჄ๗
    ᰀ iᰦᶉᶣᰝᵶᶻḳᷝḨᷨᅧþჄ๗ᷨḞ᷐
    ᯠᰦ}}oyiᰦᵶᶻḳᷝḨᰦ䚉ᰦ!x‹\ᰦᜑढᰦ䚉ᰦ6-ᰦṟᵩṧᰦᯡḧᶲḲŠᅔᷓᷥᷟḭḡᶲḌ
    ᰀ Ⴤ๗ᤞᷨ᷑ḇḯḨᶙᵵḌþঝᰝṟᵩṧᷥᶣʭᶺḆ᷊ᷥᶺḭḞ
    ḜᶳḯḥḊᵩḍᓟˮ
    ᰀ ᵶᶻḳᷝḨᶦᷨḊᶢᶳᷝᶙᓯᣢᷟᷨᶉღ̈́ᷥḛḌḫᵩḍṋƙ࡙
    ᰀ ᷹ᵩṫᷨᰦ/ᰦṋᕿᷓʹḭḡ᷋ḇḯ᷋ᮼɚ˨ṋዎ̣̂
    ᰀ Ḋᶢᶳᷝᶙღ̈́ᮼƼʻᷥ
    ᰀ Ⴤ๗ښॿˉವ
    ȻȻ

    View Slide