전체 글

·Spring Boot
Kafka는 Apache Software Foundation에서 개발한 분산 스트리밍 플랫폼으로, 실시간 데이터 스트리밍을 처리하고 관리하기 위해 설계되었습니다. Kafka는 데이터 처리, 전송, 저장을 효율적으로 수행하며, 주로 다음과 같은 용도로 사용됩니다:주요 특징메시지 브로커 역할Kafka는 대량의 데이터를 생산자(producer)로부터 소비자(consumer)에게 전달하는 메시지 브로커로 작동합니다. 데이터는 **토픽(topic)**이라는 논리적 단위로 분류되어 전송됩니다.분산 시스템Kafka는 여러 서버(브로커)로 구성된 클러스터에서 실행되며, 고가용성과 확장성이 뛰어납니다.내구성과 데이터 보존데이터를 디스크에 영구 저장할 수 있어 필요할 때 다시 읽을 수 있습니다.고성능초당 수백만 건의 메시..
이 장에서는 OAuth 2와 OpenID Connect 프로토콜에 대한 개요와 이들이 제공하는 인증 및 인가 시스템의 주요 요소를 다룹니다. 이들 프로토콜은 보안과 원활한 인증을 제공하는 산업 표준으로, 애플리케이션과 시스템 간 인증 책임을 분리하여 인증 과정을 간소화하고 보안을 강화합니다.핵심 개념:OAuth 2와 OpenID ConnectOAuth 2는 사용자 인증과 권한 부여를 위한 표준 프로토콜로, 인증 책임을 별도의 인증 서버에 위임하여 여러 앱에서 인증을 공유할 수 있게 합니다.OpenID Connect는 OAuth 2의 확장이며, 사용자의 ID 정보를 인증할 수 있도록 지원합니다. 이 프로토콜을 사용하면, 다른 앱에서 사용자가 이미 가진 자격 증명으로 로그인할 수 있도록 해 줍니다.여러 앱에..
이 장에서는 메소드의 매개변수와 반환값을 필터링하는 두 가지 주요 기술을 다룹니다: **사전 필터링(Prefiltering)**과 **사후 필터링(Postfiltering)**입니다.1. 사전 필터링(Prefiltering)사전 필터링은 메소드가 호출되기 전에 메소드의 매개변수 값이 필터링되는 방식입니다. 주로 메소드가 배열이나 컬렉션을 매개변수로 받을 때 사용됩니다.프레임워크는 정의된 규칙에 따라 매개변수 값들을 검토하고, 조건을 만족하지 않는 값들은 필터링하여 메소드에 전달합니다.예를 들어, 특정 사용자 그룹만 요청을 허용하는 조건을 지정할 수 있습니다. 이때, 필터링은 메소드가 실제로 호출되기 전에 이루어집니다.2. 사후 필터링(Postfiltering)사후 필터링은 메소드 호출 후 반환된 값에 필..
이 장에서는 스프링 애플리케이션에서 메소드 보안을 구성하는 방법을 다룹니다. 메소드 보안은 주로 권한 부여를 엔드포인트 수준에서 벗어나 메소드 레벨에서 적용하는 방법을 제공합니다. 이를 통해 애플리케이션의 다양한 계층에서 세밀하게 권한 부여 규칙을 설정할 수 있습니다.다룰 내용:스프링 애플리케이션에서의 메소드 보안:메소드 보안은 웹 애플리케이션 뿐만 아니라, 웹이 아닌 애플리케이션에서도 유용하게 적용될 수 있습니다.메소드 레벨에서의 권한 부여는 애플리케이션의 유연성을 높이고, 다양한 계층에서 특정한 보안 규칙을 적용할 수 있게 해줍니다.Authorities, roles 및 permissions에 기반한 메소드 사전 승인:메소드가 실행되기 전에 해당 메소드에 대한 접근을 허용할지 여부를 결정합니다.주로 @..
이 장에서는 다음을 다룹니다.교차 출처(Cross-Origin) 리소스 공유(CORS)란 무엇인가?교차 출처 리소스 공유 구성 적용하기이 장에서는 교차 출처 리소스 공유(CORS)에 대해 논의하고 Spring Security와 함께 적용하는 방법을 다룹니다. 먼저, CORS란 무엇이며 왜 중요한지 알아봅니다. CORS가 필요한 이유는 웹 애플리케이션의 구조에서 비롯됩니다. 기본적으로, 브라우저는 사이트가 로드된 도메인 외의 다른 도메인에 대한 요청을 허용하지 않습니다. 예를 들어, example.com에서 사이트에 접근한 경우, 브라우저는 사이트가 api.example.com에 요청을 보내는 것을 허용하지 않습니다. 웹 개발을 하다 보면 다른 출처(origin)의 리소스를 사용해야 할 때가 있습니다. 여..
이 장에서 다룰 내용CSRF 공격 이해하기CSRF(Cross-Site Request Forgery) 공격은 사용자가 인증된 상태에서 의도하지 않은 요청을 다른 웹사이트로 보내는 공격입니다. 이 공격은 사용자의 브라우저에서 자동으로 실행되는 요청을 악용하여, 공격자가 사용자의 권한을 가로채거나 악용할 수 있게 합니다.사이트 간 요청 위조 보호 구현하기CSRF 공격을 방어하기 위해 Spring Security는 CSRF 보호 메커니즘을 기본적으로 활성화합니다. 이 보호 메커니즘은 요청에 CSRF 토큰을 포함시켜, 서버가 요청이 진짜 사용자의 의도에 의해 발생했는지 확인할 수 있도록 합니다.CSRF 보호 커스터마이징Spring Security에서는 기본적으로 CSRF 보호를 제공하지만, 다양한 시나리오에 맞게..
이 장에서는 요청에 대해 특정 권한 부여 제약 조건을 적용하는 방법에 대해 다룹니다. 프로덕션 환경에서는 모든 요청에 동일한 규칙을 적용하는 대신, 다양한 요청 그룹에 대해 맞춤형 접근 제어가 필요합니다. 예를 들어, 특정 사용자만 접근할 수 있는 엔드포인트가 있을 수 있고, 다른 엔드포인트는 모두 접근할 수 있도록 설정할 수 있습니다.주요 내용:Matcher 메소드:요청을 선택하여 권한을 부여하는 데 사용되는 matcher 메소드를 다룹니다.예를 들어, anyRequest()는 모든 요청을 의미하며, 이는 이전 장에서 이미 사용된 메소드입니다. 모든 요청에 동일한 규칙을 적용할 때 사용됩니다.path 별로 요청 선택:요청을 path에 따라 선택하는 방법을 설명합니다. 특정 경로에 대해 권한 부여를 설정..
이 장에서는 권한 부여(Authorization)에 대해 다루고 있으며, 이를 통해 인증된 사용자가 시스템의 리소스에 접근할 수 있는지 결정하는 방법을 설명합니다. 권한 부여는 인증 후에 발생하며, 인증된 사용자가 요청한 리소스에 접근할 권한이 있는지를 판단하는 과정입니다. 아래에서 중요한 개념과 단계들을 정리해 보겠습니다.주요 개념:권한 부여:사용자가 시스템에 로그인하여 인증을 받은 후, 해당 사용자가 특정 리소스에 접근할 수 있는지 판단하는 과정입니다. 이 과정은 애플리케이션에서 중요한 보안 요소로 작용합니다.권한 부여는 인증 이후에 이루어지며, 스프링 시큐리티에서는 인증을 통해 SecurityContext에 저장된 사용자 정보를 바탕으로 권한을 결정합니다.권한 필터:인증이 완료되면, 요청은 권한 부..
GLaDiDos
GLaDiDos의 티스토리