분류 전체보기 610

[Spring Cloud Config] 1-2. Spring Cloud Config Server: Composite Environment Repositories

1. Composite Environment Repositories여러 소스에서 설정을 동시에 가져오기composite 프로필을 사용하여 여러 환경 레포지토리를 한 번에 묶어 쓸 수 있음vault가 포함될 경우, config server에 대한 모든 요청에 vault 토큰을 보내야 함 (X-Config-Token 헤더)기본적으로 일부 레포지토리 실패 시 전체 composite 요청이 실패함 (failOnCompositeError 옵션으로 무시 가능) 예시더보기spring: profiles: active: composite cloud: config: server: composite: - type: svn uri: file:///path..

카테고리 없음 2025.09.02

[Vault] Auth methods

0. OverviewVault에서 인증을 담당하는 컴포넌트✅ 사용자를 인증하고, 해당 사용자에게 identity와 policy 부여✅ 실제 인증 과정을 외부 인증 프로바이더에 위임할 수 있음 (AWS, Github 등) Enabling/Disabling auth methods명령어/API로 활성화 가능✅ 모든 auth method는 auth/ prefix 아래에 마운트됨 (auth type별로 경로가 생성됨)✅ auth method가 꺼지면, 해당 방식으로 로그인했던 모든 사용자가 로그아웃됨 명령어) 활성화더보기더보기vault auth enable External auth method considerationsvault는 외부 인증 시스템에 로그인 시점과 토큰 갱신 시점마다 실시간으로 확인 요청을 보냄..

카테고리 없음 2025.09.02

[Spring Cloud Vault] 1. 설정

1. ConfigData API외부 설정을 가져오는 역할을 하는 API✅ Vault, Config Server 등✅ 어떤 설정 시스템을 가져올지, 순서를 어떻게 할지 지정 가능➡️ 유연성 높음 ConfigData Locations위치vault://vault:/// (컨텍스트 지정 가능)vault:///?prefix= (prefix 지정 가능) 기본 경로/secret/${spring.application.name}/${profile} 예시) application.yml더보기spring.config.import: vault://first/context/path, vault://other/path, vault://spring.config.import: vault://my/path?prefix=foo., vau..

카테고리 없음 2025.08.31

[Spring Cloud Vault] 0. Overview

0. 소개Spring Vault 위에서 동작하는 클라이언트 사이드 지원 도구✅ 모든 환경에서 애플리케이션이 필요로하는 외부 비밀 속성을 중앙에서 관리할 수 있음➡️ 다양한 외부 서비스에 대한 접속 자격 증명을 애플리케이션에 제공함 타입정적 비밀: 고정 값으로 자격 증명하는 방식의 secret (사용자 이름/비밀번호 등)동적 비밀: 필요할 떄마다 생성되는 임시 자격 증명 1. Server 설치2. Client 셋팅의존성) gradle더보기implementation 'org.springframework.cloud:spring-cloud-starter-vault-config' application.yml더보기spring.cloud.vault: host: localhost # Vault ..

카테고리 없음 2025.08.31

[Vault] Secret Engines

1. Overview데이터를 저장, 생성, 암복호화하는 컴포넌트 Path & RoutingVault 내 특정 경로에 마운트됨클라이언트 요청이 들어오면, Vault 라우터가 경로 접두어를 보고 해당 엔진으로 라우팅함 Lifecycle동작요약주요 영향enable엔진을 특정 경로에 활성화엔진 인스턴스 생성✅ 경로 대소문자 구분➡️ 해당 경로로 요청 라우팅 시작disable해당 엔진 비활성화엔진 사용 불가✅ 저장 데이터 제거move엔진의 마운트 경로 변경기존 경로에서 발급된 모든 리스 무효화✅ 설정 데이터는 유지tune엔진의 전역 설정예: TTL 등⚠️ 엔진의 경로가 충돌되어서는 안됨 (서로 접두어 관계가 되면 안됨) 예시) 명령어더보기vault secrets enable -path= vault secrets ..

카테고리 없음 2025.08.30

[Vault] 1. About Vault

1. What is Vault?중앙 집중화된 secret 관리 및 접근 제어를 제공하는 도구✅ 모듈형 설계✅ 플러그인 생태계➡️ 기존 시스템과 손쉽게 통합 가능 PluginVault의 기능 단위 블록✅ "데이터가 어떻게 처리되고, 클라이언트가 어떻게 접근하는지" 제어함✅ 내장 플로그인은 기본 포함되어 별도 등록없이 "enable" 해서 사용함✅ 외부 플러그인은 별도 배치 및 등록이 필요함 Who can access data in Vault?Vault는 저장되는 데이터에 대한 접근을 엄격히 제한함✅ 데이터는 저장 시 자동으로 암호화됨✅ 접근은 인증과 인가 과정을 반드시 거쳐야 함✅ 모든 인증/인가 시도를 감사 로그로 기록함 2. How Vault worksCore Workflow인증: 토큰, LDAP 프로..

