Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

mongokerberos

Nesta página

  • Sinopse
  • Instalação
  • Uso
  • Opções

O MongoDB Enterprise fornece mongokerberos para testar as opções de configuração do Kerberos e da GSSAPI do MongoDB em um sistema do Kerberos em execução. mongokerberos pode ser usado em um dos dois modos: servidor e cliente.

Modo
Descrição
Servidor
No modo de servidor, o mongokerberos analisa as configurações relacionadas ao Kerberos no servidor e retorna um relatório que inclui mensagens de erro para quaisquer configurações que sejam problemáticas. Para uso, consulte Modo Servidor
Cliente
No modo cliente, mongokerberos testa a autenticação Kerberos para um nome de usuário fornecido e retorna um relatório que inclui o sucesso ou a falha de cada etapa do procedimento de autenticação Kerberos. Para uso, consulte Modo Cliente

As mensagens de erro para ambos os modos incluem informações sobre erros específicos encontrados e possíveis conselhos para resolver o erro.

mongokerberos suporta os seguintes tipos de sistemas, nos modos servidor e cliente:

  • Clientes Linux MongoDB autenticando para sistemas MIT Kerberos em plataformas Linux compatíveis.

  • Clientes Windows MongoDB autenticando em sistemas Windows Active Directory em plataformas Windows compatíveis.

  • Clientes Linux MongoDB autenticando em sistemas do Windows Active Directory.

Observação

Geralmente, ao configurar opções relacionadas à autenticação Kerberos, é uma boa prática verificar sua configuração com mongokerberos.

mongokerberos é uma ferramenta de teste e verificação; ele não edita nenhum arquivo nem configura nenhum serviço. Para configurar o Kerberos em sua plataforma, consulte a documentação do MIT Kerberos, ou a documentação da sua plataforma. Para configurar o MongoDB para autenticar usando Kerberos, consulte os seguintes tutoriais:

Este documento fornece uma visão geral completa de todas as opções de linha de comando para mongokerberos.

A ferramenta mongokerberos faz parte do pacote MongoDB Database Tools Extra e pode ser instalada com o servidor MongoDB ou como uma instalação autônoma.

Para instalar o mongokerberos como parte de uma instalação do MongoDB Enterprise Server:

  • Siga as instruções para a sua plataforma: Instalar o MongoDB Enterprise Server

  • Após concluir a instalação, o mongokerberos e as outras ferramentas incluídas estarão disponíveis no mesmo local que o Servidor.

    Observação

    Para o assistente de instalação do Windows .msi , a opção de instalação do Complete inclui mongokerberos.

Para instalar o mongokerberos como uma instalação standalone:

  • Siga o link de download do MongoDB Enterprise Edition: Centro de download do MongoDB Enterprise

  • Selecione seu Platform (sistema operacional) no menu suspenso e, em seguida, selecione o Package apropriado para sua plataforma, de acordo com o gráfico a seguir:

    os
    Pacote
    Linux
    tgz Pacote
    Windows
    zip Pacote
    macOS
    tgz Pacote
  • Após o download, descompacte o arquivo e copie o mongokerberos para um local no seu disco rígido.

    Dica

    Os usuários de Linux e macOS podem desejar copiar mongokerberos para um local do sistema de arquivos definido na variável de ambiente $PATH , como /usr/bin. Isso permite referenciar mongokerberos diretamente na linha de comando pelo nome, sem precisar especificar seu caminho completo ou primeiro navegar para seu diretório pai. Consulte o guia de instalação da sua plataforma para obter mais informações.

mongokerberos pode ser executado de dois modos: servidor e cliente.

Execute mongokerberos na linha de comando do sistema, não no mongosh.

A execução do mongokerberos no modo de servidor executa uma série de etapas de verificação em relação à configuração do Kerberos do seu sistema, incluindo a verificação da resolução de DNS adequada, a validação do arquivo de keytab do sistema Kerberos e o teste em relação ao principal de serviço do MongoDB para seu mongod ou mongos instância.

Antes de usar mongokerberos no modo de servidor, você deve:

  1. Configure o Kerberos na sua plataforma de acordo com a documentação da sua plataforma.

  2. Crie o principal de serviço MongoDB para uso com sua instância mongod ou mongos , conforme descrito nas etapas a seguir:

Depois de concluir essas etapas, você pode executar mongokerberos no modo de servidor usando o sinalizador --server da seguinte forma:

mongokerberos --server

Se o Kerberos tiver sido configurado corretamente no servidor e a entidade de serviço tiver sido criada com êxito, o resultado poderá ser semelhante ao seguinte:

Resolving kerberos environment...
[OK] Kerberos environment resolved without errors.
Verifying DNS resolution works with Kerberos service at <hostname>...
[OK] DNS test successful.
Getting MIT Kerberos KRB5 environment variables...
* KRB5CCNAME: not set.
* KRB5_CLIENT_KTNAME: not set.
* KRB5_CONFIG: not set.
* KRB5_KTNAME: not set.
* KRB5_TRACE: not set.
[OK]
Verifying existence of KRB5 keytab FILE:/etc/krb5.keytab...
[OK] KRB5 keytab exists and is populated.
Checking principal(s) in KRB5 keytab...
Found the following principals for MongoDB service mongodb:
* mongodb/server.example.com@SERVER.EXAMPLE.COM
Found the following kvnos in keytab entries for service mongodb:
* 3
[OK] KRB5 keytab is valid.
Fetching KRB5 Config...
KRB5 config profile resolved as:
<Your Kerberos profile file will be output here>
[OK] KRB5 config profile resolved without errors.
Attempting to initiate security context with service credentials...
[OK] Security context initiated successfully.

