ã¯ããã«ïŒDevSecOpsã£ãŠäœã ããïŒ ð€
ããã«ã¡ã¯ïŒ ð æè¿ãITã®äžçã§ãDevSecOpsïŒããã»ãã¯ãªãã¹ïŒããšããèšèãããè³ã«ããããã«ãªããŸããããã§ãããDevOpsã¯èããããšãããã©ãSecã£ãŠäœïŒããšããå ·äœçã«äœãããã®ïŒããšæã£ãŠããæ¹ãå€ãã®ã§ã¯ãªãã§ããããã
ãã®èšäºã§ã¯ããããªDevSecOpsã«ã€ããŠãåå¿è ã®æ¹ã«ãåããããããåºç€ãã解説ããŠãããŸããéçºã¹ããŒããšã»ãã¥ãªãã£ãäž¡ç«ãããããã®éèŠãªèãæ¹ãªã®ã§ããã²äžç·ã«åŠãã§ãããŸãããïŒ
DevSecOpsã®åºæ¬çãªæå³ ð
DevSecOpsã¯ããDevelopmentïŒéçºïŒããSecurityïŒã»ãã¥ãªãã£ïŒããOperationsïŒéçšïŒãã®3ã€ã®èšèãçµã¿åãããé èªã§ãã
ãããç°¡åã«èšããšããœãããŠã§ã¢éçºã®ã©ã€ããµã€ã¯ã«å šäœïŒäŒç»ãèšèšãéçºããã¹ãããããã€ãéçšïŒã«ãæåããã»ãã¥ãªãã£å¯Ÿçãçµã¿èŸŒãã§ãããïŒãšããèãæ¹ãæåããããŠãã®ããã®å®è·µæ¹æ³ã®ããšã§ãã
åŸæ¥ã®éçºããã»ã¹ã§ã¯ãã»ãã¥ãªãã£å¯Ÿçã¯éçºã®æåŸã®æ¹ãããªãªãŒã¹åŸã«è¡ãããããšãäžè¬çã§ãããããããããã§ã¯åé¡ãèŠã€ãã£ãæã«ææ»ãã倧ãããªã£ãããè匱æ§ãèŠéãããããããªã¹ã¯ããããŸããã
DevSecOpsã§ã¯ãéçºããŒã ãã»ãã¥ãªãã£ããŒã ãéçšããŒã ãå¯ã«é£æºããéçºã®åæ段éããã»ãã¥ãªãã£ãèæ ®ããããšã§ãããå®å šã§é«å質ãªãœãããŠã§ã¢ããããè¿ éã«ãªãªãŒã¹ããããšãç®æããŸãããããã»ãã¥ãªãã£å¯Ÿçãéçºããã»ã¹ã®æ©ã段éïŒå·ŠåŽïŒã«ç§»è¡ãããããšãããã·ããã¬ããããšåŒãã ããããŸãã
DevSecOpsã®ã2ã€ã®åŽé¢ãâïž
DevSecOpsã¯ãåäžã®ããŒã«ãæè¡ãæãã®ã§ã¯ãªããããå°ãåºãæå³åããæã£ãŠããŸãã倧ããåããŠã以äžã®2ã€ã®åŽé¢ããç解ãããšåãããããã§ãããã
- æåã»èãæ¹ãšããŠã®DevSecOps ð€:
- éçºè ãã»ãã¥ãªãã£æ åœè ãéçšæ åœè ããããããã®åœ¹å²ã®å£ãè¶ããŠååãåãæåãéžæããããšã
- ãã»ãã¥ãªãã£ã¯å šå¡ã®è²¬ä»»ããšããæèãå ±æããéçºã®åæ段éããã»ãã¥ãªãã£ãåœããåã®ããšãšããŠçµã¿èŸŒããã€ã³ãã»ãããæã€ããšã
- ç¶ç¶çãªåŠç¿ãšæ¹åãéããŠãã»ãã¥ãªãã£ãã©ã¯ãã£ã¹ãé²åãããŠããããšã
- å
·äœçãªå®è·µã»ããŒã«ãšããŠã®DevSecOps ð ïž:
- ã»ãã¥ãªãã£èŠä»¶ãéçºããã»ã¹ã«çµ±åããããšã
- ã»ãã¥ãªãã£ãã¹ãïŒè匱æ§ã¹ãã£ã³ãªã©ïŒãèªååããCI/CDãã€ãã©ã€ã³ïŒâ»ïŒã«çµã¿èŸŒãããšã
- Infrastructure as Code (IaC) ã掻çšããŠãã€ã³ãã©ã®ã»ãã¥ãªãã£èšå®ãã³ãŒãã§ç®¡çããèªååããããšã
- è åšã¢ããªã³ã°ãã»ãã¥ãªãã£ã¬ãã¥ãŒãéçºã®æ©ã段éã§å®æœããããšã
- ã»ãã¥ãªãã£ç£èŠãã€ã³ã·ãã³ã察å¿ã®ããã»ã¹ã確ç«ããèªååãåãå ¥ããããšã
â» CI/CDãã€ãã©ã€ã³: Continuous IntegrationïŒç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒ/ Continuous DeliveryïŒç¶ç¶çããªããªãŒïŒã®ç¥ããœãããŠã§ã¢ã®ãã«ãããã¹ãããããã€ãèªååããä»çµã¿ã®ããšã
ãã®ããã«ãDevSecOpsã¯æåçãªå€é©ãšããããæ¯ããå ·äœçãªæè¡ãããŒã«ã®å°å ¥ã®äž¡èŒªã§é²ããããŸãã
ãªãä»ãDevSecOpsãå¿ èŠãªã®ãïŒ ð¡
DevSecOpsã泚ç®ãããèæ¯ã«ã¯ãããã€ãã®çç±ããããŸãã
- éçºã¹ããŒãã®é«éåïŒã¢ãžã£ã€ã«éçºãDevOpsã®æ®åïŒ: ãœãããŠã§ã¢éçºã®ãµã€ã¯ã«ãçããªããåŸæ¥ã®ãåŸä»ããã®ã»ãã¥ãªãã£å¯Ÿçã§ã¯è¿œãã€ããªããªã£ãŠããã
- ãµã€ããŒæ»æã®é«åºŠåã»å¢å : äŒæ¥ã®ã·ã¹ãã ãçã£ãå·§åŠãªãµã€ããŒæ»æãå¢ããã»ãã¥ãªãã£å¯Ÿçã®éèŠæ§ãå¢ããŠããã
- ã¯ã©ãŠããã€ãã£ãæè¡ã®æ®å: ã³ã³ããããã€ã¯ããµãŒãã¹ãªã©ã®æ°ããæè¡ãç»å Žãããããã«å¯Ÿå¿ããã»ãã¥ãªãã£å¯Ÿçãå¿ èŠã«ãªã£ãã
- ã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ã®å³æ Œå: GDPRãå人æ å ±ä¿è·æ³ãªã©ãããŒã¿ä¿è·ã«é¢ããèŠå¶ã匷åãããã»ãã¥ãªãã£éµå®ãäžå¯æ¬ ã«ãªã£ãã
ãããã®å€åã«å¯Ÿå¿ããéãéçºã¹ããŒããç¶æãã€ã€ãã»ãã¥ãªãã£ããã£ãã確ä¿ããããã«ãDevSecOpsã®ã¢ãããŒããäžå¯æ¬ ã«ãªã£ãŠããŠããã®ã§ãã
DevSecOpsã®ã¡ãªãã âš
DevSecOpsãå°å ¥ããããšã§ã以äžã®ãããªã¡ãªãããæåŸ ã§ããŸãã
- â ã»ãã¥ãªãã£ãªã¹ã¯ã®äœæž: éçºåæããã»ãã¥ãªãã£ãçµã¿èŸŒãããšã§ãè匱æ§ã®çºèŠãšä¿®æ£ãæ©æã«è¡ããããªãªãŒã¹åŸã®é倧ãªã»ãã¥ãªãã£ã€ã³ã·ãã³ããé²ãããããªããŸãã
- ð éçºã¹ããŒãã®åäž: ã»ãã¥ãªãã£ãã¹ãã®èªååãªã©ã«ãããæåã§ã®ãã§ãã¯å·¥çšãåæžãããéçºããã»ã¹å šäœã®ã¹ããŒãã¢ããã«ã€ãªãããŸããã»ãã¥ãªãã£èµ·å ã®ææ»ããæžãããŸãã
- ð° ã³ã¹ãåæž: éçºã®åŸå·¥çšã§è匱æ§ãçºèŠããããšãä¿®æ£ã³ã¹ãã¯éåžžã«é«ããªããŸããæ©æçºèŠã»æ©æä¿®æ£ã«ãããããŒã¿ã«ã³ã¹ããåæžã§ããŸãã
- ð€ ããŒã éã®é£æºåŒ·å: éçºã»ã»ãã¥ãªãã£ã»éçšã®åããŒã ãååããããšã§ãã³ãã¥ãã±ãŒã·ã§ã³ãåæ»ã«ãªããçµç¹å šäœã®çç£æ§ãåäžããŸãã
- ð ã³ã³ãã©ã€ã¢ã³ã¹éµå®ã®åŒ·å: ã»ãã¥ãªãã£å¯Ÿçãããã»ã¹ã«çµã¿èŸŒãŸããããšã§ãåçš®èŠå¶ãåºæºãžã®å¯Ÿå¿ã容æã«ãªããŸãã
- ð ä¿¡é Œæ§ã®åäž: å®å šãªè£œåã»ãµãŒãã¹ãæäŸããããšã§ã顧客ããã®ä¿¡é ŒãåŸããããªããŸãã
DevSecOpsã®ãã¡ãªããã»èª²é¡ ð€
å€ãã®ã¡ãªãããããäžæ¹ã§ãDevSecOpsã®å°å ¥ã«ã¯ããã€ãã®èª²é¡ãååšããŸãã
- 𧱠æåå€é©ã®é£ãã: åŸæ¥ã®çžŠå²ãçµç¹ã®æèãå€ãããã»ãã¥ãªãã£ã¯å šå¡ã®è²¬ä»»ããšããæåãæ ¹ä»ãããã«ã¯æéãšåŽåãããããŸãã
- ð§ ããŒã«å°å ¥ã®ã³ã¹ããšåŠç¿: ã»ãã¥ãªãã£ãã¹ãããŒã«ãèªååããŒã«ãªã©ã®å°å ¥ã«ã¯ã³ã¹ããããããããŒã«ã®äœ¿ãæ¹ãç¿åŸããå¿ èŠããããŸãã
- ð§âð» ã¹ãã«ã»ããã®å¿ èŠæ§: éçºè ã«ãåºæ¬çãªã»ãã¥ãªãã£ç¥èãæ±ããããããã»ãã¥ãªãã£æ åœè ã«ãéçºããã»ã¹ãžã®ç解ãå¿ èŠã«ãªã£ããããŸãã
- ð åæ段éã§ã®è² è·å¢: å°å ¥åæã«ã¯ãããã»ã¹ã®èŠçŽããããŒã«ã®èšå®ãªã©ã§äžæçã«è² è·ãå¢å ããå¯èœæ§ããããŸãã
- 𧩠é©åãªããŒã«ã®éžå®: åžå Žã«ã¯å€ãã®DevSecOpsé¢é£ããŒã«ããããèªç€Ÿã®ç°å¢ãéçºããã»ã¹ã«åã£ãé©åãªããŒã«ãéžå®ããããšãéèŠã§ãã
DevSecOpsã®å ·äœçãªãã©ã¯ãã£ã¹äŸ ð ïž
DevSecOpsãå®çŸããããã«ã¯ãæ§ã ãªæè¡ãããŒã«ãææ³ãçšããããŸããããã§ã¯ä»£è¡šçãªãã®ãããã€ã玹ä»ããŸãã
ãã©ã¯ãã£ã¹å | æŠèŠ | äž»ãªç®çã»å¹æ |
---|---|---|
SAST (Static Application Security Testing) éçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ã |
ãœãŒã¹ã³ãŒããçŽæ¥è§£æããã³ãŒãã£ã³ã°äžã®è匱æ§ãã»ãã¥ãªãã£äžã®åé¡ç¹ãèŠã€ãåºããã¹ãææ³ããã«ãæãã³ãããæã«èªåå®è¡ãããããšãå€ãã | ã³ãŒãã£ã³ã°æ®µéã§ã®æ©æã®è匱æ§çºèŠãã»ãã¥ã¢ã³ãŒãã£ã³ã°ã®ä¿é²ã |
DAST (Dynamic Application Security Testing) åçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ã |
å®éã«ã¢ããªã±ãŒã·ã§ã³ãåäœãããå€éšããç䌌çãªæ»æãªã¯ãšã¹ããéãããšã§ãå®è¡æã«çŸããè匱æ§ãæ€åºãããã¹ãææ³ããã¹ãç°å¢ãã¹ããŒãžã³ã°ç°å¢ã§å®è¡ãããã | å®è¡ç°å¢ã§ã®è匱æ§ïŒèšå®ãã¹ãèªèšŒäžåãªã©ïŒã®çºèŠã |
SCA (Software Composition Analysis) ãœãããŠã§ã¢æ§æåæ |
å©çšããŠãããªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ïŒOSSïŒãã©ã€ãã©ãªã«å«ãŸããæ¢ç¥ã®è匱æ§ãã©ã€ã»ã³ã¹éåãæ€åºããã | ãµãã©ã€ãã§ãŒã³ãªã¹ã¯ã®ç®¡çãã©ã€ã»ã³ã¹ã³ã³ãã©ã€ã¢ã³ã¹ã®ç¢ºä¿ã |
IaC (Infrastructure as Code) ã»ãã¥ãªã㣠| TerraformãCloudFormationãªã©ã®ã³ãŒãã§å®çŸ©ãããã€ã³ãã©æ§æãã¡ã€ã«ãã¹ãã£ã³ããã»ãã¥ãªãã£èšå®ã®äžåãè匱æ§ãæ€åºããã | ã€ã³ãã©æ§ç¯æ®µéã§ã®ã»ãã¥ãªãã£ãªã¹ã¯äœæžãèšå®ãã¹é²æ¢ã |
ã³ã³ããã»ãã¥ãªãã£ã¹ãã£ã³ | Dockerã€ã¡ãŒãžãªã©ã®ã³ã³ããã€ã¡ãŒãžã«å«ãŸããOSããã±ãŒãžãã©ã€ãã©ãªã®è匱æ§ãã¹ãã£ã³ããã | ã³ã³ããç°å¢ã®ã»ãã¥ãªãã£ç¢ºä¿ã |
è åšã¢ããªã³ã° | éçºã®åæ段éïŒèšèšæ®µéãªã©ïŒã§ãã·ã¹ãã ã«å¯Ÿããæœåšçãªè åšãæŽãåºãã察çãæ€èšããããã»ã¹ã | èšèšã¬ãã«ã§ã®ã»ãã¥ãªãã£ãªã¹ã¯ã®ç¹å®ãšå¯Ÿçã |
ã»ãã¥ãªãã£ã¬ãŒãã¬ãŒã« | CI/CDãã€ãã©ã€ã³ãªã©ã«ã»ãã¥ãªãã£ãã§ãã¯ãçµã¿èŸŒã¿ãäžå®ã®åºæºãæºãããªãå Žåã¯ãããã€ãèªåçã«åæ¢ãããªã©ã®ä»çµã¿ã | å®å šã§ãªãã³ãŒããèšå®ã®æ¬çªç°å¢ãžã®ãããã€é²æ¢ã |
ç¶ç¶çãªç£èŠãšãã°åæ | æ¬çªç°å¢ã§ã®ã»ãã¥ãªãã£ã€ãã³ãããªã¢ã«ã¿ã€ã ã§ç£èŠãããã°ãåæããŠç°åžžãæ»æã®å åãæ€ç¥ããã | ã€ã³ã·ãã³ãã®æ©æçºèŠãšå¯Ÿå¿ã |
ãããã®ãã©ã¯ãã£ã¹ããéçºã©ã€ããµã€ã¯ã«ã®é©åãªæ®µéã§èªååããŠçµã¿èŸŒãããšããDevSecOpsã®éµãšãªããŸãã
DevSecOpsã®å°å ¥äºäŸ ð¢
DevSecOpsã¯ãç¹å®ã®æ¥çã«éãããå€ãã®äŒæ¥ã§å°å ¥ãé²ãã§ããŸãã
- éèæ©é¢: 顧客æ å ±ãååŒããŒã¿ãæ±ãéèæ©é¢ã§ã¯ãã»ãã¥ãªãã£ã¯æéèŠèª²é¡ã§ãã倧æéè¡ã蚌åžäŒç€Ÿã§ã¯ãã¢ãžã£ã€ã«éçºãšäžŠè¡ããŠDevSecOpsãå°å ¥ããå®å šãªéèãµãŒãã¹ãè¿ éã«æäŸããåãçµã¿ãé²ãã§ããŸããäŸãã°ã2010幎代åŸåãããå€ãã®éèæ©é¢ãCI/CDãã€ãã©ã€ã³ãžã®ã»ãã¥ãªãã£ãã¹ãèªååïŒSAST/DASTïŒã®çµã¿èŸŒã¿ãéå§ããŸããã
- Eã³ããŒã¹äŒæ¥: 倧éã®ã¢ã¯ã»ã¹ãšæ±ºæžåŠçãæ±ãEã³ããŒã¹ãµã€ãã§ã¯ãã·ã¹ãã ã®å®å®æ§ãšã»ãã¥ãªãã£ãäžå¯æ¬ ã§ããé »ç¹ãªæ©èœãªãªãŒã¹ãšã»ãã¥ãªãã£ç¢ºä¿ãäž¡ç«ããããããèªååãããã»ãã¥ãªãã£ãã¹ããã€ã³ãã©ã®ã³ãŒãåïŒIaCïŒã«ããã»ãã¥ãªãã£åŒ·åãé²ããããŠããŸãã
- ãã¯ãããžãŒäŒæ¥: GoogleãNetflixãAmazonãªã©ã®å€§æãã¯ãããžãŒäŒæ¥ã¯ãDevOpsãDevSecOpsã®å é²çãªäºäŸãšããŠç¥ãããŠããŸãã圌ãã¯ç¬èªã®ããŒã«ããã©ãããã©ãŒã ãéçºããéçºããã»ã¹å šäœã«ã»ãã¥ãªãã£ãæ·±ãçµ±åããŠããŸããïŒãããã®äŒæ¥ã®åãçµã¿ã¯2010幎代åé ããèŠãããŸãïŒ
- æ¿åºæ©é¢: ç±³åœé²ç·çãªã©ãäžéšã®æ¿åºæ©é¢ã§ãããœãããŠã§ã¢éçºã®è¿ä»£åãšã»ãã¥ãªãã£åŒ·åã®ããã«DevSecOpsã®å°å ¥ãé²ããããŠããŸããPlatform Oneã®ãããªåãçµã¿ãç¥ãããŠããŸãã
ãããã®äºäŸã«å ±éããã®ã¯ãåã«ããŒã«ãå°å ¥ããã ãã§ãªããçµç¹æåã®å€é©ã«ãåãå ¥ããŠããç¹ã§ããçµå¶å±€ã®ã³ãããã¡ã³ãã®ããšãéšééã®é£æºãä¿é²ããç¶ç¶çãªæ¹åãè¡ã£ãŠããŸãã
ãŸãšã ð
DevSecOpsã¯ããéçºã¹ããŒãããšãã»ãã¥ãªãã£ãããã¬ãŒããªãã®é¢ä¿ã§ã¯ãªããäž¡ç«ãããããã®éèŠãªã¢ãããŒãã§ãã
ããã¯ãåãªãããŒã«ã®å°å ¥ã ãã§ãªããéçºã»ã»ãã¥ãªãã£ã»éçšããŒã ãäžäœãšãªã£ãŠååãããã»ãã¥ãªãã£ã¯å šå¡ã®è²¬ä»»ããšããæåãè²ãããšãæ žå¿ã«ãããŸãã
DevSecOpsãå°å ¥ããããšã§ãããå®å šãªãœãããŠã§ã¢ããããè¿ éã«ãŠãŒã¶ãŒãžå±ããããããã«ãªããŸããå°å ¥ã«ã¯èª²é¡ããããŸããããã®ã¡ãªããã¯éåžžã«å€§ãããšèšããã§ãããã
ãã®èšäºããDevSecOpsãç解ãã第äžæ©ãšãªãã°å¹žãã§ãïŒ ð
ã³ã¡ã³ã