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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hoshino tsuyoshi
April 04, 2024
Technology
120
1
Share
RDSのパスワードローテーションについて考えてみた話
hoshino tsuyoshi
April 04, 2024
More Decks by hoshino tsuyoshi
See All by hoshino tsuyoshi
Reasonable logging in BtoB Application
hoshinotsuyoshi
5
120
GitHub Actionsで `shell` に `ruby {0}` と書ける話
hoshinotsuyoshi
2
180
「技術的負債」について私から言えること私から言えないこと
hoshinotsuyoshi
2
1.2k
spreeのrails updateの戦いの歴史と github上のPR作成時の工夫
hoshinotsuyoshi
0
1.1k
Ruby is fun but difficult
hoshinotsuyoshi
0
430
バッチ処理でhakoを使う話
hoshinotsuyoshi
0
9.8k
docker swarm 触ってみた #dockerlt
hoshinotsuyoshi
0
1.1k
貧者のためのCoreOS(Jenkinsを例に)
hoshinotsuyoshi
1
1.6k
個人で使ってみた Docker と CoreOSとか
hoshinotsuyoshi
7
3.7k
Other Decks in Technology
See All in Technology
Chasing Real-Time Observability for CRuby
whitegreen
0
290
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
680
Choose your own adventure in agentic design patterns
glaforge
0
160
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3k
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
160
Scovilleモバイルエンジニア募集中.pdf
julienrudin
0
130
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.7k
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
320
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
100
GitHub Copilot Dev Days
tomokusaba
0
110
PyCon JPに学ぶ『決め方の決め方』: TechLead Conference 2026
terapyon
1
240
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
410
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
210
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Designing Experiences People Love
moore
143
24k
Agile that works and the tools we love
rasmusluckow
331
21k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
360
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
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 օ͞ΜͷΓํͱ͔ΞΠσΞϊϋͱ͔͋Εڭ͑ͯԼ͍͞