Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
開発エンジニアが実践するDevSecOps
Search
Kaz Watanabe
April 17, 2025
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発エンジニアが実践するDevSecOps
https://offers.cyleague.jp/202504cstf
Kaz Watanabe
April 17, 2025
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
47
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
510
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
400
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
4.3k
Other Decks in Technology
See All in Technology
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
570
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
1
140
今さら理解するウェブフォントver.2026
takanorip
3
640
自主式軟體工廠
philipz
0
250
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
250
Running Kotlin + Quarkus with Lambda
nealle
0
230
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
370
会社説明資料
persolserverworks
0
9.7k
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
180
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Designing Experiences People Love
moore
143
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Facilitating Awesome Meetings
lara
57
7.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Writing Fast Ruby
sferik
630
63k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
First, design no harm
axbom
PRO
2
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Accessibility Awareness
sabderemane
1
240
Producing Creativity
orderedlist
PRO
348
41k
Transcript
։ൃΤϯδχΞ͕࣮ફ͢ΔDevSecOps ηΩϡϦςΟΛҙࣝͨࣗ͠ಈԽͷऔΓΈͷհ ࣍ظϑϩϯτγεςϜ։ൃ෦ ݄!%FW4FD0QT࠷લઢϑϩϯτϥϯφʔ͔ΒֶͿ࠷৽τϨϯυͱޭࣄྫ
2 WHO!? ลҰ JCOMגࣜձࣾ ࣍ظϑϩϯτγεςϜ։ൃ෦ WebΞϓϦέʔγϣϯͷ։ൃ DevOpsڥͷߏஙɾӡ༻ ΫϥυΠϯϑϥͷߏஙɾӡ༻
3 ݱߦγεςϜͷ՝ ৽ج൫ͷతɾίϯηϓτ w ηΩϡϦςΟɾ࣭ͷ୲อ w EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ w పఈతͳࣗಈԽ w
ܧଓతσϦόϦʔ$% w *OGSBTUSVDUVSFBT$PEF*B$ w ܧଓతΠϯςάϨʔγϣϯ$* "HFOEB
4 ԿΛ͍ͯ͠Δ෦ॺ͔ʁ
ݱߦγεςϜͷ՝
6 ͷͷݹ͍γεςϜ w ओʹ1)1ɺ$ ࣗಈςετ͕ͳ͍ σϓϩΠ࣌ʹਓखͰͷ࡞ۀ͕ඞཁ ӡ༻্ͷ w ຊ൪ڥͷϩάӾཡ ݱߦγεςϜͷ՝
৽ج൫ͷతɾίϯηϓτ
8 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
9 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
10 ίʔυͷηΩϡϦςΟରࡦ ੬ऑੑΛຒΊࠐ·ͳ͍ͨΊʹɺ੩తղੳෳࡶੑνΣοΫΛ׆༻͢Δ ར༻͍ͯ͠ΔϥΠϒϥϦ܈ͷηΩϡϦςΟରࡦ ߋ৽ͷݕΛࣗಈԽ͢ΔͨΊɺEFQFOEBCPUͰ13࡞ΛࣗಈԽ ࣮ߦڥͷηΩϡϦςΟ USJWZ (JUIVC"EWBODFE4FDVSJUZͰ੬ऑੑΛҰݩཧ αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
ଞʹΕΔ͜ͱ͕͋Γͦ͏ɺࠓޙͷ՝ ηΩϡϦςΟɾ࣭ͷ୲อ EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ
11 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
పఈతͳࣗಈԽ
13 w ܧଓతσϦόϦʔ$% w ֤ڥͷσϓϩΠΛࣗಈԽ w *OGSBTUSVDUVSF"T$PEF*B$ w ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ w
ͦͷଞఆظλεΫͷࣗಈԽ w HJUIVCͷϝτϦοΫͷࢹ ۭ͖γʔτɺ()"ͷ࣮ߦ࣌ؒʜ ओͳࣗಈԽͷॲཧ $%ɾ*B$ɾͦͷଞ
ܧଓతσϦόϦʔ$%
15 ओͳࣗಈԽͷॲཧ ֤ڥͷσϓϩΠͷࣗಈԽ ί υ ͷ ν Ϋ Ξ
τ ί ϯ ς φ Ϩ δ ε τ Ϧ ʹ ϩ ά Π ϯ λ ά ໊ Λ औ ಘ ί ϯ ς φ Λ build & push λ ά ໊ ͔ Β Ϧ Ϗ δ ϯ ໊ Λ ࡞ Azure ϩ ά Π ϯ ࣮ ߦ த ͷ Ϧ Ϗ δ ϯ Λ औ ಘ ৽ ͠ ͍ Ϧ Ϗ δ ϯ Λ σ ϓ ϩ Π (traf c: 0%) Azure ϩ ά Π ϯ ৽ چ ͷ Ϧ Ϗ δ ϯ ͷ traf c Λ ೖ ସ ͑ Azure ϩ ά Π ϯ چ Ϧ Ϗ δ ϯ Λ আ Build Deploy Flip Deactivate ঝೝ ঝೝ ϦϦʔελάΛ࡞ Ұ୴͜͜Ͱఀࢭ
*OGSBTUSVDUVSF"T$PEF*B$
17 ओͳࣗಈԽͷॲཧ ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ IaC ί υ ͷ จ ๏ ν
Ϋ STG ֤ ڥ ͱ ͷ ࠩ Λ औ ಘ ࠩ Λ PR ί ϝ ϯ τ ʹ ߘ IaC ί υ ͷ จ ๏ ν Ϋ ϓ ϩ Ϗ δ χ ϯ ά ࣮ ߦ PR࡞ ঝೝ UAT PROD Bicepίʔυͱ ࠩΛൺֱ ͕ͳ͚Ε Ϛʔδ ϨϏϡʔ ϦϦʔε ߏมߋ Ұ୴͜͜Ͱఀࢭ
ܧଓతΠϯςάϨʔγϣϯ$*
19 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
20 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
21 ओͳࣗಈԽͷॲཧ 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ ί ϯ ς φ ͷ Ϗ ϧ
υ ί σ ϯ ά ε λ Π ϧ ν Ϋ phpstan ʹ Α Δ ੩ త ղ ੳ UnitTest ɾ Feature Test ͷ ࣮ ߦ SonarQube ʹ Α Δ ੩ త ղ ੳ ࣮ ߦ ݁ Ռ Λ Teams ʹ ௨ SonaeQube Badge Λ PR ί ϝ ϯ τ ʹ ߘ ίʔυͷ৴པੑɾอकੑ ্ͷࢪࡦ w ݕ༰ͷྫ w ܕͷෆҰகͷݕ w ଘࡏ͠ͳ͍Ϋϥεϝ ιουͷݺͼग़͠ w ྻΩʔϓϩύςΟͷ ະఆٛΞΫηε w ౸ୡෆೳͳίʔυ 4"45ʢ੩తΞϓϦέʔγϣϯη ΩϡϦςΟςετʣ w ݕ༰ w όάηΩϡϦςΟͷ੬ऑੑ w ίʔυͷॏෳɺෳࡶੑɺίʔ σΟϯάنҧ w ςετΧόϨοδͷଌఆ w ٕज़తෛ࠴ͷఆྔԽ
22 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
23 ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ IUUQTEPDTHJUIVCDPNKBDPEFTFDVSJUZHFUUJOHTUBSUFEEFQFOEBCPURVJDLTUBSUHVJEF
24 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
25 NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ
26 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
27 %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ
28 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
29 NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
31 αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛू ӬଓԽ ϑϩϯτΞϓϦϩά ෆมϙϦγʔͷద༻ ϩάͷϥΠϑαΠΫϧઃఆ ϩάɾϝτϦοΫΞϥʔτ Ξϥʔτ௨ υΩϡϝϯτࢀর
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
32 4POBS2VCF
33 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
ࠓޙ༷ʑͳվળΛਐΊΔՌͯ͠ͳ͍ಓͷΓΛొΓଓ͚·͢
None