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
RDSのパスワードローテーションについて考えてみた話
Search
hoshino tsuyoshi
April 04, 2024
Technology
1
120
RDSのパスワードローテーションについて考えてみた話
hoshino tsuyoshi
April 04, 2024
Tweet
Share
More Decks by hoshino tsuyoshi
See All by hoshino tsuyoshi
Reasonable logging in BtoB Application
hoshinotsuyoshi
5
110
GitHub Actionsで `shell` に `ruby {0}` と書ける話
hoshinotsuyoshi
2
170
「技術的負債」について私から言えること私から言えないこと
hoshinotsuyoshi
2
1.1k
spreeのrails updateの戦いの歴史と github上のPR作成時の工夫
hoshinotsuyoshi
0
1k
Ruby is fun but difficult
hoshinotsuyoshi
0
400
バッチ処理でhakoを使う話
hoshinotsuyoshi
0
9.7k
docker swarm 触ってみた #dockerlt
hoshinotsuyoshi
0
1.1k
貧者のためのCoreOS(Jenkinsを例に)
hoshinotsuyoshi
1
1.6k
個人で使ってみた Docker と CoreOSとか
hoshinotsuyoshi
7
3.6k
Other Decks in Technology
See All in Technology
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
130
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
160
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
0
120
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
150
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.3k
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
120
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
320
Wasmのエコシステムを使った ツール作成方法
askua
0
120
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
1
160
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
6
940
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
180
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Language of Interfaces
destraynor
162
25k
Code Review Best Practice
trishagee
72
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Unsuck your backbone
ammeep
671
58k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Transcript
3%4ͷύεϫʔυϩʔςʔγϣϯʹ͍ͭͯ ߟ͑ͯΈͨ PNPUFTBOEPSC
ࣗݾհ w ໊લIPTIJOPUTVZPTIJ HJUIVC IPQQJFTUBS UXJUUFS w PNPUFTBOEPSCճ͙Β͍ͷ-5Ͱ͢ ͿΓ
w 8FCΞϓϦέʔγϣϯΤϯδχΞ w %9ؔ࿈ͷ4BB4اۀॴଐ
͍ͨ͜͠ͱ w Έ w 3BJMTΞϓϦͰͲ͏Δ͔ w ΠϯϑϥपΓͷઃఆ ͕࣌ؒ͋Ε
ࠓճྫͱͯ͠ߟ͑Δ3BJMTΞϓϦपลͷߏ w 'BSHBUF্Ͱ&$4λεΫ ͕ಈ͘ w QVNB XFC w TJEFLJR
XPSLFS w όονॲཧ ύεϫʔυ3BJMTͷ$SFEFOUJBMػೳɺ"844FDSFU.BOBHFSɺ"8444.ύϥϝʔλ ετΞΛ͏͜ͱ͕ଟ͍ͱࢥ͍·͢ ϢʔβʔɾύεϫʔυͰೝূ ϢʔβʔɾύεϫʔυͰೝূ
͠ɺ͍·%#αʔόʔͷύεϫʔυΛม͑ͨ͘ͳͬͨΒʁ ʢΈͳ͞Μߟ͑ͯΈ͍ͯͩ͘͞ʣ w ͍͖ͳΓม͑ΒΕΔ͔ʁ w όονॲཧతͳͷͷ߹ w w ࠓ·͞ʹಈ͍͍ͯΔXFCαʔόʔ
QVNB XPSLFSαʔόʔ TJEFLJR w w
͠ɺ͍·%#αʔόʔͷύεϫʔυΛม͑ͨ͘ͳͬͨΒʁ ʢΈͳ͞Μߟ͑ͯΈ͍ͯͩ͘͞ʣ w ͍͖ͳΓม͑ΒΕΔ͔ʁ w όονॲཧతͳͷͷ߹ w Ͱ͖ͦ͏ w ࠓ·͞ʹಈ͍͍ͯΔXFCαʔόʔ
QVNB XPSLFSαʔόʔ TJEFLJR w w
͠ɺ͍·%#αʔόʔͷύεϫʔυΛม͑ͨ͘ͳͬͨΒʁ ʢΈͳ͞Μߟ͑ͯΈ͍ͯͩ͘͞ʣ w ͍͖ͳΓม͑ΒΕΔ͔ʁ w όονॲཧతͳͷͷ߹ w Ͱ͖ͦ͏ w ࠓ·͞ʹಈ͍͍ͯΔXFCαʔόʔ
QVNB XPSLFSαʔόʔ TJEFLJR w %#αʔόʔଆͰมߋͨ͠ॠؒʹΤϥʔଟൃͦ͠͏ w Τϥʔͳ͘ߦ͏ͷͦ͠͏ʁ🤔Ͳ͏͢ΕΑ͍͔
💡ϢʔβʔΛͭ࡞Ε͍͍ͷͰʁ w ࠓ͍ͬͯΔ%#ϢʔβʔΛϢʔβʔ"ͱ͢Δ w ͦΕΛίϐʔͯ͠શ͘ಉ͡ݖݶΛ࣋ͭϢʔβʔ#Λ࡞Δ w 3BJMTΞϓϦͰ͏ϢʔβʔɾύεϫʔυΛϢʔβʔ#ͷͷʹ͢Δ ճ w
w w
💡ϢʔβʔΛͭ࡞ͬͯύεϫʔυΛ৽͍͠ͷʹ͢Ε w ࠓ͍ͬͯΔ%#ϢʔβʔΛϢʔβʔ"ͱ͢Δ w ͦΕΛίϐʔͯ͠શ͘ಉ͡ݖݶΛ࣋ͭϢʔβʔ#Λ࡞Δ w 3BJMTΞϓϦͰ͏ϢʔβʔɾύεϫʔυΛϢʔβʔ#ͷͷʹ͢Δ ճ w
3BJMTΞϓϦͰ͏ϢʔβʔɾύεϫʔυΛϢʔβʔ"ͷͷʹ͢Δ ճ w 3BJMTΞϓϦͰ͏ϢʔβʔɾύεϫʔυΛϢʔβʔ#ͷͷʹ͢Δ ճ w
"84ʹͳΜͰ͋Δ
"844FDSFUT.BOBHFS
"84ʹͳΜͰ͋Δ w ࢀߟ<ϩʔςʔγϣϯઓུ"844FDSFUT.BOBHFSͷ֓೦"844FDSFUT.BOBHFS> IUUQT EPDTBXTBNB[PODPNKB@KQTFDSFUTNBOBHFSMBUFTUVTFSHVJEFHFUUJOHTUBSUFEIUNMSPUBUJPOTUSBUFHZ
"84ʹͳΜͰ͋Δ w ࢀߟ<ϩʔςʔγϣϯઓུ"844FDSFUT.BOBHFSͷ֓೦"844FDSFUT.BOBHFS> IUUQT EPDTBXTBNB[PODPNKB@KQTFDSFUTNBOBHFSMBUFTUVTFSHVJEFHFUUJOHTUBSUFEIUNMSPUBUJPOTUSBUFHZ 1⃣ 2⃣ 3⃣ 4⃣
1⃣ 2⃣
2⃣ 3⃣
3⃣ 4⃣
Έͷઆ໌
Έͷઆ໌ ϩʔςʔγϣϯؔ "84MBNCEB 3%4 ϩʔςʔγϣϯؔͰ3%4ʹΞΫηεͯ͠42-࣮ߦͯ͠ϢʔβʔใΛߋ৽͢Δ
"844FDSFUT.BOBHFSઃఆΠϝʔδ
"844FDSFUT.BOBHFSઃఆΠϝʔδ
"844FDSFUT.BOBHFSઃఆΠϝʔδ w ˠը໘ΛਐΊ͍ͯ͘ͱɺ-BNCEBؔ$MPVE'PSNBUJPOͷઃఆ͕࢝·Δ Β͍͠ w ެࣜࢀߟIUUQTEPDTBXTBNB[PODPNKB@KQTFDSFUTNBOBHFSMBUFTU VTFSHVJEFUVUPSJBMT@SPUBUJPOBMUFSOBUJOHIUNMUVUPSJBMT@SPUBUJPO BMUFSOBUJOH@TUFQSPUBUF w
ࠓճ͜ͷը໘ΘͣʹUFSSBGSPNͷBXT@DMPVEGSPNBUJPO@TUBDLΛ͍·ͨ͠ w ҎԼͷϖʔδେ͍ʹࢀߟʹ͠·ͨ͠ w <"844FDSFUT.BOBHFSͰ3%4ͷύεϫʔυϩʔςʔγϣϯͯ͠ΈΔJO @%FWFMPQFST*0> IUUQTEFWDMBTTNFUIPEKQBSUJDMFTTFDSFUTNBOBHFS QBTTXPSESPUBUJPO
͍ͨ͜͠ͱ w Έ✅ w 3BJMTΞϓϦͰͲ͏Δ͔ˡ w ΠϯϑϥपΓͷઃఆ ͕࣌ؒ͋Ε
3BJMTΞϓϦͰͲ͏͢Δ͔ w ࠓ·Ͱʮύεϫʔυ୯ମʯΛTFDSFUͱͯ͠ཧ͍͕ͯͨ͠ɺࠓޙ ʮ"844FDSFUT.BOBHFSγʔΫϨοτͷ+40/ߏʯͰཧ͞ΕΔΑ ͏ʹͳͬͨɻ w ͳͷͰɺͦΕʹରԠ͢Δ
"844FDSFUT.BOBHFSγʔΫϨοτͷ+40/ߏ ͱ w "VSPSB1PTUHSFTͷ߹ w ࢀߟ<"844FDSFUT.BOBHFSγʔΫϨοτͷ+40/ߏ"844FDSFUT.BOBHFS> IUUQTEPDTBXTBNB[PODPNKB@KQ TFDSFUTNBOBHFSMBUFTUVTFSHVJEFSFGFSFODF@TFDSFU@KTPO@TUSVDUVSFIUNMSFGFSFODF@TFDSFU@KTPO@TUSVDUVSF@SETQPTUHSFT
3BJMTଆରॲ࡞ઓ w લทͷ+40/ΛA3%4@%#@4&$3&5Aͱ͍͏ڥมͰड͚औΔ͜ͱʹ͠ ͨ w ͜ΕΛύʔεͯ͠Έཱͯͯ͠A%"5"#"4&@63-Aͷܗʹ͢Δ w 3BJMTɺڥมA%"5"#"4&@63-A͕͋Ε͜ΕΛར༻͢ΔΈ w AQPTUHSFTVTFSOBNF!QBTTXPSEQPSUECOBNF
PQUJPOTAͷܗʹ ͢Δ
CFGPSF DPO fi HEBUBCBTFZNM BGUFS
CFGPSF ίϯςφఆٛͷKTPO KTPOOFU BGUFS
ύʔε CJOSFBE@SET@EC@TFDSFU
Έཱͯ͢ EPDLFSFOUSZQPJOUTI
ಈ͔ͳ͔ͬͨ ͭ·͖ͮϙΠϯτ
͍ΖΜͳ߹Ͱ ύεϫʔυʹ͑ͳ͍จࣈ͕͋Δ w ϥϯμϜʹ࡞ͬͨύεϫʔυΛಡ͏ͱ͢ΔͱSBJMTىಈ࣌ʹΤϥʔ w ௐΔͱύεϫʔυʹʮʨ ʯ͕ೖͬͯΔͱΤϥʔ w ϥϯμϜʹ࡞ͬͨύεϫʔυΛಡ͏ͱ͢ΔͱSJEHFQPMF࣮ߦ࣌ʹΤϥʔ w
ௐΔͱύεϫʔυʹʮʴ ʯ͕ೖͬͯΔͱΤϥʔ
͍ΖΜͳ߹Ͱ ύεϫʔυʹ͑ͳ͍จࣈ͕͋Δ TFFBMTP<3BJMTͷ%"5"#"4&@63-ͰࢦఆͰ͖ Δύεϫʔυͷจࣈछ> IUUQT TJOTPLVIBUFOBCMPHDPNFOUSZ
͜ͷํ๏Ͱͷϩʔςʔγϣϯͷҙ w ϩʔςʔγϣϯͷִؒΑΓ͍εύϯͰ&$4λεΫ͕ೖΕସΘΔඞཁ͕ ͋Δ w ྫճͷϩʔςʔγϣϯͷͱ͖ʹɺճͷϩʔςʔγϣϯΑΓલ ͔Βಈ͍͍ͯΔ&$4λεΫ͕͋Δ߹ͦͷ&$4λεΫΛઌʹTUPQ͢ Δඞཁ͕͋Δ
͜ͷํ๏Ͱͷϩʔςʔγϣϯͷҙ ճͷϩʔςʔγϣϯͷ͋ͱɺ1⃣ͷͱ͖ ʹಈ͍͍ͯͨίϯςφ͕·͍ͩͬͯΔ߹ ଓΤϥʔʹͳͬͯ͠·͏ w ࠶ܝ 1⃣ 2⃣ 3⃣
͍ͨ͜͠ͱ w Έ✅ w 3BJMTΞϓϦͰͲ͏Δ͔✅ w ΠϯϑϥपΓͷઃఆ ͕࣌ؒ͋Ε ˡ
$MPVE'PSNBUJPOͰઃఆ͞ΕΔͷ w -BNCEBؔ w ͦͷ-BNCEBؔͷύʔϛογϣϯ w 4FDSFU.BOBHFS͔ΒͷΞΫηεʹݶఆ͞ΕΔ w *".ϩʔϧ
ͲΜͳ-BNCEB͔ؔʁ w IUUQTHJUIVCDPNBXTTBNQMFTBXTTFDSFUTNBOBHFSSPUBUJPOMBNCEBTͱ͍͏Ϧϙ δτϦͰެ։͞Ε͍ͯΔ
ͲΜͳ-BNCEB͔ؔʁ w MBNCEB@IBOEMFSͱ͍͏ϝΠϯ͔ؔΒҎԼͷؔΛݺͿ lambda_handlerؔAWS Secrets Manager͔ΒͷϩʔςʔγϣϯΠϕϯτΛॲཧ͢ΔͨΊͷΤϯτϦ ϙΠϯτͱͳΓ·͢ɻ ͜ͷؔ࣍ͷ4ͭͷεςοϓΛ࣮ߦ͠·͢: •createSecret: ৽͍͠γʔΫϨοτΛ࡞͠·͢ɻ
•setSecret: ৽͍͠γʔΫϨοτΛσʔλϕʔεʹద༻͠·͢ɻ •testSecret: ৽͍͠γʔΫϨοτ͕σʔλϕʔεʹਖ਼͘͠ద༻͞Εͨ͜ͱΛςετ͠·͢ɻ • fi nishSecret: ৽͍͠γʔΫϨοτΛAWSCURRENTͱͯ͠ϚʔΫ͠ɺݹ͍γʔΫϨοτΛ AWSPREVIOUSͱͯ͠ϚʔΫ͠·͢ɻ
ͦͷଞඞཁͳઃఆFUD w -BNCEB͕࣮ؔࡍʹ3%4ʹΞΫηε͢ΔͨΊͷ४උ w ωοτϫʔΫपΓ w 71$ηΩϡϦςΟάϧʔϓͷઃఆ͕ඞཁ w 3%4ࣗମ w
͜ͷ-BNCEBؔ༻ͷ%#Ϣʔβʔ ٴͼύεϫʔυ ࣄલʹඞཁ w ͦͷೝূใผ్4FDSFUT.BOBHFSʹೖΕ͓ͯ͘ඞཁ͋Γ w 1PTUHSFTͷ߹$3&"5&30-&ݖݶ͕ඞཁ
UFSSBGPSNઃఆྫ
͍ͨ͜͠ͱ w Έ✅ w 3BJMTΞϓϦͰͲ͏Δ͔✅ w ΠϯϑϥपΓͷઃఆ ͕࣌ؒ͋Ε ✅
͜͜·ͰͰ৮Εͳ͔ͬͨ w 3BJMTͷDPO fi HDSFEFOUJBMTZNMFOD 3"*-4@."45&3@,&: w 💭͏ʹ͏·ࠪ͘ϩάऔΓ͍ͨ w 3%4ͷ*".ೝূ
w 💭͜Ε͔ͨ͠͠ΒΜΓͦ͏ɾ3BJMTͰ͏·͑ͨ͘Βڭ͑ͯ΄ ͍͠ɾύϑΥʔϚϯεͪΐͬͱؾ͕͔Γ
࠷ޙʹ w 3BJMTʹσʔλϕʔεͷύεϫʔυʹ͑ͳ͍จࣈ͕͋Δ͜ͱΛͬͨ ͷऩ֭Ͱͨ͠ w օ͞ΜͷΓํͱ͔ΞΠσΞϊϋͱ͔͋Εڭ͑ͯԼ͍͞