Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver Pymongo
/ /

SCRAM

O SCRAM (Salted Challenge Response Authentication Mechanism) é uma família de mecanismos de autenticação que usa um mecanismo de desafio-resposta para autenticar o usuário. SCRAM-SHA-256, que utiliza o algoritmo SHA-256 para hash sua senha, é o mecanismo de autenticação padrão no MongoDB Server versão 4.0 e posterior. SCRAM-SHA-1, que usa o algoritmo SHA-1, é o mecanismo de autenticação padrão nas versões do MongoDB Server anteriores à 4.0.

Você pode usar o SCRAM para autenticar no MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.

Dica

Mecanismos SCRAM

Para saber mais sobre a família de mecanismos de autenticação SCRAM, consulte RFC 5802 e Mecanismo de autenticação de resposta de desafio salgado na Wikipedia.

Para obter mais informações sobre a implementação do MongoDB do SCRAM, consulte SCRAM no manual do MongoDB Server .

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 .

  • <db_username>: O nome de usuário MongoDB do usuário a ser autenticado.

  • <db_password>: A senha MongoDB do usuário para autenticar.

  • <hostname>: O endereço de rede da sua implantação MongoDB .

  • <port>: o número da porta da sua 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 .

  • <authenticationDb>: O banco de dados MongoDB que contém os dados de autenticação do usuário. Se omitir este parâmetro, o driver utiliza o valor padrão, admin.

  • <authenticationMechanism>: Defina como SCRAM-SHA-1 ou SCRAM-SHA-256.

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 por cento um nome de usuário e senha antes de incluí-los em um URI MongoDB. O quote_plus() método , disponível em urllib.parse módulo, é uma maneira de executar esta tarefa. Por exemplo, chamar quote_plus("and / or") retorna a string and+%2F+or.

Não codifique percentualmente o nome de usuário ou a senha ao passá-los como argumentos para MongoClient.

Para usar o SCRAM para autenticar, defina a opção de conexão authMechanism como SCRAM-SHA-1 ou SCRAM-SHA-256. Você pode definir esta opção de duas maneiras: passando um argumento para o construtor MongoClient ou por meio de um parâmetro em sua string de conexão.

client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>",
username="<db_username>",
password="<db_password>",
authSource="<authenticationDb>",
authMechanism="<authenticationMechanism>")
uri = ("mongodb[+srv]://<percent-encoded db_username>:<percent-encoded db_password>"
"@<hostname>:<port>/?"
"authSource=<authenticationDb>"
"&authMechanism=<authenticationMechanism>")
client = pymongo.MongoClient(uri)

Para saber mais sobre como autenticar seu aplicativo no PyMongo, consulte a seguinte documentação da API:

Voltar

Autenticação

Nesta página