Visão geral
O mecanismo de autenticação da API de serviços de segurança genérica (GSSAPI) permite que você use seu nome principal para autenticar em um serviço Kerberos. Você pode usar esse mecanismo somente ao autenticar para Enterprise Advanced.
Espaços reservados de código
Os exemplos de código nesta página usam os seguintes espaços reservados:
<username>
: LDAP username.<hostname>
: Endereço de rede da deployment do MongoDB .<port>
: número da porta da sua implantação do MongoDB . Se você omitir este parâmetro, o driver utilizará o número de porta padrão (27017
). Especificar um número de porta é opcional ao se conectar a um cluster MongoDB Atlas .<authentication_db>
: banco de dados MongoDB que contém as credenciais LDAP do usuário. Se você omitir este parâmetro, o driver utilizará o banco de dados padrão (admin
).
Para usar os exemplos de código nesta página, substitua esses espaços reservados por seus próprios valores.
Usando a autenticação GSSAPI em seu aplicativo
Para configurar o MongoDB Server para usar o Kerberos, consulte a documentação do MongoDB Server Kerberos.
Para usar o mecanismo de autenticação Kerberos com o driver Ruby, você deve instalar e carregar a biblioteca mongo_kerberos. Para fazer isso, adicione as seguintes linhas ao seu Gemfile
:
gem 'mongo', '~> 2' gem 'mongo_kerberos', '~> 2'
Em seguida, adicione as seguintes linhas ao código do seu aplicação :
require 'mongo' require 'mongo_kerberos'
Observação
Ao usar a autenticação Kerberos, você deve especificar o nome de domínio totalmente qualificado (FQDN) do host.
As seções a seguir descrevem como usar a autenticação Kerberos com Ruby MRI e JRuby.
Usando autenticação Kerberos com Ruby MRI
Se você estiver usando a autenticação Kerberos com Ruby MRI, deverá executar as seguintes etapas:
Estabeleça uma sessão Kerberos no driver. O driver utiliza esta sessão para provar a identidade do usuário para o servidor.
Você deve garantir que o sistema host esteja configurado para autenticação Kerberos. Para saber mais sobre como configurar o sistema de host para usar o Kerberos, consulte a documentação do Kerberos ou a documentação do seu sistema operacional para obter detalhes.
Use o utilitário kinit para estabelecer uma sessão Kerberos.
Usando autenticação Kerberos com JRuby
Se você estiver usando a autenticação Kerberos com JRuby, poderá estabelecer externamente a sessão Kerberos no driver usando o processo descrito acima para MRI. Você também pode fornecer o caminho para um arquivo keytab armazenando a configuração na propriedade do sistema java.security.auth.login.config
. Você também deve configurar o Java Runtime Environment para usar Kerberos. Para saber mais, consulte a documentação Kerberos do driver Java do MongoDB para obter mais informações.
Exemplo de autenticação Kerberos
Selecione a aba Connection String ou Client Options para ver a sintaxe correspondente para conectar ao MongoDB com autenticação Kerberos:
client = Mongo::Client.new("mongodb://<username>@<hostname>[:<port>]/<authentication_db>?authMechanism=GSSAPI")
client = Mongo::Client.new(['<hostname>[:<port>]'], auth_mech: :gssapi, user: '<username>')
Observação
Se você usar uma string de conexão para se conectar ao MongoDB, certifique-se de codificar por cento quaisquer caracteres especiais que apareçam no nome de usuário.
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos nesta página, consulte a seguinte documentação da API: