Docs Menu
Docs Home
/ /

X.509

En el mecanismo de autenticación X., el servidor y el cliente utilizan el509 ProtocoloTLS para intercambiar 509 certificados de clave pública X.. Puede usar este mecanismo para autenticarse en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.

Tip

Mecanismo X.509

Para aprender a usar TLS/SSL con PyMongo, consulte Protocolo de transmisión de datos (TLS/SSL).

Para obtener más información sobre509 los certificados X., consulte X. en el manual de MongoDB Server.509

Los ejemplos de código de esta página utilizan los siguientes marcadores de posición:

  • +srvIncluya esta opción en el prefijo de la cadena de conexión solo si se conecta a un clúster de MongoDB Atlas. Para obtener más información sobre la +srv opción, consulte "Formatos de cadena de conexión" en el manual de MongoDB Server.

  • <hostname>: La dirección de red de tu implementación de MongoDB.

  • <port>El número de puerto de la implementación de MongoDB. Si omite este parámetro, el controlador usa el número de puerto predeterminado (27017). No necesita un número de puerto para conectarse a un clúster de MongoDB Atlas.

  • <path to X.509 certificate>:La ruta al archivo de certificado X.509.

  • <X.509 certificate password>:La contraseña para el certificado X.509.

Para utilizar los ejemplos de código en esta página, reemplace estos marcadores de posición con sus propios valores.

Importante

Codificación porcentual

Debes codificar porcentualmente un nombre de usuario y contraseña antes de incluirlos en una URI de MongoDB. El método quote_plus(), disponible en el urllib.parse módulo, es una forma de realizar esta tarea. Por ejemplo, al llamar a quote_plus("and / or") se devuelve la string and+%2F+or.

No codifique en porcentaje el nombre de usuario ni la contraseña al pasarlos como argumentos a MongoClient.

Puede configurar estas opciones de dos maneras: pasando argumentos al constructor MongoClient o mediante parámetros en su cadena de conexión.

client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>",
tls=True,
tlsCertificateKeyFile="<path to X.509 certificate>",
tlsCertificateKeyFilePassword="<X.509 certificate password>",
authMechanism="MONGODB-X509")
uri = ("mongodb[+srv]://<hostname>:<port>/?"
"tls=true"
"&tlsCertificateKeyFile=<path to X.509 certificate>"
"&tlsCertificateKeyFilePassword=<X.509 certificate password>"
"&authMechanism=MONGODB-X509")
client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb[+srv]://<hostname>:<port>",
tls=True,
tlsCertificateKeyFile="<path to X.509 certificate>",
tlsCertificateKeyFilePassword="<X.509 certificate password>",
authMechanism="MONGODB-X509")
uri = ("mongodb[+srv]://<hostname>:<port>/?"
"tls=true"
"&tlsCertificateKeyFile=<path to X.509 certificate>"
"&tlsCertificateKeyFilePassword=<X.509 certificate password>"
"&authMechanism=MONGODB-X509")
client = pymongo.AsyncMongoClient(uri)

Para obtener más información sobre cómo autenticar su aplicación en PyMongo, consulte la siguiente documentación de API:

Volver

SCRAM

En esta página