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
開発エンジニアが実践するDevSecOps
Search
Kaz Watanabe
April 17, 2025
Technology
150
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
35
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
190
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
370
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.2k
Other Decks in Technology
See All in Technology
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
120
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
130
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.6k
インシデントレスポンス演習 I / Incident Response Exercise I
ks91
PRO
0
100
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
110
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
430
生成 AI 実践ガイド (概略版) AIガバナンス編
asei
0
140
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
23
6k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
420
手塩にかけりゃいいってもんじゃない
ming_ayami
0
610
Featured
See All Featured
We Are The Robots
honzajavorek
0
250
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Documentation Writing (for coders)
carmenintech
77
5.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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