이 페이지에서는 Kubernetes 연산자용 MongoDB 컨트롤러를 사용하여 MongoDB Search 및 벡터 검색을 실행할 때 mongod (또는 mongos)가 mongot 에 열는 연결에 대한 TLS 구성 방법을 설명합니다. 이 연결에서 mongot 는 수신 서버를 실행하고 mongod 는 클라이언트입니다. MongoDBSearch 리소스의 spec.security.tls 블록을 통해 구성합니다.
이 페이지에서는 가 mongot mongod 데이터를 가져오기 위해 에 열리는 연결에 대해 다루지 않습니다. 이 방향에 대한 자세한 내용(예: mongot 가 인증하는 방법 및 소스 mongod의 인증서를 신뢰하는 방법) 은 Search에서 MongoDB로의 연결 보안을 참조하세요.
이 페이지에서 참조되는 각 MongoDBSearch 설정의 완전한 스키마를 확인하려면 MongoDB Search 및 벡터 검색 설정을 참조하십시오.
TLS 모드
mongot 수신 서버는 세 가지 개념적 모드를 지원합니다.
모드 | 행동 |
|---|---|
비활성화 | 수신 서버는 평문 연결만 허용합니다. |
TLS | 수신 서버는 |
mTLS | 수신 서버에는 TLS가 필요하며, 클라이언트( |
Kubernetes 연산자는 이 구성을 단일 spec.security.tls 블록으로 표시합니다. 소스 mongod 도 TLS를 사용하는 경우 수신 서버는 mTLS 모드로 실행됩니다. 이 경우 mongot 는 spec.security.tls에 구성된 CA가 아니라 소스 mongod의 CA에 대해 클라이언트 인증서를 검증합니다. 이 신뢰를 구성하려면 검색에서 MongoDB로의 연결 보안을 참조하세요.
수신 서버 인증서 구성
mongot 수신 서버에서 TLS를 활성화하려면 MongoDBSearch 리소스에 spec.security.tls.certsSecretPrefix 을 설정합니다. Kubernetes 연산자는 동일한 네임스페이스의 Kubernetes Secret 리소스에서 이름 접두사로 TLS 자료를 찾습니다.
spec: security: tls: certsSecretPrefix: my-mongot
위의 접두사를 사용하여 Kubernetes Operator는 고정된 접미사를 접두사에 추가하여 TLS 시크릿 이름을 유도합니다. 복제본 세트의 경우 <name> 이 MongoDBSearch 리소스의 metadata.name 인 my-mongot-<name>-search-cert라는 이름의 시크릿에서 tls.crt 및 tls.key 쌍을 읽습니다. 샤딩된 클러스터 배포를 포함하여 모든 명명 패턴에 대한 자세한 내용은 spec.security.tls.certsSecretPrefix를 참조하세요. mTLS 모드에서 mongot 가 mongod의 클라이언트 인증서를 검증하는 데 사용되는 CA는 spec.security.tls에서 오는 것이 아니라 소스 mongod의 TLS 구성에서 오는 것입니다. 검색에서 MongoDB로의 연결 보안을 참조하세요.
참고
spec.security.tls.certsSecretPrefix 새 배포에 권장되는 필드입니다. 레거시 spec.security.tls.certificateKeySecretRef.name 필드는 여전히 지원되며, 동일한 MongoDBSearch 리소스에 두 개 모두 설정되어 있을 때 우선시됩니다. 레거시 필드에 있는 기존 배포는 변경 없이 계속 작동합니다.
알려진 제한 사항
mongot TLS에는 다음과 같은 제한 사항이 적용됩니다:
구성 가능한 암호 스위트가 없습니다.
mongot가 협상하는 암호 스위트는MongoDBSearchCRD 또는mongot구성을 통해 구성할 수 없습니다. 세트는mongot에 포함된 값으로 고정됩니다.FIPS 지원 없음.
mongot이 릴리스에서는 FIPS 검증된 TLS 모드를 제공하지 않습니다.수신 서버에 대한 호스트 이름 또는 SAN 유효성 검사가 없습니다.
mongot신뢰할 수 있는 CA에 서명된 수신 클라이언트 인증서를 검증하지만 인증서의 주제 호스트 이름 또는 SAN 엔트리를 검증하지 않습니다. 수신 경로의 인증은 인증 기관과 검색에서 MongoDB로의 연결 보안에 구성된 X.509 주제 고유 이름 권한 부여에 의지합니다.최소 TLS 버전은 1.2입니다.
mongotTLS 1.0 또는 1.1 연결을 허용하지 않습니다.
TLS 자료 로테이션은 클라이언트 인증서 로테이션과 동일한 흐름입니다. 참조된 Secret 를 업데이트하고 mongot 팝을 다시 시작합니다. 절차는 검색에서 MongoDB로의 연결 보안 을 참조하세요.
경고
실행 중인 배포에서 TLS를 활성화하면 잠시적이지만 실제로 장애가 발생하지 원활한 변경은 아닙니다. mongot의 gRPC 리스너는 바이너리입니다. 일반 텍스트 또는 TLS만 허용하고 두 가지 모두 허용하지 않습니다. 비활성화된 상태에서 TLS로 전환하면 mongot 과 mongod의 searchTLSMode 이(가) 함께 롤되며 전환 동안 새 검색 쿼리가 일시적으로 실패합니다. TLS가 이미 활성화된 배포에서 인증서를 로테이션하는 것은 리스너 모드가 변경되지 않으므로 이러한 갭갑이 없습니다. 초기 TLS 활성화를 위해 유지 관리 기간을 계획하세요.