아파치 카프카 ACLs - Amazon Managed Streaming for Apache Kafka

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아파치 카프카 ACLs

Apache Kafka에는 플러그형 권한 부여자가 있으며 권한 부여자 구현이 함께 제공됩니다. out-of-box Amazon은 브로커의 server.properties 파일에서 이 권한 부여자를 MSK 활성화합니다.

Apache ACLs Kafka의 형식은 “주 P는 RP와 일치하는 모든 리소스 R에 대한 호스트 H의 작업 O를 [허용/거부] 입니다.” ResourcePattern RP가 특정 리소스 R과 일치하지 않는 경우 R은 ACLs 연관되지 않으므로 수퍼 유저 외에는 누구도 R에 액세스할 수 없습니다. 이 Apache Kafka 동작을 변경하려면 속성을 true로 설정합니다. allow.everyone.if.no.acl.found Amazon은 기본적으로 이를 true로 MSK 설정합니다. 즉, Amazon MSK 클러스터를 사용하면 리소스를 명시적으로 ACLs 설정하지 않으면 모든 보안 주체가 이 리소스에 액세스할 수 있습니다. 리소스를 ACLs 활성화하면 승인된 보안 주체만 리소스에 액세스할 수 있습니다. 주제에 대한 액세스를 제한하고 TLS 상호 인증을 사용하여 클라이언트를 승인하려면 Apache Kafka 권한 부여자를 ACLs 사용하여 추가하십시오. CLI 추가, 제거 및 나열에 대한 자세한 내용은 Kafka 권한 부여 ACLs 명령줄 인터페이스를 참조하십시오.

클라이언트 외에도 브로커가 기본 파티션에서 메시지를 복제할 수 있도록 모든 브로커에게도 주제에 대한 액세스 권한을 부여해야 합니다. 브로커가 주제에 액세스할 수 없는 경우 주제에 대한 복제가 실패합니다.

주제에 대한 읽기 및 쓰기 액세스 권한을 추가하거나 제거하려면
  1. 브로커를 ACL 테이블에 추가하여 해당 브로커가 적절한 모든 주제를 읽을 수 있도록 하세요. ACLs 브로커에게 주제에 대한 읽기 액세스 권한을 부여하려면 클러스터와 통신할 수 있는 클라이언트 시스템에서 다음 명령을 실행합니다. MSK

    Replace Distinguished-Name DNS클러스터의 부트스트랩 브로커 중 하나를 사용하여 이 고유 이름의 첫 번째 마침표 앞의 문자열을 별표 () 로 바꾸십시오. * 예를 들어, 클러스터의 부트스트랩 브로커 중 하나에 다음이 있는 경우 다음을 대체하십시오. DNS b-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com Distinguished-Name 다음 명령에서 를 입력하십시오. *.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com 부트스트랩 브로커를 가져오는 방법에 대한 자세한 내용은 Amazon 클러스터용 부트스트랩 브로커 구하기 MSK 단원을 참조하십시오.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name
  2. 주제에 대한 읽기 액세스 권한을 부여하려면 클라이언트 머신에서 다음 명령을 실행합니다. 상호 TLS 인증을 사용하는 경우 동일한 방법을 사용하십시오.Distinguished-Name 개인 키를 생성할 때 사용했습니다.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name

    읽기 액세스 권한을 제거하려면 --add--remove로 바꾸어 같은 명령을 실행하면 됩니다.

  3. 주제에 대한 쓰기 액세스 권한을 부여하려면 클라이언트 머신에서 다음 명령을 실행합니다. 상호 인증을 사용하는 경우 상호 TLS 인증을 사용하세요.Distinguished-Name 개인 키를 생성할 때 사용했습니다.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Write --topic Topic-Name

    쓰기 액세스 권한을 제거하려면 --add--remove로 바꾸어 같은 명령을 실행하면 됩니다.