mongokerberos
Nesta página
Synopsis
O MongoDB Enterprise fornece mongokerberos
para testar asopções de configuração Kerberos e GSSAPI do MongoDB em uma implantação de 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 |
Cliente | No modo cliente, 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, |
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
O MongoDB Enterprise e mongokerberos
o oferecem suporte apenas à implementação do MIT de Kerberos.
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
.
Instalação
A ferramenta mongokerberos
faz parte do pacote Ferramentas do Banco deMongoDB database Extra e pode ser instalada com o MongoDB Server ou como uma instalação independente.
Instalar com o Servidor MongoDB
Para instalar o mongokerberos
como parte de uma instalação do MongoDB Enterprise MongoDB Server:
Siga as instruções para a sua plataforma: Instalar MongoDB Enterprise MongoDB 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 MongoDB.Observação
Para o assistente de instalação do Windows
.msi
, a opção de instalação do Complete incluimongokerberos
.
Instalar como autônomo
Para instalar o mongokerberos
como uma instalação standalone:
Siga o link de download do MongoDB Enterprise: Centro de download doMongoDB 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:
osPacoteLinux
tgz
PacoteWindows
zip
PacotemacOS
tgz
PacoteApó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 referenciarmongokerberos
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.
Uso
mongokerberos
pode ser executado de dois modos: servidor e cliente.
Execute mongokerberos
na linha de comando do sistema, não no mongosh
.
Modo Servidor
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:
Configure o Kerberos na sua plataforma de acordo com a documentação da sua plataforma.
Crie o principal de serviço MongoDB para uso com sua instância
mongod
oumongos
, 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.
Modo cliente
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 , você deve primeiro ter configurado 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.
Opções
--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 exemplo 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 domongokerberos
no modo do cliente simula o procedimento de autenticação do cliente domongosh
.Consulte Modo do cliente para obter exemplo 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 autogerenciadas para obter mais informações.
mongokerberos
lerá os valores parasaslHostName
esaslServiceName
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 valoressetParameter
substituirão os valores do arquivo de configuração.Válido no modo servidor e no modo modo .
--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.