카테고리 없음 2025.08.29

[Spring Cloud Netflix] 0. Overview

Netflix OSS를 Spring Boot 애플리케이션에서 바로 쓸 수 있도록 해주는 자동 설정 패키지✅ Netflix OSS: 오픈소스로 공개된 Netflix 인프라 라이브러리들 (Eureka, Ribbon, Hystrix, Zuul 등) 1. Service Discovery서비스 레지스트리 및 디스커버리 기능 제공✅ 클라이언트는 http://'서비스 이름' 형식으로 접근 가능 Eureka서비스 디스커버리를 제공하는 Netflix OSS 컴포넌트구분Eureka ServerEureka Client역할서비스 등록소(Registry)서비스 등록자 + 소비자주요 기능- 서비스 메타데이터(IP, Port, 이름 등) 보관- 서비스 상태 모니터링- 클러스터링(HA) 지원- 자기 자신을 Eureka Server에..

카테고리 없음 2025.08.28

[gRPC] 1. What is gRPC?

1. Introduction to gRPCGoogle의 원격 프로시저 호출 오픈소스 프로젝트클라이언트 애플리케이션이 원격 서버 애플리케이션의 메서드를 로컬 객체처럼 직접 호출할 수 있음✅ 클라이언트 측에서는 "Stub"을 이용함 (서버와 동일한 메서드를 제공하는 프록시 역할) Concept Diagram다양한 환경에서 실행되고 서로 통신할 수 있음 (서로 다른 기술 스택 등)✅ 서비스 인터페이스 정의를 기반으로 통신함✅ 서비스 정의를 중심으로 동작함➡️ 분산 애플리케이션을 훨씬 쉽게 만들 수 있음 Working with Protocol BuffersGoogle이 만든 오픈소스 직렬화 방식✅ 구조화된 데이터를 효율적으로 저장 및 전송하게 해줌proto 파일: gRPC 서비스 및 데이터 구조 정의protoc..

카테고리 없음 2025.08.26

[주니어 백엔드 개발자가 반드시 알아야 할 실무 지식] 8. 실무에서 꼭 필요한 보안 지식

최범균 님의 "주니어 백엔드 개발자가 반드시 알아야 할 실무 지식" 책을 정리한 포스팅 입니다. 1. 중요한 보안2. 인증과 인가3. 데이터 암호화4. HMAC을 이용한 데이터 검증5. 방화벽으로 필요한 트래픽만 허용하기서버가 외부에 노출되기 시작하면 다양한 공격이 들어옴이를 방지하려면 필요한 만큼만 네트워크 접근을 허용하고 나머지는 차단해야 함 웹 방화벽웹 기반 위협을 감지하고 차단함SQL Injection, XSS 공격 등 OS 방화벽 6. 감사 로그(audit log) 남기기컴플라이언스나 정책을 지키기 위해 기록함✅ 활동을 입증하는 증거로 사용됨✅ 보안 사고 발생 시, 문제 해결에 큰 도움이 됨 예시더보기사용자 로그인/로그아웃 내역설정 변경 내역 (암호 초기화 등)민감 데이터 조회/수정 내역 7..

카테고리 없음 2025.08.26

[주니어 백엔드 개발자가 반드시 알아야 할 실무 지식] 5. 비동기 연동, 언제 어떻게 써야 할까

최범균 님의 "주니어 백엔드 개발자가 반드시 알아야 할 실무 지식" 책을 정리한 포스팅 입니다.1. 동기 연동과 비동기 연동동기 연동순차적으로 진행됨✅ 외부 연동 시, 외부 연동 실패가 전체 기능의 실패인지 확인해야 함✅ 외부 연동 시, 외부 서비스의 응답 시간 고려하기⚠️ 전체 서비스가 먹통될 수 있음 비동기 연동한 작업이 끝날때까지 기다리지 않고 바로 다음 작업을 처리함✅ 외부 연동 결과가 즉시 필요하지 않을 경우✅ 연동에 약간의 시차가 생겨도 문제가 생기지 않을 경우✅ 실패했을 때 재시도가 가능한 경우✅ 실패했을 때 수동으로 복구 가능한 경우 예시) 비동기 연동더보기로그인 시, 포인트 적립주문이 들어오면 판매자에게 푸시 보내기학습을 완료하면 포인트 적립컨텐츠 등록 시 검색 서비스에도 등록인증 번호 ..

카테고리 없음 2025.08.26