Menu Docs
Página inicial do Docs
/ /

Autenticação Kerberos (GSSAPI)

Observação

A autenticação GSSAPI está disponível apenas no MongoDB Enterprise Edition.

O mecanismo de autenticação da API de Serviços de Segurança Genérica (GSSAPI) permite que você use seu nome principal do Kerberos para autenticar em uma implementação do MongoDB configurada para a autenticação do Kerberos.

Para usar o Kerberos a partir do driver C++ , seu sistema do MongoDB já deve estar configurado para autenticação Kerberos e seu host de aplicação deve ser capaz de obter credenciais Kerberos.

O exemplo de código nesta página utiliza os seguintes espaços reservados:

  • <kerberos_principal>: Seu principal Kerberos para autenticar.

  • <hostname>: nome de domínio totalmente qualificado (FQDN) de um host mongod ou mongos em seu sistema. O Kerberos requer FQDNs em vez de endereços IP ou nomes de host curtos para uma resolução correta do Realm .

  • <port>: número da porta da sua implantação do MongoDB . Se você omitir este parâmetro, o MongoDB utilizará o número de porta padrão (27017).

Para usar o exemplo de código nesta página, substitua esses espaços reservados por seus próprios valores.

Observação

Ao incorporar <kerberos_principal> em um URI de conexão do MongoDB , você deve codificar percentualmente o caractere @ como %40.

Antes de usar o mecanismo de autenticação Kerberos com o driver C++ , você deve configurar seu sistema do MongoDB para usar o Kerberos. Para configurar seu sistema, consulte a documentação do MongoDB Server MongoDB Server Kerberos e conclua as etapas descritas lá.

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 .

Depois de configurar seu sistema, conclua as seguintes etapas para autenticar usando 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.

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

Voltar

AWS IAM

Nesta página