Когда я тестировал аутентификацию в тестовой среде, все работало нормально.Единственным отличием было то, что я не использовал набор реплик.Я прочитал, что мне может понадобиться использовать файл ключа для аутентификации с использованием имени пользователя и пароля при использовании репликации, но мой руководитель хочет по возможности держаться подальше от файлов ключей.Есть ли способ сделать это без ключевого файла, все еще используя имя пользователя / пароль?
В моем журнале я вижу такие строки:
[conn4552] Successfully authenticated as principal DBAdmin on admin
[conn1] Unauthorized: not authorized on admin to execute command { replSetHeartbeat: "rs0", configVersion: 1, hbv: 1, from: "172.30.1.216:27017", fromId: 1, term: 8, $replData: 1, $clusterTime: { clusterTime: Timestamp(1527610291, 1), signature: { hash: BinData(0, FA0631F3EE81E932FE5E49031F76A9E5199250A0), keyId: 6561016230625411073 } }, $db: "admin" }
[replexec-27] Error in heartbeat (requestId: 22357) to <IP>:<PORT>, response status: Unauthorized: not authorized on admin to execute command { replSetHeartbeat: "rs0", configVersion: 1, hbv: 1, from: "<IP>:<PORT>", fromId: 0, term: 8, $replData: 1, $clusterTime: { clusterTime: Timestamp(1527610291, 1), signature: { hash: BinData(0, FA0631F3EE81E932FE5E49031F76A9E5199250A0), keyId: 6561016230625411073 } }, $db: "admin" }