Proteja seus dados
Nesta página
Visão geral
O MongoDB oferece suporte a vários mecanismos que você pode usar para autenticar seu aplicação. Esta página contém exemplos de código que demonstram cada um desses mecanismos.
Dica
Para saber mais sobre qualquer um dos mecanismos mostrados nesta página, consulte o link fornecido em cada seção.
Para usar um exemplo de autenticação desta página, copie o exemplo de código noaplicação de amostra ou em seu próprio aplicação. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <hostname>
, pelos valores relevantes para sua implantação do MongoDB .
Aplicativo de amostra
Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:
Verifique se o driver C está instalado.
Copie o seguinte código e cole-o em um novo arquivo
.c
.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
1 2 3 4 int main(void) { 5 6 mongoc_uri_t* uri = NULL; 7 mongoc_client_t *client = NULL; 8 mongoc_database_t *database = NULL; 9 bson_t *ping = NULL, reply = BSON_INITIALIZER; 10 bson_error_t error; 11 12 mongoc_init(); 13 14 // Start example code here 15 16 // End example code here 17 18 database = mongoc_client_get_database (client, "admin"); 19 20 ping = BCON_NEW ("ping", BCON_INT32 (1)); 21 22 if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) { 23 fprintf (stderr, "%s\n", error.message); 24 goto cleanup; 25 } 26 printf ("Pinged your deployment. You successfully connected to MongoDB!\n"); 27 28 cleanup: 29 bson_destroy (&reply); 30 bson_destroy (ping); 31 mongoc_database_destroy (database); 32 mongoc_client_destroy (client); 33 mongoc_uri_destroy (uri); 34 mongoc_cleanup (); 35 }
SCRAM-SHA-256
O seguinte código mostra como autenticar utilizando o mecanismo de autenticação SCRAM-SHA-256
:
const char *uri = "mongodb://<percent-encoded username>:<percent-encoded password>@<hostname>:<port>/?authMechanism=SCRAM-SHA-256&authSource=<authentication database>"; mongoc_client_t *client = mongoc_client_new(uri);
Para saber mais sobre a autenticação SCRAM-SHA-256 , consulte SCRAM-SHA-256 no guia Autenticação.
SCRAM-SHA-1
O seguinte código mostra como autenticar utilizando o mecanismo de autenticação SCRAM-SHA-1
:
const char *uri = "mongodb://<percent-encoded username>:<percent-encoded password>@<hostname>:<port>/?authMechanism=SCRAM-SHA-1&authSource=<authentication database>"; mongoc_client_t *client = mongoc_client_new(uri);
Para saber mais sobre a autenticação SCRAM-SHA-1 , consulte SCRAM-SHA-1 no guia Autenticação.
MONGODB X.509
O seguinte código mostra como criar um URI de conexão para autenticar utilizando o mecanismo de autenticação do X.509
:
mongoc_client_t *client; mongoc_ssl_opt_t ssl_opts = {0}; ssl_opts.pem_file = "mycert.pem"; const char *uri = "mongodb://<percent-encoded username>@<hostname>:<port>/?authMechanism=MONGODB-X509"; mongoc_client_t *client = mongoc_client_new(uri); mongoc_client_set_ssl_opts(client, &ssl_opts);
Para saber mais sobre a autenticação X.509 , consulte MONGODB-X509 no guia Autenticação.
MONGODB-AWS
As seções a seguir mostram como se conectar ao MongoDB usando o mecanismo de autenticação MONGODB-AWS
. Quando você usa o mecanismo MONGODB-AWS
, o driver C tenta recuperar suas credenciais da AWS das seguintes fontes, na ordem listada:
Parâmetros nomeados passados para o URI de conexão
Variáveis de ambiente
Solicitação de Amazon Web Services EKS AssumeRoleWithWebIdentity
Metadados do container ECS
Metadados de instância do EC2
Cada seção mostra como autenticar com MONGODB-AWS
ao recuperar suas credenciais da AWS a partir de um URI de conexão ou de fontes externas alternativas.
Para saber mais sobre como autenticar com Amazon Web Services, consulte MONGODB-Amazon Web Services no guia de autenticação.
URI de conexão
O código abaixo mostra como passar as credenciais da AWS em um URI de conexão para autenticar com MONGODB-AWS
:
const char *uri = "mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?authMechanism=MONGODB-AWS"); mongoc_client_t *client = mongoc_client_new(uri);
Para saber mais sobre como autenticar com a AWS recuperando credenciais de URI de conexão, consulte URI de conexão no guia de Autenticação.
Credenciais externas
O código abaixo mostra como autenticar com MONGODB-AWS
ao obter credenciais de variáveis de ambiente, metadados do ECS ou metadados de instância do EC2 :
const char *uri = "mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS"); mongoc_client_t *client = mongoc_client_new(uri);
Para saber mais sobre como autenticar com Amazon Web Services obtendo credenciais externas, consulte as seguintes seções no guia de Autenticação: