Backend
-
[AWS] 3-Tier Architecture 인프라 설계Backend/AWS 2022. 9. 25. 20:30
AWS 3-Tier Architecture WEB-WAS-DB로 이루어진 3 계층 구조 Bastion 호스트를 두어 private 망에 접근하며 Nat 게이트웨이와 인터넷 게이트웨이를 통해 외부와 통신 Bastion Host 외부에서 접근 불가능한 Private 망에 접근하기 위해 Public 망에 Bastion Host를 두어 Private 망에 접근 Private 망내의 서버들은 Public 망에 위치한 Nat 게이트웨이와 인터넷 게이트웨이를 통해 외부와 통신 침입 차단 소프트웨어가 설치되어 내부와 외부 네트워크 사이에서 일종의 게이트 역할을 수행하는 호스트 Bastion 서버 한곳에서 모든 접근을 관리함으로써, 관리가 수월하며 모든 접근에 대한 로그 또한 한 곳에서 확인 가능 Bastion Host..
-
[AWS] AWS 3-Tier Architecture 정리하기Backend/AWS 2022. 9. 25. 15:37
3-Tier Architecture란? 3가지 계층으로 구분하여 시스템을 구성하는 것을 말하며, 계층간의 통신을 순차적으로 이루어진다. Client Tier 사용자와 직접 마주하는 계층으로 브라우저와 인터페이스 역할을 한다. 정적인 콘테츠를 띄운다. Apache, Nginx HTML, JavaScript, CSS, 이미지 등 Application Tier 동적인 처리를 진행하는 계층으로 웹 요청에 대해 처리하고 응답한다. 동적인 콘텐츠를 띄운다. Tomcat, Jboss, Jeus PHP, Java 등 Data Tier 데이터를 보관하고 관리하는 계층으로 WAS 요청에 대해 읽거나 쓰는 것을 관리한다. PostgreSQL, MySQL, MariaDB, Oracle 등 AWS 3-Tier Architect..
-
[AWS] 클라우드 컴퓨팅 / AWS란?Backend/AWS 2022. 9. 19. 21:56
클라우드 컴퓨팅 인터넷을 통해 (물리적 서버, 네트워크와 같은) IT 리소스와 (데이터 분석과 같은) 애플리케이션을 원할 때 언제든지(On-demand) 사용한 만큼만 요금을 내는 서비스이다. 클라우드 컴퓨팅이란 | 클라우드 컴퓨팅 소개 | Amazon Web Services 모든 유형, 규모 및 산업의 조직이 데이터 백업, 재해 복구, 이메일, 가상 데스크톱, 소프트웨어 개발 및 테스트, 빅 데이터 분석, 고객 대상 웹 애플리케이션 등 다양한 사용 사례에 클라우드를 aws.amazon.com 클라우드 컴퓨팅을 사용하면 인프라를 하드웨어가 아닌 소프트웨어로 간주하고 사용할 수 있다. 프로그래밍 가능한 리소스가 있다면 이를 프로그램이 될 수 있고 동적으로 기능하며 종량 과금제로 사용할 수 있다. 클라우드 ..
-
[Spring Error] wix-embedded-mysql 사용시 java.sql.sqlsyntaxerrorexception: table 'test-order_mgmt.products' doesn't exist 에러Backend/Spring 2022. 9. 6. 15:28
Error Test를 위한 embedded database를 사용하기 위해 wix-embedded-mysql을 사용하여 구현하였다. maven 의존성 설정 com.wix wix-embedded-mysql 4.6.2 test Test 클래스 @SpringBootTest @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @ActiveProfiles("test") class ProductJdbcRepositoryTest { static EmbeddedMysql embeddedMysql; @BeforeAll static void setUp() { var config = aMysqldConfig(v5_7_10) .withCharset(Charset.UTF8) .wit..
-
[Spring] RequestCacheAwareFilter, ChannelProcessingFilter 사용하기Backend/Spring 2022. 9. 2. 17:49
RequestCacheAwareFilter FilterChainProxy를 구성하는 주요 Security Filter 중 하나로 로그인 성공 이후 가로채어진 사용자의 원래 요청으로 이동하기 위해 사용된다. 익명의 사용자(로그인 안한 사용자)가 보호받는 리소스 페이지에 접근하는 경우 접근 권한이 없기 때문에 AccessDecisionManager에서 접근 거부 예외가 발생함 ExceptionTranslationFilter 접근 거부 예외를 처리함 현재 사용자가 익명 사용자라면, 보호받는 리소스로의 접근을 캐시 처리하고, 로그인 페이지로 이동시킴 로그인이 완료되면 원래 접근하려 했던 캐싱 페이지로 접근할 수 있게 함 private void handleAccessDeniedException(HttpServle..
-
[Spring] Spring Security Architecture에 대해서Backend/Spring 2022. 9. 1. 17:37
Spring Security Architecture Conceptual Architecture 거시적인 관점에서 Spring Security는 웹 요청을 가로챈 후 사용자를 인증하고, 인증된 사용자가 적절한 권한을 지니고 있는지 확인함 AuthenticationManager 사용자 인증 관련 처리 AccessDecisionManager 사용자가 보호받는 리소스에 접근할 수 있는 적절한 권한이 있는지 확인 AuthenticationManager : 사용자 인증과 관련된 처리를 담당 - 인증 Access Decision Manager : 사용자가 적절한 권한을 가지고 있는지 확인 - 인가 FilterChainProxy (Spring Security 필터 체인) Spring Security의 실제적인 구현은 ..
-
[Spring] Spring Security 로그인 계정 추가 및 자동 로그인 기능 설정하기Backend/Spring 2022. 9. 1. 17:08
Spring Security 로그인 Spring Security 시작하기 포스팅에서 자동으로 생성되는 password를 사용하여 로그인 하는 방식 대신 임의적으로 application.yml 파일에 user와 password, 권한 설정을 해주어 로그인할 수 있었다. spring: application: name: spring security 01 thymeleaf: cache: true security: user: name: user password: user123 roles: USER messages: basename: i18n/messages encoding: UTF-8 cache-duration: PT1H server: port: 8080 설정파일에서 security에 user를 추가하는 방식으로..
-
[Spring] Spring Boot Web Mvc에 Spring Security 시작하기Backend/Spring 2022. 8. 30. 21:06
Spring Security Spring Boot 웹 어플리케이션에 적용 가능하며 적은 노력으로 각 상황에 보안을 적용할 수 있다. https://miraekwak.tistory.com/130 [Spring] 웹 어플리케이션 보안 위협 요소 웹 어플리케이션의 주요 보안 위협 요소 인증(Authentication) 절차 마비 인증(Authentication)은 인가(Authorization)와 함께 보안 관련 핵심 개념 중 하나이다. 사용자의 신원을 확인하는 과정은 아이디/패 miraekwak.tistory.com 사용자 인증 및 인가 처리는 기본이며 필요에 따라 커스터마이징이 가능하다. 다양한 확장 기능과 자연스러운 통합이 가능하다. Spring Session 세션 클러스터 기능 추상화 제공 https:..