Visão geral
No mecanismo de autenticação X., o servidor e o cliente usam o509 protocoloTLS para trocar 509 certificados de chave pública X.. Você pode usar esse mecanismo para autenticar no MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.
Dica
X.509 Mecanismo
Para saber como usar o TLS/SSL com o PyMongo, consulte TLS/SSL.
Para obter mais informações sobre509 certificados X., consulte X. no manual do MongoDB Server .509
Espaços reservados de código
Os exemplos de código nesta página usam os seguintes espaços reservados:
+srv
: inclua essa opção no prefixo da string de conexão somente se estiver se conectando a um cluster MongoDB Atlas . Para saber mais sobre a+srv
opção, consulte Formatos de connection string no manual do MongoDB Server .<hostname>
: O endereço de rede da sua implantação MongoDB .<port>
: o número da porta da implantação do MongoDB . Se você omitir este parâmetro, o driver utilizará o número de porta padrão (27017
). Você não precisa de um número de porta ao se conectar a um cluster MongoDB Atlas .<path to X.509 certificate>
: o caminho para o arquivo de certificado X.509.<X.509 certificate password>
: a senha do certificado X.509.
Para usar os exemplos de código nesta página, substitua esses espaços reservados por seus próprios valores.
Importante
Codificação percentual
Você deve codificar um nome de usuário e uma senha antes de incluí-los em um URI MongoDB . O quote_plus()
método, disponível no módulo urllib.parse, é uma maneira de executar esta tarefa. Por exemplo, chamar quote_plus("and / or")
retorna a and+%2F+or
string.
Não codifique percentualmente o nome de usuário ou a senha ao passá-los como argumentos para MongoClient
.
Usando a autenticação X.509 em seu aplicativo
Você pode definir estas opções de duas maneiras: passando argumentos para o construtor MongoClient
ou por meio de parâmetros em sua connection string.
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)
Documentação da API
Para saber mais sobre como autenticar seu aplicativo no PyMongo, consulte a seguinte documentação da API: