Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Autenticação 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 SCRAM de mecanismos de autenticação, 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 .

Observação

O MongoDB não suporta mais o mecanismo de autenticação do MongoDB Challenge-Response (MONGODB-CR) obsoleto. Se seu sistema tiver credenciais de usuário armazenadas em um esquema do MONGODB-CR, você deverá atualizar para um mecanismo baseado em SCRAM.

Os exemplos de código nesta página usam os seguintes espaços reservados:

  • <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.

Para usar os exemplos de código, substitua esses espaços reservados por seus próprios valores.

Para usar o mecanismo SCRAM padrão para autenticar seu usuário MongoDB , especifique suas credenciais MongoDB , mas não especifique um mecanismo de autenticação. Selecione a aba Connection String ou MongoCredential abaixo para obter instruções e amostras de código para a sintaxe correspondente:

Para especificar o mecanismo de autenticação padrão usando uma string de conexão, omita o mecanismo. O código para instanciar um MongoClient se assemelha ao seguinte:

MongoClient mongoClient = MongoClients.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>");

Para especificar o mecanismo de autenticação padrão usando a classe MongoCredential, use o método createCredential(). O código para instanciar um MongoClient se assemelha ao seguinte:

String user = "<db_username>"; // the user name
String source = "<authenticationDb>"; // the source where the user is defined
char[] password = "<db_password>".toCharArray(); // the password as a character array
// ...
MongoCredential credential = MongoCredential.createCredential(user, source, password);
MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder()
.applyToClusterSettings(builder ->
builder.hosts(Arrays.asList(new ServerAddress("<hostname>", "<port>"))))
.credential(credential)
.build());

Para obter mais informações sobre os mecanismos SCRAM compatíveis com o MongoDB , consulte a seção SCRAM do manual do MongoDB Server .

SCRAM-SHA-256 é o método de autenticação padrão para o MongoDB começando no MongoDB 4.0, mas este exemplo de código mostra como usar explicitamente esse mecanismo. Selecione a aba Connection String ou MongoCredential para obter instruções e amostras de código para especificar este mecanismo de autenticação:

Para especificar o mecanismo de autenticação do SCRAM-SHA-256 utilizando uma string de conexão, atribua ao parâmetro authMechanism o valor SCRAM-SHA-256 em sua string de conexão. O código para instanciar um MongoClient se assemelha ao seguinte:

MongoClient mongoClient = MongoClients.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-256");

Para especificar o mecanismo de autenticação SCRAM-SHA-256 usando a classe MongoCredential, use o método createScramSha256Credential(). O código para instanciar um MongoClient se assemelha ao seguinte:

String user = "<db_username>"; // the user name
String source = "<authenticationDb>"; // the source where the user is defined
char[] password = "<db_password>".toCharArray(); // the password as a character array
// ...
MongoCredential credential = MongoCredential.createScramSha256Credential(user, source, password);
MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder()
.applyToClusterSettings(builder ->
builder.hosts(Arrays.asList(new ServerAddress("<hostname>", "<port>"))))
.credential(credential)
.build());

SCRAM-SHA-1 é o método de autenticação padrão para versões do MongoDB anteriores a 4.0, mas este exemplo de código mostra como usar explicitamente esse mecanismo. Selecione a aba Connection String ou MongoCredential para obter instruções e amostras de código para especificar este mecanismo de autenticação:

Para especificar o mecanismo de autenticação do SCRAM-SHA-1 utilizando uma string de conexão, atribua ao parâmetro authMechanism o valor SCRAM-SHA-1 em sua string de conexão. O código para instanciar um MongoClient se assemelha ao seguinte:

MongoClient mongoClient = MongoClients.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-1");

Para especificar o mecanismo de autenticação SCRAM-SHA-1 usando a classe MongoCredential, use o método createScramSha1Credential(). O código para instanciar um MongoClient se assemelha ao seguinte:

String user = "<db_username>"; // the user name
String source = "<authenticationDb>"; // the source where the user is defined
char[] password = "<db_password>".toCharArray(); // the password as a character array
// ...
MongoCredential credential = MongoCredential.createScramSha1Credential(user, source, password);
MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder()
.applyToClusterSettings(builder ->
builder.hosts(Arrays.asList(new ServerAddress("<hostname>", "<port>"))))
.credential(credential)
.build());

Para saber mais sobre qualquer um dos métodos ou tipos discutidos nesta página, consulte a seguinte documentação da API: