나누고 싶은 개발 이야기

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

인증 5

[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] Kerberos 인증 #2

지난 글에 이어서 Kafka Kerberos 인증 설정과 Client (Producer) 테스트에 대한 내용을 설명한다. 바로 시작해 보자. 1. Kafka Broker 설정 Kafak Broker는 2가지 설정을 수정해야 한다. 인증정보를 적는 JAAS 파일을 추가하고 서버 설정 (server.properties)에서 일부 항목을 추가/수정해야 한다. JAAS 파일의 내용을 먼저 보자. 설정에서 주의깊게 볼 부분은 principal이다. 여기에 지난 글에서 만들었던 Broker 용도 Keytab 파일의 경로를 넣어준다. JAAS 파일의 역할은 시작할 Broker에게 Kerberos principal의 정보를 제공해 주는데 있다. 두 번째는 server.properties에서 수정 사항이다. listen..

Big Data/Kafka 2020.02.05

[Kafka] Kerberos 인증 #1

이번 글에서는 Kafka의 인증 방식 중 Kerberos를 적용하는 방법을 정리하고자 한다. Kerberos는 Hadoop에서도 많이 사용하는 기술이기에 개념을 이해하는 것도 중요하다. 그리고 Kafka에서는 Kerberos 인증을 어떻게 설정하는지도 실습해보자. 처음에는 하나의 글로 Kerberos 서버준비 + Kafka 연동까지 하려고 했으나 내용이 길어져 2개의 글로 나누어서 정리를 하고자 한다. 참고로 Kafka 인증에 대해 썼던 다른 글도 있으니 참고하면 좋다. [Kafka] 인증 - SASL/PLAIN [Kafka] Configurable SASL callback handler 1. Kerberos Kerberos는 티켓을 기반으로 동작하는 암호화 프로토콜로서 클라이언트/ 서버 사이의 인증을 ..

Big Data/Kafka 2020.02.03

[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
반응형