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 de Kotlin Sync
/ /

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 usa o algoritmo SHA-256 para gerar hash de 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 SCRAM para autenticar no MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.

Dica

Mecanismos SCRAM

Para saber mais sobre a SCRAM família 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.

SCRAM-SHA-256, conforme definido por RFC 7677, criptografa seu nome de usuário e senha com o algoritmo SHA-256 para autenticar seu usuário. Este é o mecanismo de autenticação padrão .

Os exemplos nesta seção mostram como especificar este mecanismo de autenticação padrão e utilizar os seguintes valores de espaço reservado:

  • db_username: Seu nome de usuário do banco de dados MongoDB .

  • db_password: A senha de usuário do banco de dados MongoDB .

  • hostname: O endereço de rede da sua implantação do MongoDB , aberto ao seu cliente.

  • port: o número da porta da sua implantação do MongoDB .

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

Selecione a guia Connection String ou MongoCredential abaixo para obter instruções e código de exemplo para especificar este mecanismo de autenticação:

Para especificar o mecanismo de autenticação padrão usando uma string de conexão, omita o mecanismo conforme mostrado no exemplo a seguir:

val mongoClient =
MongoClient.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() conforme mostrado no exemplo a seguir:

val credential = MongoCredential.createCredential(
"<db_username>", "<authenticationDb>", "<db_password>".toCharArray()
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder: ClusterSettings.Builder ->
builder.hosts(
listOf(ServerAddress("<hostname>", <port>))
)
}
.credential(credential)
.build()
val mongoClient = MongoClient.create(settings)

Alternativamente, você pode especificar explicitamente o mecanismo de autenticação do SCRAM-SHA-256. Selecione a aba Connection String ou MongoCredential abaixo 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 como mostrado no exemplo a seguir:

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

Para especificar o mecanismo de autenticação padrão usando a classe MongoCredential, use o método createScramSha256Credential() como mostrado no seguinte exemplo:

val credential = MongoCredential.createScramSha256Credential(
"<db_username>", "<authenticationDb>", "<db_password>".toCharArray()
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder: ClusterSettings.Builder ->
builder.hosts(
listOf(ServerAddress("<hostname>", <port>))
)
}
.credential(credential)
.build()
val mongoClient = MongoClient.create(settings)

SCRAM-SHA-1, conforme definido por RFC 5802, criptografa seu nome de usuário e senha com o algoritmo SHA-1 para autenticar seu usuário.

Os exemplos nesta seção mostram como especificar este mecanismo de autenticação e utilizar os seguintes valores de espaço reservado:

  • db_username: Seu nome de usuário do banco de dados MongoDB .

  • db_password: A senha de usuário do banco de dados MongoDB .

  • hostname: O endereço de rede da sua implantação do MongoDB , aberto ao seu cliente.

  • port: o número da porta da sua implantação do MongoDB .

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

Selecione a aba Connection String ou MongoCredential abaixo para obter instruções e amostras de código para especificar o mecanismo de autenticação SCRAM-SHA-1 :

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 como mostrado no exemplo a seguir:

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

Para especificar o mecanismo de autenticação padrão usando a classe MongoCredential, use o método createScramSha1Credential() como mostrado no seguinte exemplo:

val credential = MongoCredential.createScramSha1Credential(
"<db_username>", "<authenticationDb>", "<db_password>".toCharArray()
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder: ClusterSettings.Builder ->
builder.hosts(
listOf(ServerAddress("<hostname>", <port>))
)
}
.credential(credential)
.build()
val mongoClient = MongoClient.create(settings)

Para saber mais sobre autenticação no MongoDB, consulte Autenticação no manual do MongoDB Server .

Para saber mais sobre como criar um objeto MongoClient usando o driver Kotlin Sync, consulte o guia Criar um MongoClient.

Voltar

Autenticação

Nesta página