전체 글
-
[AWS] Amazon ECS 서비스 설정 - IAM : 역할 (3)클라우드/aws 2020. 10. 16. 11:23
ECR(Elastic Container Registry)과 ECS(Elastic Container Service) 서비스 사용 시 필요한 권한을 부여하기 위해 역할을 생성합니다. 먼저 ECR 서비스를 사용하기 위한 역할을 생성합니다. ECS 서비스에서 사용할 역활을 생성하기 위해서 Elastic Container Service를 선택합니다. 이전 포스트에서 S3의 모든 리소스를 사용할 수 있도록 설정해놓은 consult-s3-full-policy를 연결합니다. [AWS] Amazon ECS 서비스 설정 - IAM : 정책 (2) 태그는 설정 부분은 스킵합니다. 역할 이름을 입력하고 [역활 만들기] 버튼을 클릭하여 ECR 서비스 사용을 위한 역할을 생성합니다. 다음으로 ECS 서비스를 사용하기 위한 역활을..
-
[AWS] Amazon ECS 서비스 설정 - IAM : 사용자 (1)클라우드/aws 2020. 10. 16. 10:48
클라우드/AWS 카테고리의 (1) ~ (14)까지 포스트를 따라해보면 AWS ECS(Elastic Container Service) 환경에서 FARGATE 유형의 docker 기반 컨테이너를 올리고 서비스의 동작을 확인 할 수 있습니다. 가장 먼저 사용자를 추가합니다. 생성된 사용자를 통해서 AWS Management Console 액세스를 할 수 있도록 해당 체크 박스를 선택 후 비밀번호를 지정합니다. 사용하려는 서비스에 맞게 권한을 설정해야하지만 테스트 시 편의성을 위해서 어드민 권한을 연결합니다. 태그 설정 부분은 스킵합니다. [사용자 만들기] 버튼을 클릭해서 사용자를 생성합니다. 사용자 만들기 작업이 성공하였음을 볼 수 있습니다. AWS CLI 접속 시 [액세스 키 ID]와 [비밀 액세스 키]가 ..
-
[Redis] 자료구조오픈소스/redis 2020. 10. 7. 18:14
이번 시간에는 redis에서 제공하는 자료 구조를 확인해보고, 해당 자료 구조에 데이터를 추가 및 조회하는 방법에 대해서 알아보도록 하겠습니다. list # 리스트에 데이터를 추가하는 방법 (key: mylist) $ LPUSH mylist A# now the list is "A" (integer) 1 $ LPUSH mylist B# now the list is "B","A" (integer) 2 $ RPUSH mylist C# now the list is "B","A","C" (integer) 3 # 리스트에 있는 데이터를 조회하는 방법 $ LRANGE mylist 0 2# start: 0번 인덱스, end: 2번 인덱스 1) "B" 2) "A" 3) "C" # 키가 존재할 경우에만 데이터를 추가하는 ..
-
[스프링 시큐리티] 자원 접근 허용 여부 결정 주체 (AccessDecisionManager, AccessDecisionVoter)강의노트/스프링 시큐리티 2020. 10. 7. 11:58
AccessDecisionManager 인증 정보, 요청 정보, 권한 정보를 이용해서 사용자의 자원접근을 허용할 것인지 거부할 것인지를 최종 결정하는 주체 여러 개의 Voter들을 가질 수 있으며 Voter들로부터 접근 허용, 거부, 보류에 해당하는 각각의 값을 리턴받고 판단 및 결정 최종 접근 거부 시 예외 발생 접근 결정의 세 가지 유형 AffirmativeBased 여러 개의 Voter 클래스 중 하나라도 접근 허가로 결론을 내면 접근 허가로 판단한다. ConsensusBased 다수표(승인 및 거부)에 의해 최정 결정을 판단한다. 동수일 경우 기본은 접근허가하나 allowIfEqualGrantedDeniedDecisions를 false로 설정할 경우 접근 거부로 결정된다. UnanimousBase..
-
[스프링 시큐리티] 자원 접근 허용 여부 검증(Authorization, FilterSecurityInterceptor)강의노트/스프링 시큐리티 2020. 9. 23. 22:04
Authorization 인증을 받은 클라이언트가 어떤 자원에 접근하려 할 때 그 자원에 접근할 수 있는 권한을 가지고 있는지 검증하는 것이다. 스프링 시큐리티가 지원하는 권한 계층 웹 계층 URL 요청에 따른 메뉴 혹은 화면 단위의 레벨 보안 서비스 계층 화면 단위가 아닌 메소드 같은 기능 단위의 레벨 보안 도메인 계층 (Access Control List, 접근 제어 목록) 객체 단위의 레벨 보안 FilterSecurityInterceptor 스프링 Security가 가지고 있는 필터들 중에서 가장 마지막에 위치한 필터로써 인증된 사용자에 대하여 특정 요청의 승인/거부를 최종적으로 결정한다. 인증 객체 없이 보호자원에 접근을 시도할 경우 AuthenticationException을 발생 시킨다. 인증..
-
[스프링 시큐리티] 인증 여부 결정 주체(AuthenticationProvider)강의노트/스프링 시큐리티 2020. 9. 23. 21:57
AuthenticationProvider 인터페이스 스프링 시큐리티에서 기본으로 제공하는 구현체가 있고, 해당 인터페이스를 상속 받아서 커스텀하게 구현할 수도 있다. authenticate 인증처리를 위한 실제적인 검증을 하는 함수 supports 인증을 처리할 수 있는 기준이 되는지 검사하는 함수 ID 검증 UserDetailsService 인터페이스 구현체를 통해서 User 객체를 조회한다. 전달된 ID를 가지고 User 객체를 조회하고, User 객체가 존재한다면 UserDetails 타입으로 변환해서 AuthenticationProvider로 반환한다. password 검증 UserDetailsService에서 반환받은 UserDetails 객체에 있는 패스워드와 로그인 시 입력된 패스워드를 비교..
-
[JAVA] 멀티 모듈 프로젝트 구성자바/기타 2020. 9. 21. 20:25
이번 시간에는 gradle을 이용해서 멀티 모듈 프로젝트를 구성하는 방법에 대해서 알아보도록 하겠습니다. 이번 시간에 테스트해볼 멀티 모듈의 구조는 아래와 같다. spring-boot-guides : 최상단 프로젝트 application : main 클래스를 통해 실행되는 application 관련 모듈들을 담고 있는 폴더,독립적으로 실행 가능하다. spring-boot-common-super-application : 실행 가능한 프로젝트 모듈 common : 여러 모듈에서 import해서 사용할 수 있는 모듈들을 담고 있는 폴더,독립적으로 실행 할 수 없다. system-core : 공통 로직을 담고 있는 라이브러리 모듈 가장 먼저 IntelliJ에서 New - Project에서 Gradle 프로젝트를..