본문 바로가기

728x90

Backend

(70)
Hypermedia-Driven RESTful Web Services : HATEOAS란? [1] Hateoas의 개념에 대해서 알아보고, Spring에서 어떻게 구현하는지에 대해서 알아보겠다. REST API에는 등급이 존재한다. REST API의 등급 중 가장 높은 등급이 Hateoas라고 보면된다. 아래 표를 살펴보면, 일반적인 프로젝트에서는 구현하는 Rest API의 레벨은 Lvl2라고 보면된다. Lvl2는 Resources와 HTTP메서드를 사용한다. Lvl3, Hateoas는 Lvl2에 추가적인 Link를 가지고 있다. 이 Link를 통해 네비게이션이 가능하다. Request를 보면, Lvl2와 별 차이가 없어 보이지만, Response를 보면 JSON에 HAL라는 추가적인 링크가 있는 것을 알 수 있다. => 완벽한 RestApi를 사용하기 위해서는 Hateoas를 사용해야 한다. Hyp..
[Spring Security] Spring Boot에서 Spring Security 설정하기 (Database) # 구현 과정 1) Database를 사용하여 Role에 따라 Access Control 하도록 한다. - User JPA Entity, Role JPA Entity 가 필요하다. (N:M 매핑 관계로 함) - User와 Role entity와 관계된 Spring Data JPA repository를 만든다. 2) UserDetailsService와 UserDetails를 만든다. - UserDetailsService 인터페이스에서 정의된, loadUserByUsername()를 구현한다. - UserDetails 인터페이스에 User Entity, Role Entity를 넣어주는 것이 UserDetailsService의 loadUserByUsername 메서드이다. 3) Spring Security 설..
[Spring Security] Spring Boot에서 Spring Security 설정하기 (in-memory) # Spring Boot에서 Security를 어떻게 쓰는지 알아보겠다. 0. 프로젝트 생성 1. Maven Dependency 추가 : Default Auto Configuration에 대해서 살펴보기. (New Project에서 생성 Security > Spring Security 추가) org.springframework.boot spring-boot-starter-security => spring-boot-starter-security 만 의존성 추가해도 많은 일이 생긴다. (Auto Configuration이 일어남.) 1) Authentication Manager bean이 in-memory에 저장되어 , default User가 생긴다. (login, logout page가 제공됨) user..
AWS S3서버에 파일업로드 하기 (JAVA) AWS-S3-Practice AWS S3 Fileupload example in java Amazon S3이란? Amazon Simple Storage Service는 인터넷 스토리지 서비스입니다. 이 서비스는 개발자가 더 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있도록 설계되었습니다. Amazon S3에서 제공하는 단순한 웹 서비스 인터페이스를 사용하여 언제든지 웹상 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있습니다. 또한 개발자는 Amazon이 자체 웹 사이트의 글로벌 네트워크 운영에 사용하는 것과 같은 높은 확장성과 신뢰성을 갖춘 빠르고 경제적인 데이터 스토리지 인프라에 액세스할 수 있습니다. 이 서비스의 목적은 규모의 이점을 극대화하고 개발자들에게 이러한 이점을 제공하는 것입니다. 참고 :..
AWS Security group 지정하여 EC2 인스턴스 생성방법 1. AWS Key Pair생성 인증방식 2. Security Group 생성 3. EC2 생성 - Amazon Linux 2 AMI, SSD 사용 (Cent OS 호환되는 Linux) - t2.micro사용 -그대로 변경없이 진행 - 변경없이 진행 - 크기 30G이하이면 됨 - EC2이름 부여 - 기존 보안그룹을 선택하여 보안그룹 생성한거 그대로 가져다 쓴다. - 시작전 Free tier인지 확인 - 최초에 키그룹 생성한거 사용한다. - private key에 접근할 수 있음을 check 하고 -> 인스턴스 시작 - Security group 적용한 EC2 생성완료 4. PuTTY에서 실행해보기 퍼블릭 IPv4주소를 알아두고, 푸티 실행 - HostName에 등록 - Saved Sessions에 세션을..
[정보보안] AWS에서의 Security group 개념 전통적인 웹 애플리케이션 구조 : 3-Tier - Web Server - Application Server - Database Server : Master와 Slave로 이중화 , 중요하므로 Tapes에서 백업을 해준다. - LB (Load balance): Traffic을 분배해줌 방화벽 - Exterior Firewall : 첫단에서 방화벽 동작 - Backend Firewall : Application Server 이전에 한번더 방화벽이 동작한다. AWS의 Web Hosting 구조 - 마찬가지로 3-Tier의 구조를 갖는다. - Avaliablilty Zone - 가용영역 (지역별)이 구성되어 있음. ->중단없는 서비스를 이어나가기 위해 한곳에서 장애가 생겼을때 해결 - SLB : Software..
[정보보안] 방화벽(Firewall)의 3가지 유형과 특징 Firewalls 외부에서 내부 네트워크로 들어갈 때 일부분 차단해줌. 내부에서도 공격이 있을 수 있기때문에 외부로 나갈 때도 차단해준다. (ex. 업무시간 주식거래 차단) 네트워크에서의 접근제어를 해준다. - 방화벽은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이다. 1) Packet filter : network layer 에서 동작 # 아래의 조건을 보고 판단한다. - IP address , destination port - source port, destination port - Flag bits (SYN, ACK, etc.) - Egress or ingress : 나가고 들어오는 방향성 - Protocol # 장단점 장점 : 빠르..
[정보보안] Authentication중 Biometrics & Smartcard 1. Something You are biometrics Example - Fingerprint - Handwritten signature - Facial recognition - Speech recognition - Gait (walking) recognition - “Digital doggie” (odor recognition) - face id 생체인식의 조건 1) Universal : 모든사람에게 적용이 가능해야 한다. 2) Distinguishing : 구별이 가능해야 한다. 3) Permanent : 영구적이어야 한다.4) Collectable : 쉽게 수집이 가능해야 한다. - 생체인식은 오류가 생길 수 있다. 생체인식 사용 1) Identification - compare one to ma..

728x90