6.6. Zookeeper 권한 부여
Kafka와 Zoo Cryostat 간에 인증이 활성화되면 Zoo Cryostat Access Control List(ACL) 규칙을 사용하여 Zoo Cryostat에 저장된 Kafka의 메타데이터에 대한 액세스를 자동으로 제어할 수 있습니다.
6.6.1. ACL 구성
Zoo Cryostat ACL 규칙 적용은 config/server
속성에 의해 제어됩니다.
.properties
Kafka 구성 파일의 Zookeeper.set.acl
속성은 기본적으로 비활성화되어 있으며 true
로 설정하여 활성화됩니다.
zookeeper.set.acl=true
zookeeper.set.acl=true
ACL 규칙이 활성화되면 znode
가 Zoo Cryostat에서 생성되는 경우 이를 생성한 Kafka 사용자만 수정하거나 삭제할 수 있습니다. 다른 모든 사용자는 읽기 전용 액세스 권한을 갖습니다.
Kafka는 새로 생성된 Zoo Cryostat znodes
에만 ACL 규칙을 설정합니다. ACL이 클러스터를 처음 시작한 후에만 활성화된 경우 zookeeper-security-migration.sh
툴에서 모든 기존 znodes
에 ACL을 설정할 수 있습니다.
Zoo Cryostat의 데이터 기밀성
Zoo Cryostat에 저장된 데이터는 다음과 같습니다.
- 주제 이름 및 구성
- SASL SCRAM 인증을 사용할 때 Salted 및 hashed 사용자 자격 증명입니다.
그러나 Zoo Cryostat는 Kafka를 사용하여 전송 및 수신한 레코드를 저장하지 않습니다. Zoo Cryostat에 저장된 데이터는 기밀로 간주됩니다.
데이터가 기밀로 간주되는 경우(예: 주제 이름에 고객 ID가 포함되어 있기 때문에) 보호에 사용할 수 있는 유일한 옵션은 네트워크 수준에서 Zoo Cryostat를 분리하고 Kafka 브로커에만 액세스를 허용하는 것입니다.
6.6.2. 새 Kafka 클러스터에 대해 Zoo Cryostat ACL 활성화
다음 절차에서는 새 Kafka 클러스터의 Kafka 구성에서 Zoo Cryostat ACL을 활성화하는 방법을 설명합니다. Kafka 클러스터를 처음 시작하기 전에 이 절차를 사용하십시오. 이미 실행 중인 클러스터에서 Zoo Cryostat ACL을 활성화하려면 6.6.3절. “기존 Kafka 클러스터에서 Zoo Cryostat ACL 활성화” 을 참조하십시오.
사전 요구 사항
- Apache Kafka의 스트림 은 각 호스트에 설치되고 구성 파일을 사용할 수 있습니다.
- Zoo Cryostat 클러스터가 구성되어 실행 중입니다.
- 클라이언트-서버 간 인증은 Zoo Cryostat에서 활성화됩니다.
- Zookeeper 인증은 Kafka 브로커에서 사용할 수 있습니다.
- Kafka 브로커는 아직 시작되지 않았습니다.
프로세스
Kafka 구성 속성 파일을 편집하여 모든 클러스터 노드에서
zookeeper.set.acl
필드를true
로 설정합니다.zookeeper.set.acl=true
zookeeper.set.acl=true
Copy to Clipboard Copied! - Kafka 브로커를 시작합니다.
6.6.3. 기존 Kafka 클러스터에서 Zoo Cryostat ACL 활성화
다음 절차에서는 실행 중인 Kafka 클러스터의 Kafka 구성에서 Zoo Cryostat ACL을 활성화하는 방법을 설명합니다. Zookeeper -security-migration.sh
도구를 사용하여 기존 znodes
에 Zoo Cryostat ACL을 설정합니다. Zookeeper -security-migration.sh
는 Apache Kafka용 Streams의 일부로 사용할 수 있으며 bin
디렉토리에서 찾을 수 있습니다.
사전 요구 사항
- Kafka 클러스터가 구성되어 실행 중입니다.
Zoo Cryostat ACL 활성화
Kafka 구성 속성 파일을 편집하여 모든 클러스터 노드에서
zookeeper.set.acl
필드를true
로 설정합니다.zookeeper.set.acl=true
zookeeper.set.acl=true
Copy to Clipboard Copied! 모든 Kafka 브로커를 하나씩 다시 시작합니다.
멀티 노드 클러스터에서 브로커를 다시 시작하는 방법에 대한 자세한 내용은 4.3절. “Kafka 브로커의 정상 롤링 재시작 수행” 을 참조하십시오.
Zookeeper
-security-migration.sh 도구를 사용하여 기존의 모든 Zoo Cryostat
znodes
에서 ACL을 설정합니다.su - kafka cd /opt/kafka KAFKA_OPTS="-Djava.security.auth.login.config=./config/jaas.conf"; ./bin/zookeeper-security-migration.sh --zookeeper.acl=secure --zookeeper.connect=<ZooKeeperURL> exit
su - kafka cd /opt/kafka KAFKA_OPTS="-Djava.security.auth.login.config=./config/jaas.conf"; ./bin/zookeeper-security-migration.sh --zookeeper.acl=secure --zookeeper.connect=<ZooKeeperURL> exit
Copy to Clipboard Copied! 예를 들면 다음과 같습니다.
su - kafka cd /opt/kafka KAFKA_OPTS="-Djava.security.auth.login.config=./config/jaas.conf"; ./bin/zookeeper-security-migration.sh --zookeeper.acl=secure --zookeeper.connect=zoo1.my-domain.com:2181 exit
su - kafka cd /opt/kafka KAFKA_OPTS="-Djava.security.auth.login.config=./config/jaas.conf"; ./bin/zookeeper-security-migration.sh --zookeeper.acl=secure --zookeeper.connect=zoo1.my-domain.com:2181 exit
Copy to Clipboard Copied!