자체 관리형 클러스터에서 clusterAuthX509 속성이 있는 X.509 인증서를 회전합니다.
이 페이지의 내용
버전 7.0에 추가.
클러스터 구성원은 멤버십 인증 에X.509 인증서를 사용하여 동일한 배포서버 에 있는 다른 서버를 식별할 수 있습니다. 이 튜토리얼에서는 설정을 사용하여 클러스터 구성원의 509 고유 이름(DN) 속성을 구성하는 클러스터 에서 X.net.tls.clusterAuthX509.attributes
인증서를 순환시키기 위한 롤링 업데이트 수행하는 방법을 설명합니다.
참고
설정을 사용하지 않고 업데이트 후에도 사용하지 net.tls.clusterAuthX509
않는 클러스터 에서 인증서를 순환시키기 위해 롤링 업데이트 수행하려면 X. 순환을 참조하세요.509 509 자체 관리 클러스터에서 clusterAuthX 속성이 없는 인증서.
설정으로 net.tls.clusterAuthX509.attributes
구성된 서버 연결 요청 받으면 subject
제시된 인증서의 필드 에 있는 고유 attributes
이름(DN) 속성을 설정 및 매개 변수의 tlsClusterAuthX509Override
구성된 값과 비교합니다. 값이 일치하면 연결을 클러스터 멤버로 취급합니다.
조직 이름을 변경하는 경우와 같이 일부 상황에서는 구성원 인증서를 새 고유 이름(DN)이 있는 새 인증서로 업데이트 해야 할 수 있습니다. 롤링 업데이트 에서는 구성원 인증서가 한 번에 하나씩 업데이트되며 배포서버 다운타임이 발생하지 않습니다.
새 인증서를 tlsClusterAuthX509Override
509 채택하는 클러스터는 매개 변수를 사용하여 인증서 순환 절차 중에 주체 DN 속성이 다른 X. 인증서를 수락할 수 있습니다. 모든 구성원이 새 값의 인증서를 사용하면 재정의를 제거 오래된 인증서 거부를 시작합니다.
이 작업에 관한 정보
및 설정을 clusterFile
certificateKeyFile
사용하여 설정하다 구성원 인증서에 조직 및 10gen
10gen Server
조직 단위를 사용하는 고유 이름(DN) 속성이 있는 복제본 세트 생각해 보세요. 이러한 DN 속성은 net.tls.clusterAuthX509.attributes
설정을 사용하여 설정하다 됩니다.
이 복제본 세트 의 멤버에는 다음과 같은 구성 파일 있습니다.
security: clusterAuthMode: x509 net: tls: mode: requireTLS certificateKeyFile: /etc/mycerts/10gen-server1.pem CAFile: /etc/mycerts/ca.pem clusterFile: /etc/mycerts/10gen-cluster1.pem clusterCAFile: /etc/mycerts/ca.pem clusterAuthX509: attributes: O=10gen, OU=10gen Server
다음 절차에서는 각 복제본 세트 구성원의 X.509 인증서를 MongoDB
조직 및 MongoDB Server
조직 단위를 사용하는 DN 속성이 있는 새 인증서로 업데이트합니다.
참고
다음 절차에서는 새 X.509 인증서가 멤버십 인증서 및 기타 모든 요구 사항을 충족하고 클러스터 구성이 고유 이름(DN) 값을 사용하여 피어 인증서를 식별한다고 가정합니다. 자세한 내용은 멤버 인증서 요구 사항을 참조하세요.
단계
이 단계에서는 net.tls.clusterAuthX509.attributes
설정으로 구성된 cluster에서 새 X.509 인증서를 사용하도록 멤버 인증서를 업데이트합니다.
새 인증서에는 조직(O) 속성을 10gen
에서 MongoDB
로, 조직 단위(OU) 속성을 10gen Server
에서 MongoDB Server
로 변경하는 고유 이름(DN)이 있습니다.
TLS 클러스터 멤버십 구성 업데이트
각 서버의 구성 파일을 업데이트합니다.
새 인증서의 값을 사용하도록
attributes
설정을 변경합니다.이전 인증서의 고유 이름 속성을 사용하려면
tlsClusterAuthX509Override
매개변수를 설정합니다.
예를 들면 다음과 같습니다.
net: tls: mode: requireTLS certificateKeyFile: /etc/mycerts/mongodb-server1.pem CAFile: /etc/mycerts/ca.pem clusterFile: /etc/mycerts/mongodb-cluster1.pem clusterCAFile: /etc/mycerts/ca.pem clusterAuthX509: attributes: O=MongoDB, OU=MongoDB Server security: clusterAuthMode: x509 setParameter: tlsClusterAuthX509Override: { attributes: O=10gen, OU=10gen Server }
보조 cluster 멤버 다시 시작
각 세컨더리 cluster 멤버를 다시 시작합니다:
mongosh
를 사용하여 각 세컨더리 클러스터 멤버에 연결한 다음,db.shutdownServer()
메서드를 사용하여 서버를 중지합니다.use admin db.shutdownServer() 서버를 다시 시작합니다.
rs.status()
메서드를 사용하여 멤버 상태를 확인합니다.rs.status().members 이 멤버의
stateStr
필드에SECONDARY
값이 표시될 때까지 기다렸다가 다음 세컨더리를 다시 시작하세요.
이제 복제본 세트의 세컨더리 서버가 새 DN 속성이 있는 인증서를 사용하여 구성원의 피어 연결을 허용합니다.
프라이머리 cluster 멤버 재시작
프라이머리 멤버를 다시 시작합니다.
mongosh
을 사용하여 프라이머리에 연결한 다음rs.stepDown()
메서드를 사용하여 멤버를 프라이머리로 강등합니다.rs.stepDown() cluster는 새 인증서로 보조 인증서를 새 프라이머리 역할을 하도록 승격합니다.
db.shutdownServer()
메서드를 사용하여 서버를 종료합니다:use admin db.shutdownServer() 서버를 다시 시작합니다.
복제본 세트의 프라이머리 서버는 강등되고 이제 새 DN 속성이 있는 인증서를 사용하여 구성원의 Peering 연결을 허용하는 세컨더리 서버로 다시 시작됩니다.
TLS 인증서 업데이트
각 서버의 구성 파일을 업데이트합니다.
새 인증서를 사용하도록
net.tls.certificateKeyFile
설정을 변경합니다.새 인증서를 사용하도록
net.tls.clusterFile
설정을 변경합니다.
예를 들면 다음과 같습니다.
net: tls: mode: requireTLS certificateKeyFile: /etc/mycerts/mongodb-server2.pem CAFile: /etc/mycerts/ca.pem clusterFile: /etc/mycerts/mongodb-cluster2.pem clusterCAFile: /etc/mycerts/ca.pem clusterAuthX509: attributes: O=MongoDB, OU=MongoDB Server security: clusterAuthMode: x509 setParameter: tlsClusterAuthX509Override: { attributes: O=10gen, OU=10gen Server }
보조 cluster 멤버 다시 시작
각 세컨더리 cluster 멤버를 다시 시작합니다:
mongosh
를 사용하여 각 세컨더리 클러스터 멤버에 연결한 다음,db.shutdownServer()
메서드를 사용하여 서버를 중지합니다.use admin db.shutdownServer() 서버를 다시 시작합니다.
rs.status()
메서드를 사용하여 멤버 상태를 확인합니다.rs.status().members 이 멤버의
stateStr
필드에SECONDARY
값이 표시될 때까지 기다렸다가 다음 세컨더리를 다시 시작하세요.
이제 복제본 세트의 세컨더리 서버가 새로운 X.509 인증서를 사용합니다.
프라이머리 cluster 멤버 재시작
프라이머리 멤버를 다시 시작합니다.
mongosh
을 사용하여 프라이머리에 연결한 다음rs.stepDown()
메서드를 사용하여 멤버를 프라이머리로 강등합니다.rs.stepDown() cluster는 새 인증서로 보조 인증서를 새 프라이머리 역할을 하도록 승격합니다.
db.shutdownServer()
메서드를 사용하여 서버를 종료합니다:use admin db.shutdownServer() 서버를 다시 시작합니다.
복제본 세트의 프라이머리 서버는 강등되고 새 X.509 인증서를 사용하는 세컨더리 서버로 다시 시작됩니다.
고유 이름 인증 재정의 구성 제거
이제 cluster의 모든 멤버가 새 X.509 인증서를 사용하므로 구성 setParameter
tlsClusterAuthX509Override
파일을 업데이트하여 매개 변수에 대한 설정을 제거합니다.
예를 들면 다음과 같습니다.
net: tls: mode: requireTLS certificateKeyFile: /etc/mycerts/mongodb-server1.pem CAFile: /etc/mycerts/ca.pem clusterFile: /etc/mycerts/mongodb-cluster1.pem clusterCAFile: /etc/mycerts/ca.pem clusterAuthX509: attributes: O=MongoDB, OU=MongoDB Server security: clusterAuthMode: x509
이렇게 하면 서버가 시작 시 이전 인증서 설정을 구성하지 않습니다.
보조 cluster 멤버 다시 시작
각 세컨더리 cluster 멤버를 다시 시작합니다:
mongosh
를 사용하여 각 세컨더리 클러스터 멤버에 연결한 다음,db.shutdownServer()
메서드를 사용하여 서버를 중지합니다.use admin db.shutdownServer() 서버를 다시 시작합니다.
rs.status()
메서드를 사용하여 멤버 상태를 확인합니다.rs.status().members 이 멤버의
stateStr
필드에SECONDARY
값이 표시될 때까지 기다렸다가 다음 세컨더리를 다시 시작하세요.
복제본 세트의 세컨더리 서버가 다시 시작되고 더 이상 이전 X.509 인증서에서의 연결을 허용하지 않습니다.
프라이머리 cluster 멤버 재시작
프라이머리 멤버를 다시 시작합니다.
mongosh
을 사용하여 프라이머리에 연결한 다음rs.stepDown()
메서드를 사용하여 멤버를 프라이머리로 강등합니다.rs.stepDown() cluster는 새 인증서로 보조 인증서를 새 프라이머리 역할을 하도록 승격합니다.
db.shutdownServer()
메서드를 사용하여 서버를 종료합니다:use admin db.shutdownServer() 서버를 다시 시작합니다.
프라이머리 서버는 더 이상 이전 X.509 인증서에서의 연결을 허용하지 않는 세컨더리 서버로 다시 시작됩니다.