Menu Docs
Página inicial do Docs
/ / /
Driver C++
/

Mecanismos de autenticação empresarial

Nesta página

  • Visão geral
  • Kerberos
  • Obtenha um ticket de concessão de ticket
  • Definir as opções de conexão
  • PLAIN SASL
  • Documentação da API

O MongoDB Enterprise Edition inclui mecanismos de autenticação que não estão disponíveis no MongoDB Community Edition. Neste guia, você pode aprender como autenticar no MongoDB usando esses mecanismos de autenticação. Para saber mais sobre os outros mecanismos de autenticação disponíveis no MongoDB, consulte Mecanismos de autenticação.

A API de serviços de segurança genérica (GSSAPI) fornece uma interface para a autenticação Kerberos.

Observação

Para autenticar com GSSAPI, você deve construir o driver MongoDB C com suporte SASL. Se você estiver criando o driver a partir da origem, poderá habilitar o suporte a SASL com a opção ENABLE_SASL cmake .

Conclua as seguintes etapas para autenticar com GSSAPI:

1

Em ambientes Unix, você deve primeiro executar o comando kinit para obter e armazenar em cache um ticket inicial de concessão de ticket. Se você estiver executando um ambiente Windows, poderá pular para a próxima etapa.

O exemplo a seguir usa o comando kinit para obter um ticket de concessão de ticket para o principal mongodbuser@EXAMPLE.COM. Em seguida, ele usa o comando klist para exibir o principal e o ticket no cache de credenciais.

$ kinit mongodbuser@EXAMPLE.COM
mongodbuser@EXAMPLE.COM's Password:
$ klist
Credentials cache: FILE:/tmp/krb5cc_1000
Principal: mongodbuser@EXAMPLE.COM
Issued Expires Principal
Feb 9 13:48:51 2013 Feb 9 23:48:51 2013 krbtgt/mongodbuser@EXAMPLE.COM
2

Em seguida, defina as seguintes opções de conexão:

  • Kerberos principal: O principal Kerberos para autenticar.

  • authMechanism: Defina como "GSSAPI".

  • authMechanismProperties: Opcional. Por padrão, o MongoDB usa mongodb como o nome do serviço de autenticação. Para especificar um nome de serviço diferente, defina esta opção como "SERVICE_NAME:<authentication service name>".

Você pode definir essas opções por meio de parâmetros em seu URI de conexão, conforme mostrado no exemplo a seguir:

auto uri = mongocxx::uri("mongodb://<Kerberos principal>@<hostname>:<port>/?"
"authMechanism=GSSAPI"
"&authMechanismProperties=SERVICE_NAME:<authentication service name>");
auto client = mongocxx::client(uri);

Observação

Você deve substituir o símbolo @ no principal por %40, como mostrado no exemplo anterior.

O PLAIN Simple Authentication and Security Layer (SASL), conforme definido por RFC 4616, é um mecanismo de autenticação de nome de usuário e senha frequentemente usado com TLS ou outra camada de criptografia.

Importante

PLAIN SASL é um mecanismo de autenticação de texto não criptografado. É altamente recomendável usar TLS/SSL com validação de certificado ao usar PLAIN SASL para autenticar no MongoDB.

Para saber mais sobre como habilitar o TLS para sua conexão, consulte Configurar o TLS (Transport Layer Security).

Para autenticar com SASL, configure a opção de conexão do authMechanism para PLAIN. Você pode definir essa opção por meio de um parâmetro em sua string de conexão, conforme mostrado no exemplo a seguir:

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authMechanism=PLAIN&tls=true");
auto client = mongocxx::client(uri);

Para saber mais sobre como criar um objeto mongocxx::client no driver C++ , consulte a seguinte documentação da API:

Voltar

Autenticação