2016-10-13 2 views
2

공식 카프카 문서뿐만 아니라 내 여행 중에 발생하는 블로그의 바다에서 나는 server.properties 설정 파일 인 카프카 중개인을 불러 낼 수있는 것 같습니다. 포함클라이언트 측에서 카프카 수퍼 유저 ACL 사용하기

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 
super.users=User:Bob;User:Alice 

이 다음에 메시지를 생성하고, 내 브로커의 주제에서 메시지를 사용할 수있는 두 개의 슈퍼 유저 (밥 + 앨리스)를 정의합니다.

그러나 클라이언트 측에서 이러한 사용자를 활용하려면 어떻게해야합니까? 카프카 브로커에게 메시지를 보내야하는 Java 클라이언트가 있다면 그 클라이언트는 어떻게 'Bob'(또는 'Alice'또는 다른 수퍼 유저)으로 자신을 "인증"합니까?

그리고 수퍼 유저 비밀번호는 어디에 정의 되었습니까?

답변

1

나는 이번 주에 파기를했는데 "기본 인증"스타일 (사용자 이름 + 비밀번호) 자격 증명이 카프카에서 지원되지 않는 것으로 보입니다.

Kerberos 또는 이와 유사한 솔루션 (JAAS/SASL 등)을 설정하여 Kafka와 호환되는 티켓 서비스를 만들 수있는 것처럼 보입니다.이 티켓 서비스는 이러한 ACL의 용도로 사용됩니다. I 으로 생각하면 요점은 Kerberos에 대해 먼저 인증을 받으면 티켓/토큰이 부여된다는 것입니다. 그런 다음 Kafka 티켓과 함께 사용자 이름/원칙을 제시하면 Kafka는 Kerberos와 협력하여 티켓이 유효한지 확인합니다. 내가 라고 생각하면 그것이 작동하는 방법, 일부 애매한/애매한 블로그를 기반으로 내 손에 넣을 수있었습니다.

또한 Kafka가 현재 LDAP를 사용하여 일종의 통합 계층 지원을하고 있다는 증거를 보았습니다. 따라서 Kafka 클러스터를 AD 또는 이와 유사한 것으로 연결할 수 있습니다.

카프카 인증을 관리하는 가장 좋은 방법은 이상한 일이지만 Yahoo! Kafka Manager 도구 인 것으로 보이며 최근 업데이트 및 커뮤니티 지원으로 널리 보급 된 잘 알려진 프로젝트입니다. 이것은 당분간 적어도 내가 달릴 것입니다. HTH.

관련 문제