Certificados X.509
Autentica una aplicación con su certificado de cliente, sin contraseña.
Autentica una aplicación con su certificado de cliente, sin contraseña. El usuario vive en la base $external y se llama como el sujeto del certificado.
Requisitos
- Un certificado de cliente firmado por una CA que el nodo acepte con
--tlsCAFile. - Un usuario con permiso para crear usuarios.
Crear el usuario
JavaScript
db.getSiblingDB("$external").runCommand({
createUser: "CN=tienda-api,OU=apps,O=Ejemplo",
roles: [{ role: "readWrite", db: "tienda" }],
});Conectar con el certificado
mongodb://node-01:27017/?tls=true&tlsCAFile=./ca.pem&tlsCertificateKeyFile=./tienda-api.pem&authMechanism=MONGODB-X509Comprobar
Conéctate con el certificado y ejecuta db.runCommand({ connectionStatus: 1 }). La respuesta lleva en
authInfo.authenticatedUsers el usuario del certificado, con su base $external.
Problemas frecuentes
- La autenticación falla porque el nombre del usuario no es igual al sujeto del certificado.
- El nodo no pide certificado porque arrancó sin
--tlsCAFile.