°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "Microservices Security in Action" Á¤°¡ 48,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
1ºÎ. °³¿ä
1Àå. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ Æ¯Â¡ 1.1 ¸ð³î¸®½Ä ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¸¾È µ¿ÀÛ ¿ø¸® 1.2 ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ ¾î·Á¿ò 1.2.1 °ø°Ý ³ëÃâ ÁöÁ¡ÀÌ ³Ð¾îÁú¼ö·Ï °ø°Ý¹ÞÀ» À§Çèµµ Áõ°¡ 1.2.2 º¸¾È °ËÁõ ÁöÁ¡ ºÐ¸®´Â ¼º´É ÀúÇϸ¦ ÃÊ·¡ 1.2.3 ¹èÆ÷ º¹À⼺À¸·Î ÀÎÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ ÃÊ±â ½Å·Ú ¼³Á¤ ¾î·Á¿ò 1.2.4 ´Ù¾çÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½Å ÃßÀûÀÇ ¾î·Á¿ò 1.2.5 ÄÁÅ×À̳ÊÀÇ ºÒº¯¼ºÀ¸·Î ÀÎÇÑ ÀÚ°ÝÁõ¸í°ú Á¢±Ù Á¦¾î Á¤Ã¥ À¯ÁöÀÇ ¾î·Á¿ò 1.2.6 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ºÐ»êµÈ Ư¼ºÀ¸·Î ÀÎÇÑ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯ÀÇ ¾î·Á¿ò 1.2.7 ´ÙÁß °³¹ß ¾ð¾î Áö¿ø ¾ÆÅ°ÅØó´Â °³¹ß ÆÀ¿¡ ´õ ¸¹Àº º¸¾È Àü¹®Áö½ÄÀ» ¿ä±¸ 1.3 ÇÙ½É º¸¾È ¿øÄ¢ 1.3.1 ÀÎÁõÀº ½ºÇªÇÎÀ¸·ÎºÎÅÍ ½Ã½ºÅÛÀ» º¸È£ 1.3.2 ¹«°á¼º °ËÁõÀ¸·Î µ¥ÀÌÅÍ º¯Á¶¿¡¼ ½Ã½ºÅÛÀ» º¸È£ 1.3.3 ºÎÀιæÁö: ÇÑ ¹øÀÇ ¼¸íÀ¸·Î ¿µ±¸ÀûÀ¸·Î ±â·ÏÇÏÀÚ 1.3.4 ±â¹Ð¼ºÀº ÀǵµÇÏÁö ¾ÊÀº Á¤º¸ ³ëÃâ¿¡¼ ½Ã½ºÅÛÀ» º¸È£ 1.3.5 °¡¿ë¼º: ¾î¶°ÇÑ »óȲ¿¡¼µµ ½Ã½ºÅÛÀ» °¡µ¿ ÁßÀÎ »óÅ·ΠÀ¯Áö 1.3.6 Àΰ¡: ±ÇÇÑ ¹üÀ§¸¦ ³Ñ¾î¼± ÇàÀ§ Â÷´Ü 1.4 ¿ÜºÎ °æ°è º¸¾È 1.4.1 ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ ¿ªÇÒ 1.4.2 °æ°è ÁöÁ¡¿¡¼ÀÇ ÀÎÁõ 1.4.3 °æ°è ÁöÁ¡ Àΰ¡ ÀýÂ÷ 1.4.4 Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼Ç/»ç¿ëÀÚ ÄÁÅؽºÆ®¸¦ »óÀ§ ¸¶ÀÌÅ©·Î¼ºñ½º·Î Àü´Þ 1.5 ¼ºñ½º °£ Åë½Å º¸¾È 1.5.1 ¼ºñ½º °£ ÀÎÁõ 1.5.2 ¼ºñ½º ¼öÁØ Àΰ¡ 1.5.3 ¸¶ÀÌÅ©·Î¼ºñ½º °£ »ç¿ëÀÚ ÄÁÅؽºÆ® ÀüÆÄ 1.5.4 ½Å·Ú °æ°è °£ ¿¬°á ¿ä¾à
2Àå. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀ» À§ÇÑ Ã¹ ´Ü°è 2.1 ù ¹ø° ¸¶ÀÌÅ©·Î¼ºñ½º Á¦ÀÛ 2.1.1 ÇÊ¿ä ¼ÒÇÁÆ®¿þ¾î ´Ù¿î·Îµå ¹× ¼³Ä¡ 2.1.2 ¿¹Á¦ ÄÚµå ÀúÀå¼Ò º¹»çº» »ý¼º 2.1.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ÄÄÆÄÀÏ 2.1.4 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù 2.1.5 ¼Ò½º ÄÚµå µð·ºÅ丮¿¡´Â ¾î¶² °ÍÀÌ Àִ°¡? 2.1.6 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¼Ò½º ÄÚµå ÀÌÇØ 2.2 OAuth 2.0 ¼¹ö Áغñ 2.2.1 Àΰ¡ ¼¹ö¿ÍÀÇ Åë½Å 2.2.2 OAuth 20 Àΰ¡ ¼¹ö ½ÇÇà 2.2.3 OAuth 20 Àΰ¡ ¼¹ö¿¡¼ ¾×¼¼½º ÅäÅ« ȹµæ 2.2.4 ¾×¼¼½º ÅäÅ« ÀÀ´ä ÀÌÇØÇϱâ 2.3 OAuth 2.0À» »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È 2.3.1 OAuth 20 ±â¹Ý º¸¾È 2.3.2 ¿¹Á¦ ÄÚµå ½ÇÇà 2.4 Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ǿ¡¼ º¸¾ÈÀÌ Àû¿ëµÈ ¸¶ÀÌÅ©·Î¼ºñ½º È£Ãâ 2.5 OAuth 2.0 ±ÇÇÑ ¹üÀ§¸¦ »ç¿ëÇÑ ¼ºñ½º ¼öÁØ Àΰ¡ ¼öÇà 2.5.1 Àΰ¡ ¼¹ö¿¡¼ ¹üÀ§°¡ ÁöÁ¤µÈ ¾×¼¼½º ÅäÅ« ȹµæ 2.5.2 OAuth 20 ¹üÀ§¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù º¸È£ ¿ä¾à
2ºÎ. ¿ÜºÎ °æ°è º¸¾È
3Àå. API °ÔÀÌÆ®¿þÀ̸¦ »ç¿ëÇÑ Å¬¶óÀ̾ðÆ®¿Í ³»ºÎ ½Ã½ºÅÛ »çÀÌÀÇ Æ®·¡ÇÈ º¸¾È 3.1 ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ Çʿ伺 3.1.1 ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ º¸¾È ¿µ¿ª ºÐ¸® 3.1.2 ¼Òºñ¸¦ ´õ ¾î·Æ°Ô ÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ìÀÇ °íÀ¯ÇÑ º¹À⼺ 3.1.3 ¿ÜºÎ¿¡ ³ëÃâÇÏÁö ¾Ê´Â °Ô ¹Ù¶÷Á÷ÇÑ ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ Æ¯¼º 3.2 ¿ÜºÎ °æ°è º¸¾È 3.2.1 ¸¶ÀÌÅ©·Î¼ºñ½º ¼ÒºñÀÚ È¯°æ ÀÌÇØ 3.2.2 Á¢±Ù À§ÀÓ 3.2.3 API º¸È£¸¦ À§ÇØ Basic ÀÎÁõÀ» »ç¿ëÇؼ± ¾È µÇ´Â ÀÌÀ¯ 3.2.4 API º¸È£¸¦ À§ÇØ °øÅë Àü¼Û °èÃþ º¸¾ÈÀ» »ç¿ëÇؼ± ¾È µÇ´Â ÀÌÀ¯ 3.2.5 OAuth 20À» »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯ 3.3 Zuul API °ÔÀÌÆ®¿þÀÌ ¼³Ä¡ 3.3.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ÄÄÆÄÀÏ ¹× ½ÇÇà 3.3.2 Zuul ÇÁ·Ï½Ã ÄÄÆÄÀÏ ¹× ½ÇÇà 3.3.3 Zuul °ÔÀÌÆ®¿þÀÌ¿¡ OAuth 20 ±â¹Ý º¸¾È Àû¿ë 3.4 Zuul°ú ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ Åë½Å º¸¾È 3.4.1 ¹æȺ®À¸·Î Á¢±Ù ¹æÁö 3.4.2 mTLS¸¦ »ç¿ëÇÑ API °ÔÀÌÆ®¿þÀÌ¿Í ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ Åë½Å º¸¾È ¿ä¾à
4Àå. ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î º¸¾ÈÀ» °ÈÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù 4.1 ¾Þ±Ö·¯¸¦ »ç¿ëÇØ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà 4.1.1 ¾Þ±Ö·¯ ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇà 4.1.2 ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¿ÀÛ¿ø¸® »ìÆ캸±â 4.2 CORS ±¸Ãà 4.2.1 µ¿ÀÏ Ãâó Á¤Ã¥ »ç¿ë 4.2.2 CORS »ç¿ë 4.2.3 ±³Â÷ Ãâó ¿äûÀ» Çã¿ëÇÏ´Â Ãâ¹ßÁö °Ë»ç 4.2.4 API °ÔÀÌÆ®¿þÀ̸¦ ¸®¼Ò½º ¼¹ö ÇÁ·Ï½Ã·Î ¿î¿µ 4.3 OIDC¸¦ »ç¿ëÇÑ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È 4.3.1 OIDC ·Î±×ÀÎ È帧 ÀÌÇØ 4.3.2 ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå ºÐ¼® 4.4 ¿¬ÇÕ ÀÎÁõ »ç¿ë 4.4.1 ´Ù¼öÀÇ ½Å·Ú µµ¸ÞÀεé 4.4.2 µµ¸ÞÀÎ °£ÀÇ ½Å·Ú Çü¼º ¿ä¾à
5Àå. ¿äû Á¦ÇÑ, ¸ð´ÏÅ͸µ ¹× Á¢±Ù Á¦¾î ¼öÇà 5.1 ZuulÀ» »ç¿ëÇØ API °ÔÀÌÆ®¿þÀÌ·Î º¸³»Áö´Â ¿äû °ü¸® 5.1.1 ÇÒ´ç·® ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç ¿äû Á¦ÇÑ 5.1.2 »ç¿ëÀÚ¸¦ À§ÇÑ °øÆòÇÑ »ç¿ë Á¤Ã¥ 5.1.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ ÇÒ´ç·® ±â¹Ý ¿äû Á¦ÇÑ Àû¿ë 5.1.4 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÃÖ´ë ó¸® ¿ë·® 5.1.5 ¿î¿µ °üÁ¡¿¡¼ÀÇ ¿äû Á¦ÇÑ 5.1.6 OAuth 20 ÅäÅ« ¹× Àΰ¡ ó¸® ÁöÁ¡À» ÇâÇÑ ¿äû Á¦ÇÑ 5.1.7 ±ÇÇÑ ±â¹Ý ¿äû Á¦ÇÑ 5.2 ÇÁ·Î¸ÞÅ׿콺¿Í ±×¶óÆijª¸¦ »ç¿ëÇÑ ¸ð´ÏÅ͸µ ¹× ºÐ¼® 5.2.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ¸ð´ÏÅ͸µ 5.2.2 ÇÁ·Î¸ÞÅ׿콺 ¸ÞÆ®¸¯ ¸ð´ÏÅ͸µÀÇ µ¿ÀÛ¿ø¸® 5.3 OPA¸¦ »ç¿ëÇØ API °ÔÀÌÆ®¿þÀÌ¿¡ Á¢±Ù Á¦¾î Á¤Ã¥ Àû¿ë 5.3.1 µµÄ¿ ÄÁÅ×À̳ʷΠOPA ½ÇÇà 5.3.2 OPA ¿£Áø¿¡ µ¥ÀÌÅÍ Á¦°ø 5.3.3 OPA ¿£Áø¿¡ Á¢±Ù Á¦¾î Á¤Ã¥ Á¦°ø 5.3.4 OPA Á¤Ã¥ Æò°¡ 5.3.5 OPA »ç¿ë ½Ã Âü°í»çÇ× ¿ä¾à
3ºÎ. ¼ºñ½º °£ Åë½Å
6Àå. ÀÎÁõ¼¸¦ »ç¿ëÇØ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£ 6.1 mTLS¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯ 6.1.1 ÀÎÁõ±â°üÀ» ÀÌ¿ëÇØ Å¬¶óÀ̾ðÆ®¿Í ¼¹ö °£¿¡ ½Å·Ú ±¸Ãà 6.1.2 mTLS´Â Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö°¡ ¼·Î¸¦ ½Äº°Çϵµ·Ï Áö¿ø 6.1.3 HTTPS´Â TLS ±â¹ÝÀ¸·Î µ¿ÀÛÇÏ´Â HTTP ÇÁ·ÎÅäÄÝ 6.2 ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±ÙÀ» º¸È£Çϱâ À§ÇØ ÀÎÁõ¼ »ý¼º 6.2.1 ÀÎÁõ±â°ü »ý¼º 6.2.2 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ »ç¿ëÇÒ Å° »ý¼º 6.2.3 Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ »ç¿ëÇÒ Å° »ý¼º 6.2.4 ÇÑ ¹øÀÇ ½ºÅ©¸³Æ® ½ÇÇàÀ¸·Î ÇÊ¿äÇÑ ¸ðµç Å° »ý¼º 6.3 TLS¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£ 6.3.1 TLS¸¦ Àû¿ëÇÑ ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà 6.3.2 TLS¸¦ Àû¿ëÇÑ Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà 6.3.3 TLS¸¦ »ç¿ëÇØ 2°³ÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½Å º¸È£ 6.4 ¸Å·ÂÀûÀÎ mTLS 6.5 Å° °ü¸®ÀÇ ¾î·Á¿ò 6.5.1 Å° ÇÁ·ÎºñÀú´×°ú ºÎÆ®½ºÆ®·¡ÇÎ ½Å·Ú 6.5.2 ÀÎÁõ¼ ÇØÁö 6.6 Å° ¼øȯ 6.7 Å° »ç¿ë ¸ð´ÏÅ͸µ ¿ä¾à
7Àå JWT¸¦ »ç¿ëÇÑ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£ 7.1 ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£¸¦ À§ÇÑ JWT »ç¿ë »ç·Ê 7.1.1 °øÀ¯ JWT¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º °£ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯ 7.1.2 ¼ºñ½º °£ »óÈ£ÀÛ¿ëÀ» À§ÇØ »õ·Î ¹ß±ÞÇÑ JWT¸¦ »ç¿ëÇØ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯ 7.1.3 ´Ù¸¥ ½Å·Ú µµ¸ÞÀο¡ ¼ÓÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º¿Í »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯ 7.1.4 ÀÚü¹ß±Þ JWT 7.1.5 ³×½ºÆ¼µå JWT 7.2 JWT¸¦ ¹ß±ÞÇÏ´Â STS ±¸Ãà 7.3 JWT¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£ 7.4 Á¢±Ù Á¦¾î¿¡ »ç¿ëÇÒ ±ÇÇÑ ¹üÀ§ Ãâó·Î JWT »ç¿ë 7.5 JWT¸¦ »ç¿ëÇØ ¼ºñ½º °£ Åë½Å º¸È£ 7.6 ´Ù¸¥ aud ¼Ó¼ºÀ» °¡Áø »õ·Î¿î JWT·Î JWT ±³È¯ ¿ä¾à
8Àå. gRPC¸¦ »ç¿ëÇÑ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£ 8.1 gRPC¸¦ »ç¿ëÇÑ ¼ºñ½º °£ Åë½Å 8.2 mTLS¸¦ »ç¿ëÇØ ¼ºñ½º °£ gRPC Åë½Å º¸È£ 8.3 JWT¸¦ »ç¿ëÇØ ¼ºñ½º °£ gRPC Åë½Å º¸È£ ¿ä¾à
9Àå. ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£ 9.1 ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯ 9.2 Ä«ÇÁÄ«¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ±¸Ãà 9.3 À̺¥Æ®¸¦ Ä«ÇÁÄ« ÅäÇÈ¿¡ Ǫ½ÃÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º °³¹ß 9.4 Ä«ÇÁÄ« ÅäÇÈ¿¡¼ À̺¥Æ®¸¦ Àд ¸¶ÀÌÅ©·Î¼ºñ½º °³¹ß 9.5 TLS¸¦ »ç¿ëÇØ Àü¼Û µ¥ÀÌÅÍ º¸È£ 9.5.1 TLS Å°¿Í Ä«ÇÁÄ« ÀÎÁõ¼ »ý¼º ¹× ¼¸í 9.5.2 Ä«ÇÁÄ« ¼¹ö¿¡ TLS ¼³Á¤ 9.5.3 ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ TLS ¼³Á¤ 9.6 mTLS¸¦ »ç¿ëÇÑ ÀÎÁõ 9.7 Á¢±Ù Á¦¾î ¸ñ·ÏÀ» »ç¿ëÇØ Ä«ÇÁÄ« ÅäÇÈ¿¡ ´ëÇÑ Á¢±Ù Á¦¾î 9.7.1 Ä«ÇÁÄ« Á¢±Ù Á¦¾î ¸ñ·Ï È°¼ºÈ ¹× Ŭ¶óÀ̾ðÆ® ½Äº° 9.7.2 Ä«ÇÁÄ«¿¡¼ Á¢±Ù Á¦¾î ¸ñ·Ï Á¤ÀÇ 9.8 NATS¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ¼³Á¤ ¿ä¾à
4ºÎ. ¾ÈÀüÇÑ ¹èÆ÷
10Àå. µµÄ¿·Î ÄÁÅ×ÀÌ³Ê º¸¾È Á¤º¹ 10.1 µµÄ¿¿¡¼ STS ½ÇÇà 10.2 µµÄ¿ ÄÁÅ×À̳ʿ¡¼ ½ÃÅ©¸´ °ü¸® 10.2.1 µµÄ¿ À̹ÌÁö¿¡ Æ÷ÇÔÇÑ ½ÃÅ©¸´ ¿ÜºÎÈ 10.2.2 ȯ°æ º¯¼ö·Î ½ÃÅ©¸´ Àü´Þ 10.2.3 µµÄ¿·Î ¹èÆ÷ÇÏ´Â ¿î¿µ ȯ°æÀÇ ½ÃÅ©¸´ °ü¸® ¹æ¾È 10.3 µµÄ¿ À̹ÌÁö ¼¸í ¹× °ËÁõÀ» À§ÇØ µµÄ¿ ÄÁÅÙÆ® Æ®·¯½ºÆ® »ç¿ë 10.3.1 TUF 10.3.2 µµÄ¿ ÄÁÅÙÆ® Æ®·¯½ºÆ® 10.3.3 Å° »ý¼º 10.3.4 DCT·Î ¼¸í 10.3.5 DCT·Î ¼¸í °ËÁõ 10.3.6 DCT°¡ »ç¿ëÇÏ´Â Å° À¯Çü 10.3.7 DCT°¡ Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸®Ç÷¹ÀÌ °ø°ÝÀ¸·ÎºÎÅÍ º¸È£ÇÏ´Â ¹æ¹ý 10.4 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ µµÄ¿¿¡¼ ½ÇÇà 10.5 Á¦ÇÑµÈ ±ÇÇÑÀ¸·Î ÄÁÅ×ÀÌ³Ê ½ÇÇà 10.5.1 ÄÁÅ×À̳ʸ¦ root ¿ÜÀÇ »ç¿ëÀÚ·Î ½ÇÇà 10.5.2 root »ç¿ëÀÚÀÇ ±ÇÇÑ »èÁ¦ 10.6 Docker Bench for Security ½ÇÇà 10.7 µµÄ¿ È£½ºÆ®¿¡ ´ëÇÑ Á¢±Ù º¸È£ 10.7.1 µµÄ¿ µ¥¸ó¿¡ ¿ø°Ý Á¢±Ù È°¼ºÈ 10.7.2 µµÄ¿ API Á¢±ÙÀ» º¸È£Çϱâ À§ÇØ ¿£Áø¿¢½º ¼¹ö¿¡¼ mTLS È°¼ºÈ 10.8 ÄÁÅ×ÀÌ³Ê ÀÌ»óÀÇ º¸¾È °í·Á ¿ä¾à
11Àå Äí¹ö³×Ƽ½º»óÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È 367 11.1 Äí¹ö³×Ƽ½º»ó¿¡¼ STS ½ÇÇà 11.1.1 STS·Î »ç¿ëÇÒ Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®¸¦ YAML Çü½ÄÀ¸·Î Á¤ÀÇ 11.1.2 Äí¹ö³×Ƽ½º¿¡¼ STS µðÇ÷ÎÀ̸ÕÆ® »ý¼º 11.1.3 µðÇ÷ÎÀ̸ÕÆ® Æ®·¯ºí½´Æà 11.1.4 Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ¿ÜºÎ¿¡ STS ³ëÃâ 11.2 Äí¹ö³×Ƽ½º ȯ°æ¿¡¼ ½ÃÅ©¸´ °ü¸® 11.2.1 ÄÁÇDZ׸ÊÀ» »ç¿ëÇÑ Äí¹ö³×Ƽ½º ¼³Á¤ ¿ÜºÎÈ 11.2.2 applicationproperties ÆÄÀÏÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ 11.2.3 keystorejks¿Í jwtjks ÆÄÀÏÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ 11.2.4 Å° ÀúÀå¼Ò ÀÚ°ÝÁõ¸íÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ 11.2.5 kubectl Ŭ¶óÀ̾ðÆ®·Î ÄÁÇÇ±×¸Ê »ý¼º 11.2.6 Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®¿¡¼ ÄÁÇÇ±×¸Ê ¼Òºñ 11.2.7 ÃʱâÈ ÄÁÅ×À̳ʸ¦ »ç¿ëÇÑ Å° ÀúÀå¼Ò ·Îµù 11.3 Äí¹ö³×Ƽ½º ½ÃÅ©¸´ »ç¿ë 11.3.1 ¸ðµç ÄÁÅ×À̳ÊÀÇ µðÆúÆ® ÅäÅ« ½ÃÅ©¸´ 11.3.2 ½ÃÅ©¸´ »ç¿ëÀ» À§ÇØ STS ¾÷µ¥ÀÌÆ® 11.3.3 Äí¹ö³×Ƽ½º°¡ ½ÃÅ©¸´À» ÀúÀåÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÌÇØ 11.4 Äí¹ö³×Ƽ½º¿¡¼ ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà 11.4.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÄÁÇDZ׸Ê/½ÃÅ©¸´ »ý¼º 11.4.2 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ µðÇ÷ÎÀ̸ÕÆ® »ý¼º 11.4.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¼ºñ½º »ý¼º 11.4.4 Á¾´Ü °£ È帧 Å×½ºÆ® 11.5 Äí¹ö³×Ƽ½º¿¡¼ Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà 11.6 Äí¹ö³×Ƽ½º ¼ºñ½º °èÁ¤ »ç¿ë 11.6.1 ¼ºñ½º °èÁ¤ »ý¼º ¹× Æĵå¿Í °èÁ¤ ¿¬°á 11.6.2 »ç¿ëÀÚ ÁöÁ¤ ¼ºñ½º °èÁ¤À¸·Î ÆÄµå ½ÇÇà ½Ã ÀÌÁ¡ 11.7 Äí¹ö³×Ƽ½º¿¡¼ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î »ç¿ë 11.7.1 STS¿¡¼ Äí¹ö³×Ƽ½º API ¼¹ö¿Í Åë½Å 11.7.2 ¼ºñ½º °èÁ¤À» Ŭ·¯½ºÅÍ·Ñ°ú ¿¬°á ¿ä¾à
12Àå À̽ºÆ¼¿À ¼ºñ½º ¸Þ½Ã·Î ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£ 413 12.1 Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ® ¼³Á¤ 12.1.1 À̽ºÆ¼¿À ÀÚµ¿»ðÀÔ È°¼ºÈ 12.1.2 ±âÁ¸ ÀÛ¾÷ Á¤¸® 12.1.3 ¸¶ÀÌÅ©·Î¼ºñ½º ¹èÆ÷ 12.1.4 ÁÖ¹® ó¸®¿Í STS¸¦ ³ëµåÆ÷Æ® ¼ºñ½º À¯ÇüÀ¸·Î Àç¹èÆ÷ 12.1.5 Á¾´Ü °£ È帧 Å×½ºÆ® 12.2 À̽ºÆ¼¿À Àα׷¹½º °ÔÀÌÆ®¿þÀÌ¿¡¼ TLS Å͹̳×ÀÌ¼Ç È°¼ºÈ 12.2.1 À̽ºÆ¼¿À Àα׷¹½º °ÔÀÌÆ®¿þÀÌ¿¡ TLS ÀÎÁõ¼ ¹èÆ÷ 12.2.2 °¡»ó ¼ºñ½º ¹èÆ÷ 12.2.3 PERMISSIVE ÀÎÁõ Á¤Ã¥ Á¤ÀÇ 12.2.4 Á¾´Ü °£ È帧 Å×½ºÆ® 12.3 mTLS·Î ¼ºñ½º °£ Åë½Å º¸È£ 12.4 JWT·Î ¼ºñ½º °£ Åë½Å º¸È£ 12.4.1 JWT ÀÎÁõ Àû¿ë 12.4.2 JWT ÀÎÁõÀ¸·Î Á¾´Ü °£ È帧 Å×½ºÆ® 12.4.3 PeerAuthentication°ú RequestAuthentication 12.4.4 ¼ºñ½º °£ Åë½Å¿¡¼ JWT¸¦ »ç¿ëÇÏ´Â ¹æ¹ý 12.4.5 JWK »ó¼¼È÷ »ìÆ캸±â 12.5 Àΰ¡ Àû¿ë 12.5.1 JWT »ó¼¼È÷ »ìÆ캸±â 12.5.2 ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î Àû¿ë 12.5.3 ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î¸¦ »ç¿ëÇÑ Á¾´Ü °£ È帧 Å×½ºÆ® 12.5.4 À̽ºÆ¼¿À 14.0 ¹öÀü ÀÌÈÄ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î °³¼±»çÇ× 12.6 À̽ºÆ¼¿À¿¡¼ Å° °ü¸® 12.6.1 º¼·ý ¸¶¿îÆ®¸¦ ÅëÇÑ Å° ÇÁ·ÎºñÀú´×°ú ±³Ã¼ 12.6.2 º¼·ý ¸¶¿îÆ®¸¦ ÅëÇÑ Å° ÇÁ·ÎºñÀú´× ¹× Å° ±³Ã¼ Á¦ÇÑ 12.6.3 SDS·Î Å° ÇÁ·ÎºñÀú´× ¹× ±³Ã¼ ¿ä¾à
5ºÎ. ¾ÈÀüÇÑ °³¹ß
13Àå. ½ÃÅ¥¾î ÄÚµù °üÇà ¹× ÀÚµ¿È 13.1 OWASP API º¸¾È TOP 10 13.1.1 Ãë¾àÇÑ °´Ã¼ ¼öÁØ Àΰ¡ 13.1.2 Ãë¾àÇÑ ÀÎÁõ 13.1.3 °úµµÇÑ µ¥ÀÌÅÍ ³ëÃâ 13.1.4 ¸®¼Ò½º ºÎÁ· ¹× ¼Óµµ Á¦ÇÑ 13.1.5 Ãë¾àÇÑ ÇÔ¼ö ¼öÁØ Àΰ¡ 13.1.6 ´ë·® ÇÒ´ç 13.1.7 À߸øµÈ º¸¾È ¼³Á¤ 13.1.8 ÀÎÁ§¼Ç 13.1.9 ºÎÀûÀýÇÑ ÀÚ»ê °ü¸® 13.1.10 ºÒÃæºÐÇÑ ·Î±ë ¹× ¸ð´ÏÅ͸µ 13.2 Á¤Àû ÄÚµå ºÐ¼® ½ÇÇà 13.3 Á¨Å²½º¿Í º¸¾È Á¡°Ë ÅëÇÕ 13.3.1 Á¨Å²½º ¼³Á¤ ¹× ½ÇÇà 13.3.2 Á¨Å²½º·Î ºôµå ÆÄÀÌÇÁ¶óÀÎ ¼³Á¤ 13.4 OWASP ZAPÀ¸·Î µ¿Àû ºÐ¼® ½ÇÇà 13.4.1 ÆÐ½Ãºê ½ºÄ³´×°ú ¾×Ƽºê ½ºÄ³´× ºñ±³ 13.4.2 ZAPÀ¸·Î ¸ðÀÇÇØÅ· ¼öÇà ¿ä¾à
ºÎ·Ï A. OAuth 2.0°ú OIDC ºÎ·Ï B. JWT ºÎ·Ï C. ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó ºÎ·Ï D. ¸¶ÀÌÅ©·Î¼ºñ½º ȯ°æÀÇ ¸ð´ÏÅ͸µ °¡´É¼º ºÎ·Ï E. µµÄ¿ÀÇ ¿ø¸® ºÎ·Ï F. OPA ºÎ·Ï G. OpenSSLÀ» »ç¿ëÇÑ ÀÎÁõ±â°ü ¹× °ü·Ã Å° »ý¼º ºÎ·Ï H. SPIFFE ºÎ·Ï I. gRPC ¿ø¸® ºÎ·Ï J. Äí¹ö³×Ƽ½ºÀÇ ¿ø¸® ºÎ·Ï K. ¼ºñ½º ¸Þ½Ã¿Í À̽ºÆ¼¿ÀÀÇ ¿ø¸®
¢Â ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¢Â
¡ß ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È °³³ä ¡ß API °ÔÀÌÆ®¿þÀÌ·Î °æ°è ÁöÁ¡ º¸È£ ¡ß µµÄ¿, Äí¹ö³×Ƽ½º, À̽ºÆ¼¿À »ç¿ë°ú ¹èÆ÷ ¡ß ÄÚµå ¼öÁØÀÇ º¸¾È Á¡°Ë ¡ß HTTP, gRPC, Ä«ÇÁÄ« Åë½Å
¢Â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¢Â
¸¶ÀÌÅ©·Î¼ºñ½º ¼³°è ¿øÄ¢¿¡ Á¤ÅëÇÏ°í ÀÚ¹Ù¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ÀÖ´Â °³¹ßÀÚ¸¦ À§ÇÑ Ã¥ÀÌ´Ù. ÀÚ¹Ù °³¹ßÀÚ°¡ ¾Æ´Ï´õ¶óµµ C++³ª C# °°Àº °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ Àͼ÷ÇÏ°í ±âº»ÀûÀÎ ÇÁ·Î±×·¡¹Ö ±¸Á¶¸¦ ÀÌÇØÇÏ°í ÀÖ´Ù¸é ÀÌ Ã¥¿¡¼ ¸¹Àº °ÍÀ» ¾òÀ» ¼ö ÀÖ´Ù. ¿Â¶óÀÎ»ó¿¡ ÀϺΠ°ü·Ã ¹®¼¿Í ºí·Î±× °Ô½Ã¹°ÀÌ Á¸ÀçÇÏÁö¸¸ ÀÌ Ã¥Àº ¸ðµç °É ¸íÈ®ÇÏ°í µû¸£±â ½¬¿î Çü½ÄÀ¸·Î ¸ð¾Æµ×±â ¶§¹®¿¡ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀ» ÀÌÇØÇÏ·Á´Â ¸ðµç »ç¶÷¿¡°Ô µµ¿òÀ» ÁÙ ¼ö ÀÖ´Ù.
¢Â ÀÌ Ã¥ÀÇ ±¸¼º ¢Â
ÀÌ Ã¥Àº 5ºÎ 13ÀåÀ¸·Î ±¸¼ºµÅ ÀÖ´Ù. 1ºÎ´Â ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ ±âº»»çÇ×À» ¼³¸íÇÑ´Ù. ¡ß 1ÀåÀº ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÌ ¾î·Á¿î ÀÌÀ¯¿Í ¸¶ÀÌÅ©·Î¼ºñ½º ȯ°æÀ» º¸È£Çϱâ À§ÇÑ ÇÙ½É ¿øÄ¢À» ¼³¸íÇÑ´Ù. ¡ß 2ÀåÀº ½ºÇÁ¸µ ºÎÆ®·Î ù ¹ø° ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ºôµåÇÏ°í OAuth 2.0À¸·Î º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϸç OAuth 2.0 ÅäÅ« ¹ß±ÞÀÚ¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ý±îÁö ´Ù·é´Ù.
2ºÎ´Â ÀϹÝÀûÀÎ ¸¶ÀÌÅ©·Î¼ºñ½º ȯ°æÀÇ °æ°è ÁöÁ¡À̳ª ÁøÀÔÁ¡¿¡¼ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 3ÀåÀº ¸¶ÀÌÅ©·Î¼ºñ½º ¼ÒºñÀÚ È¯°æÀ» »ìÆ캸°í Zuul API °ÔÀÌÆ®¿þÀÌ µÞ´ÜÀÇ ½ºÇÁ¸µ ºÎÆ® ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϸç Zuul API °ÔÀÌÆ®¿þÀÌ¿¡ OAuth 2.0 ±â¹Ý º¸¾ÈÀ» Àû¿ëÇÏ´Â ¹æ¹ý±îÁö ´Ù·é´Ù. ¡ß 4ÀåÀº ¾Þ±Ö·¯(Angular)·Î ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼Ç(SPA)¸¦ °³¹ßÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϸç OIDC(OpenID Connect)·Î ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀ» º¸È£ÇÏ´Â ¹æ¹ý±îÁö ´Ù·é´Ù. ¡ß 5ÀåÀº Zuul API °ÔÀÌÆ®¿þÀÌ¿¡ Æ®·¡ÇÈ Á¦ÇÑ, ¸ð´ÏÅ͸µ ¹× Á¢±Ù Á¦¾î¸¦ Àû¿ëÇØ 4Àå¿¡¼ ±¸ÃàÇÑ »ç·Ê¸¦ È®ÀåÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
3ºÎ´Â Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿äûÀÌ °æ°è ÁöÁ¡ÀÇ º¸¾È Á¤Ã¥À» Åë°úÇØ ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì ³»ºÎ·Î µé¾î°£ ´ÙÀ½ ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ »óÈ£ÀÛ¿ëÀ» º¸È£ÇÏ´Â ÇÁ·Î¼¼½º¸¦ ¼³¸íÇÑ´Ù. ¡ß 6ÀåÀº mTLS(»óÈ£ TLS)·Î HTTP ÇÁ·ÎÅäÄÝ ±â¹Ý ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½ÅÀ» º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 7ÀåÀº JWT(JSON Web Token)¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º °£ ÄÁÅؽºÆ® µ¥ÀÌÅÍ(¿¹: ÃÖÁ¾ »ç¿ëÀÚ ÄÁÅؽºÆ®)¸¦ °øÀ¯ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 8ÀåÀº mTLS¿Í JWT¸¦ »ç¿ëÇÏ´Â gRPC ÇÁ·¹ÀÓ¿öÅ© ±â¹Ý ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½ÅÀ» º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 9ÀåÀº ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϸç Ä«ÇÁÄ«¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ¼³Ä¡ÇÏ´Â ¹æ¹ý°ú Ä«ÇÁÄ« ÅäÇÈ¿¡ Á¢±Ù Á¦¾î Á¤Ã¥À» Àû¿ëÇÏ´Â ¹æ¹ý±îÁö ´Ù·é´Ù.
4ºÎ´Â ÄÁÅ×À̳ÊÈÇÑ È¯°æ¿¡¼ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¹èÆ÷ÇÏ°í º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 10ÀåÀº µµÄ¿¿¡ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¹èÆ÷ÇÏ°í mTLS¿Í JWT·Î ¸¶ÀÌÅ©·Î¼ºñ½º °£ »óÈ£ÀÛ¿ëÀ» º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ¸ç µµÄ¿°¡ ³»ÀåÇÏ°í ÀÖ´Â ¸î °¡Áö º¸¾È ±â´ÉÀ» ´Ù·é´Ù. ¡ß 11ÀåÀº Äí¹ö³×Ƽ½º¿¡¼ µµÄ¿ ÄÁÅ×À̳ʷΠ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¹èÆ÷ÇÏ°í mTLS¿Í JWT·Î ¼ºñ½º °£ Åë½ÅÀ» º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 12ÀåÀº À̽ºÆ¼¿À ¼ºñ½º ¸Þ½Ã·Î ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ º¸¾È ó¸® ºÎ´ãÀ» Àü°¡ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. 5ºÎ´Â °³¹ß ÇÁ·Î¼¼½º¿¡¼ º¸¾È Á¡°ËÀ» ¼öÇàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¡ß 13ÀåÀº ¼Ò³ªÅ¥ºê, Á¨Å²½º ¹× OWASP ZAPÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ´ë»óÀ¸·Î ÇÑ º¸¾È Á¡°ËÀ» ÀÚµ¿ÈÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
¢Â ÁöÀºÀÌÀÇ ¸» ¢Â
ÀÌ Ã¥Àº ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå¿Í ÀÎÇÁ¶ó¸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È ¹®Á¦¸¦ °£´ÜÇÏ°Ô ¼Ò°³ÇÏ°í ¾ÖÇø®ÄÉÀÌ¼Ç °æ°è¿Í ¼ºñ½º °£ Åë½ÅÀ» º¸È£ÇÏ´Â µ¥ ÇÊ¿äÇÑ ±âº»ÀûÀÎ Áö½ÄÀ» ¹è¿ï ¼ö ÀÖ´Ù. ¿¹Á¦¸¦ ½Ç½ÀÇÏ¸é¼ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼Ç(SPA, Single-Page Application)À» ÅëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ Á¢±ÙÇÏ´Â ¹æ¹ý»Ó¸¸ ¾Æ´Ï¶ó API °ÔÀÌÆ®¿þÀÌ µÞ´ÜÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¹èÆ÷ÇÏ°í º¸È£ÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. ½Ç½À °úÁ¤¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ Æ®·¡ÇÈ Á¦ÇÑ, ºÐ¼®, ¼öÁý ¹× Á¢±Ù Á¦¾î¿Í ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½ÅÀ» Æ÷ÇÔÇÑ Áß¿äÇÑ °³³äµéÀ» °Á¶Çϸç Äí¹ö³×Ƽ½º, µµÄ¿, À̽ºÆ¼¿À ¼ºñ½º ¸Þ½Ã µîÀ» Æ÷ÇÔÇÑ ÃֽŠ±â¼úÀ» »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¾ÈÀüÇÏ°Ô ¹èÆ÷ÇÏ´Â ¹æ¹ý±îÁö ´Ù·é´Ù. ´Ù¾çÇÑ ½Ç½ÀÀ» ÅëÇØ ½Ç½À °úÁ¤¿¡¼ ¹è¿ï ȯ°æµéÀ» º¸È£ÇÒ ¼ö ÀÖÀ¸¸ç º¸¾È ÇÁ·Î¼¼½º °ËÅä ¹× ¸ð¹ü »ç·Ê µîÀ» °£·«È÷ ¾È³»ÇÏ°í Ã¥À» ¸¶¹«¸®ÇÑ´Ù. Ã¥À» ´Ù ÀÐÀ» ¶§ÂëÀÌ¸é ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾ÈÀüÇÏ´Ù´Â »ç½Ç¿¡ ´ëÇÑ ±ÍÁßÇÑ È®½ÅÀÌ »ý±æ °ÍÀÌ¸ç ´õºÒ¾î °èȹ, ¼³°è ¹× ±¸Çö±îÁö ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¢Â ¿Å±äÀÌÀÇ ¸» ¢Â
¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó(MSA, Microservices Architecture)´Â ´ÜÀÏ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ°í µ¶¸³ÀûÀ¸·Î ¹èÆ÷ÇÒ ¼ö ÀÖ´Â ÀÛÀº ¼ºñ½º ÁýÇÕÀ¸·Î °³¹ßÇÏ´Â ¹æ¹ýÀÌ´Ù. MSA´Â ÀÏüÇüÀ» ÀǹÌÇÏ´Â ¸ð³î¸®½Ä ¾ÆÅ°ÅØó¿Í ´Þ¸® º¸¾ÈÀ» À§ÇÑ »õ·Î¿î Á¢±Ù ¹æ½ÄÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ Ã¥Àº ´Ù¾çÇÑ ¿¹Á¦ ÄÚµå¿Í Äí¹ö³×Ƽ½º, µµÄ¿, À̽ºÆ¼¿À ¼ºñ½º ¸Þ½Ã¿Í °°Àº ÃֽŠ±â¼úÀ» »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¾ÈÀüÇÏ°Ô º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í ¹è°æÁö½ÄÀÌ ºÎÁ·ÇÑ µ¶ÀÚ¸¦ À§ÇÑ ºÎ·ÏÀ» Á¦°øÇÔÀ¸·Î½á ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È À̽´ ÇØ°á¿¡ ÇÊ¿äÇÑ ÁöħÀ» ¾Ë·ÁÁØ´Ù. ¸ÕÀú 1ºÎÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È ±âº» ¿øÄ¢À¸·Î ½ÃÀÛÇØ, 2ºÎ¿¡¼ ¸¶ÀÌÅ©·Î¼ºñ½º °æ°è ÁöÁ¡°ú ÁøÀÔÁ¡¿¡¼ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í, 3ºÎ¿¡¼ Ŭ¶óÀ̾ðÆ® ¿äûÀ¸·Î ¹ß»ýÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½ÅÀ» º¸È£ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. ÀÌ¾î¼ 4ºÎ¿¡¼´Â ÄÁÅ×ÀÌ³Ê È¯°æÀ¸·Î ±¸¼ºÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ´Ù·ç¸ç ¸¶Áö¸· 5ºÎ¿¡¼ º¸¾È Á¡°Ë ÀÚµ¿È ¹æ¾ÈÀ» °³¹ß ÇÁ·Î¼¼½º¿¡ Àû¿ëÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. À̸¦ ÅëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó·Î ÀüȯÀ» °í·ÁÇÏ°í ÀÖÁö¸¸ º¸¾È À̽´¸¦ °£°úÇϰųª, ¾î¶² º¸¾È À̽´°¡ ÀÖÀ» ¼ö ÀÖ´ÂÁö¿Í º¸¾È À̽´¸¦ ¾î¶»°Ô ÇØ°áÇØ¾ß ÇÒÁö °í¹ÎÇÏ´Â °³¹ßÀÚ¿Í º¸¾È ´ã´çÀÚ¿¡°Ô Áö½ÄÀ» Àü´ÞÇÑ´Ù. ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ Àü¹ÝÀûÀ¸·Î ´Ù·ç´Â Ã¥Àº ½ÃÁß¿¡ ¸¹°í ÇØ´ç Ã¥ÀÇ ¼¼ºÎ ÁÖÁ¦ Áß Çϳª·Î º¸¾ÈÀ» ¾ð±ÞÇÏ´Â °æ¿ì ¶ÇÇÑ ¸¹´Ù. ÇÏÁö¸¸ º¸¾ÈÀ» ¸ÞÀÎ ÁÖÁ¦·Î ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ´Ù·é Ã¥Àº ±¹³»¿¡ ¾ÆÁ÷ ¾ø¾î¼ ¹ø¿ªÇÏ¸é ¸¹Àº ºÐ¿¡°Ô µµ¿òÀÌ µÉ °ÍÀ̶õ ±â´ë°¨¿¡ ½ÃÀÛÇÑ ¹ø¿ªÀ̶ó ÇÊ¿äÇÑ ºÐµé¿¡°Ô ÀÇ¹Ì Àִ åÀÌ µÆÀ¸¸é ÇÏ´Â ¹Ù¶÷ÀÌ´Ù.
|
|
|
|
|