나누고 싶은 개발 이야기

Data Engineer로서 기록하고 공유하고 싶은 기술들. 책과 함께 이야기합니다.

SASL 3

[Kafka] SASL/SCRAM 인증

이번글에서는 SCRAM 인증에 대해서 살펴보고자 한다. 앞선 2개의 글(SASL/PLAIN, Kerberos) 에서 SASL 인증을 사용했을 때, 대략적인 설정 방법은 비슷하기 때문에 참고하면 좋다. 그래서 이 글에서는 SCRAM의 특징과 다른 인증과의 차이점이 무엇인지 살펴보면 의미가 있을 것 같다. 1. SCRAM? SCRAM은 Salted Challenge Response Authentication Mechanism의 약칭이다. 간단히 설명하면 전통적인 사용자/비밀번호를 통해 인증을 처리하는데 비밀번호를 암호화해서 저장하는 방식이다. 카프카에서는 SCRAM-SHA-256과 SCRAM-SHA-512를 지원한다. 카프카는 SCRAM의 기본 저장소로 주키퍼를 사용한다. 실습을 진행하면서 주키퍼에 어떻게 ..

Big Data/Kafka 2020.09.09

[Kafka] Configurable SASL callback handler

최근에 Kafka 인증 기술에 대해서 하나씩 공부를 하고 있다. 가장 기본이 되는 SASL/PLAIN에 대해서 이전 블로그 글을 통해 소개한 바 있다. 이번 글은 Kafka 2.0 버전에 추가된 SASL callback 기능을 알아보고자 한다. SASL callback이 인증과 관련하여 중요하다고 생각되는 것은 SASL/PLAIN에서 접근을 허용하는 사용자 정보의 관리에 장점이 있어서이다. SASL/PLAIN에서 소개했듯이 Broker의 jaas 파일에 사용자 정보를 관리하게 되면 Kafka 운영에 불편한 점이 많다. 이번에 소개할 SASL callback 기능을 사용하면 인증 로직을 custom하게 추가할 수 있어 Kafka Cluster 운영 상황에 맞는 인증 서비스를 할 수 있다. KIP-86에 S..

Big Data/Kafka 2019.04.18

[Kafka] 인증 - SASL/PLAIN

최근 Kafka 인증에 대해서 살펴보고 있는데, 인증에서 가장 기본이 되는 SASL/PLAIN에 대해서 정리해 보고자 한다. 블로그의 내용은 Kafka Document의 내용을 토대로 직접 실습해보고 정리한 내용이다. SASL/PLAIN 인증 방식은 가장 먼저 머리속에 떠오르는 id/password를 통한 인증이다. id/password로 인증을 할 때는, SSL 통신을 해야 plain text가 노출되지 않는다. Kafka에서는 SASL_SSL, SASL_PLAIN 2가지 타입이 있으며, Live 환경에서는 SASL_SSL으로 설정해서 SSL 통신을 하도록 추천하고 있다. SASL/PLAIN 인증을 하기 위해서는 인증정보를 포함한 conf 파일을 Broker, Client에 각각 만들어 줘야 한다. 먼..

Big Data/Kafka 2019.03.26
반응형