6.4. 필터 보안
각 필터에서 제공하는 보안 기능을 사용하고 OpenShift Secret 과 같은 외부 리소스에 중요한 값을 저장하여 필터를 보호합니다.
6.4.1. 필터 리소스의 보안에 민감한 값 링크 복사링크가 클립보드에 복사되었습니다!
6.4.1.1. 템플릿 사용 및 값 보간 링크 복사링크가 클립보드에 복사되었습니다!
보간은 런타임 시 자리 표시자 값을 자동으로 대체하기 위해 spec.configTemplate 에서 지원됩니다. 이를 통해 암호 또는 키와 같은 보안에 민감한 값을 KafkaProtocolFilter 리소스에 직접 사용하는 대신 OpenShift Secret 리소스에 지정할 수 있습니다. 마찬가지로 신뢰할 수 있는 CA 인증서와 같은 항목은 ConfigMap 리소스에 정의할 수 있습니다.
Operator는 KafkaProtocolFilter 리소스에서 참조하는 Secret 및 ConfigMap 리소스를 확인하고 프록시 컨테이너에 마운트된 프록시 Pod 에서 볼륨으로 선언합니다. 이 예에서는 동일한 OpenShift 클러스터에 배포된 Vault KMS를 사용하여 RecordEncryptionFilter 를 구성하는 방법을 보여줍니다.
KafkaProtocolFilter 구성의 예
kind: KafkaProtocolFilter
metadata:
# ...
spec:
type: RecordEncryption
configTemplate:
kms: VaultKmsService
kmsConfig:
vaultTransitEngineUrl: http://vault.vault.svc.cluster.local:8200/v1/transit
vaultToken:
password: ${secret:vault:token}
selector: TemplateKekSelector
selectorConfig:
template: "$(topicName)"
6.4.1.2. 보간 참조 구조 링크 복사링크가 클립보드에 복사되었습니다!
예제 보간 참조 ${secret:vault:token} 을 자세히 살펴보겠습니다.
${ 로 시작하고 } 로 끝납니다. 이 중에서 콜론(:)으로 구분된 세 부분으로 나뉩니다.
-
secret은 공급자입니다. 지원되는 공급자는secret및configmap입니다( lower case 사용 참조). -
Vault는 경로입니다. 경로 해석은 공급자에 따라 다릅니다. -
토큰은키 입니다. 키 해석은 공급자에 따라 다릅니다.
secret 및 configmap 공급자의 경우:
-
경로는
KafkaProtocolFilter리소스와 동일한 네임스페이스에서Secret또는ConfigMap리소스의 이름으로 해석됩니다. -
키는
Secret또는ConfigMap리소스의data속성에서 키로 해석됩니다.