A mensagem final indica que a configuração Kerberos do sistema está pronta para ser usada com MongoDB. Se algum erro for encontrado com a configuração, ele será apresentado como parte da saída acima.

A execução mongokerberos no modo cliente testa a autenticação em relação ao ambiente Kerberos do seu sistema, executando cada etapa do processo de autenticação Kerberos, incluindo a verificação da resolução adequada de DNS, a verificação do arquivo keytab do cliente Kerberos e o teste se um ticket pode ser concedido com êxito. A execução do mongokerberos no modo do cliente simula o procedimento de autenticação do cliente do mongosh.

Antes de poder usar mongokerberos no modo cliente, é necessário primeiro configurar o Kerberos em sua plataforma, de acordo com a documentação da sua plataforma. Opcionalmente, você também pode optar por executar mongokerberos primeiro no modo servidor para verificar se a configuração do Kerberos da sua plataforma é válida antes de usar o modo cliente.

Depois de concluir essas etapas, você pode executar mongokerberos no modo cliente para testar a autenticação do usuário, usando o sinalizador --client da seguinte forma:

mongokerberos --client --username <username>

Você deve fornecer um nome de usuário válido, que é usado para solicitar um ticket Kerberos como parte do procedimento de autenticação. A infraestrutura Kerberos da sua plataforma deve estar ciente desse usuário.

Se as credenciais fornecidas forem válidas e as opções Kerberos nos arquivos de configuração forem válidas, a saída poderá se assemelhar ao seguinte:

Resolving kerberos environment...
[OK] Kerberos environment resolved without errors.
Verifying DNS resolution works with Kerberos service at <hostname>...
[OK] DNS test successful.
Getting MIT Kerberos KRB5 environment variables...
* KRB5CCNAME: not set.
* KRB5_CLIENT_KTNAME: not set.
* KRB5_CONFIG: not set.
* KRB5_KTNAME: not set.
* KRB5_TRACE: not set.
[OK]
Verifying existence of KRB5 client keytab FILE:/path/to/client.keytab...
[OK] KRB5 client keytab exists and is populated.
Checking principal(s) in KRB5 keytab...
[OK] KRB5 keytab is valid.
Fetching KRB5 Config...
KRB5 config profile resolved as:
<Your Kerberos profile file will be output here>
[OK] KRB5 config profile resolved without errors.
Attempting client half of GSSAPI conversation...
[OK] Client half of GSSAPI conversation completed successfully.

A mensagem final indica que a autenticação do cliente foi concluída com sucesso para o usuário fornecido. Se algum erro for encontrado durante as etapas de autenticação, ele será apresentado como parte da saída acima.

--server

Executa o mongokerberos no modo de servidor para testar se a configuração Kerberos da sua plataforma é válida para uso com MongoDB.

Consulte Modo de servidor para obter exemplos de uso e resultado esperado.

--client

Executa o mongokerberos no modo do cliente para testar a autenticação do cliente no ambiente Kerberos do seu sistema. Requer a especificação de um nome de usuário válido com --username ao executar no modo cliente. mongokerberos solicitará um tíquete Kerberos para este nome de usuário como parte do procedimento de validação. A execução do mongokerberos no modo do cliente simula o procedimento de autenticação do cliente do mongosh.

Consulte Modo do cliente para obter exemplos de uso e resultado esperado.

--config <filename>, -f <filename>

Especifica um arquivo de configuração para opções de configuração do tempo de execução. As opções são equivalentes às opções de configuração da linha de comando. Consulte Opções de arquivo de configuração para obter mais informações.

mongokerberos lerá os valores para saslHostName e saslServiceName deste arquivo, se presente. Estes valores podem ser especificados alternativamente com a opção --setParameter .

Certifique-se de que o arquivo de configuração use codificação ASCII. A instância mongokerberos não suporta arquivos de configuração com codificação não ASCII, incluindo UTF-8.

Válido apenas no modo de servidor.

--setParameter <options>

Define um parâmetro configurável. Você pode especificar múltiplos campos setParameter .

Embora você possa usar qualquer parâmetro suportado com setParameter, mongokerberos apenas verifica o valor do seguinte:

Se estiver usando a opção --config com um arquivo de configuração que também contenha esses valores, os valores setParameter substituirão os valores do arquivo de configuração.

Válido no modo servidor e no modo cliente.

--host <hostname>

Especifique o nome de host do servidor MongoDB ao qual se conectar ao testar a autenticação.

Se --host não for especificado, mongokerberos não realizará nenhuma validação de DNS do nome do host (ou seja, verificação do registro PTR)

Válido apenas no modo cliente.

--username <username>, -u <username>

Nome de usuário para mongokerberos usar ao tentar a autenticação Kerberos. Este valor é necessário ao executar no modo cliente.

Válido apenas no modo cliente.

--gssapiServiceName <servicename>

padrão: 'mongodb'

Nome principal de serviço a ser usado ao autenticar usando GSSAPI/Kerberos.

Válido apenas no modo cliente.

--gssapiHostName <hostname>

Nome de host remoto a ser usado para fins de autenticação GSSAPI/Kerberos.

Válido apenas no modo cliente.

← mongoldap