Mecanismos de autenticação empresarial
Nesta página
Visão geral
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.
Kerberos
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:
Obtenha um ticket de concessão de ticket
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
Definir as opções de conexão
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 usamongodb
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.
PLAIN SASL
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);
Documentação da API
Para saber mais sobre como criar um objeto mongocxx::client
no driver C++ , consulte a seguinte documentação da API: