Menu Docs
Página inicial do Docs
/
MongoDB Ops Manager
/ /

Configurar o MongoDB Agent para Kerberos

Nesta página

  • Pré-requisitos
  • Procedimentos

O MongoDB Enterprise oferece suporte ao Kerberos. Kerberos é um protocolo de autenticação de rede. O MongoDB Agent pode autenticar em instâncias MongoDB que executam Kerberos.

Os tickets Kerberos podem autenticar usuários por um tempo limitado. Você deve configurar o Centro de Distribuição de Chaves (KDC) Kerberos para emitir tíquetes válidos por quatro horas ou mais. O MongoDB Agent atualiza periodicamente o ticket. O serviço KDC fornece tickets de sessão e chaves de sessão temporárias para usuários e hosts.

O MongoDB Agent interage com os reconhecimento de data center MongoDB em seu sistema da mesma forma que um usuário do MongoDB faria. Como resultado, você deve configurar sua implantação do MongoDB e o MongoDB Agent para suportar a autenticação.

Você pode especificar os mecanismos de autenticação do sistema ao adicionar o sistema ou pode editar as configurações de uma sistema existente. No mínimo, a implantação deve habilitar o mecanismo de autenticação que você deseja que o MongoDB Agent use. O MongoDB Agent pode usar qualquer mecanismo de autenticação compatível .

Para os fins deste tutorial, você deve garantir o seguinte:

  • Sua implantação suporta autenticação Kerberos e

  • O MongoDB Agent usa a autenticação Kerberos.

Para saber como habilitar a autenticação Kerberos, consulte Habilitar autenticação Kerberos para seu projeto do Ops Manager.

Dois arquivos relacionados ao Kerberos devem ser instalados em qualquer host que execute o Monitoramento ou Backup:

  • Crie ou configure o krb5.conf Arquivo de configuração Kerberos.

    Plataforma
    Caminho padrão
    Notas
    Linux
    /etc/krb5.conf
    Windows
    %WINDIR%\krb5.ini
    Este é o caminho padrão para implementações do Kerberos não baseadas no Active Directory. Consulte a documentação da implementação do Kerberos para sua versão do Windows para saber onde o arquivo de configuração do Kerberos está armazenado.
  • Em sistemas Linux: certifique-se de que o kinit binário está localizado em /usr/bin/kinit. kinit obtém ou atualiza um ticket de concessão de ticket Kerberos, que autentica o Agente usando Kerberos.

1

Um UPN é formatado em duas partes para que o serviço possa ser identificado exclusivamente em todo o Realm Kerberos:

Componente
Descrição
Nome do serviço
O nome de um serviço que um host está fornecendo ao Realm Kerberos, como pop ou ftp.
Domínio Kerberos

Um conjunto de hosts e serviços managed que compartilham o mesmo reconhecimento de data center Kerberos.

De acordo com a convenção de nomenclatura Kerberos, o <KERBEROS_REALM> deve estar em todos os UPPERCASE.

Exemplo

Em um Realm Kerberos definido como EXAMPLE.COM, o MongoDB Agent definiria seu UPN para: mongodb-agent@EXAMPLE.COM

2

Gerar um keytab arquivo (*.keytab) para o UPN do MongoDB Agent e copie-o para o host que executa o MongoDB Agent. Certifique-se de que o usuário do sistema operacional que executa o MongoDB Agent seja o mesmo usuário do sistema operacional que possui o arquivo keytab .

Quando a automação é ativada, o Ops Manager managed a autenticação do MongoDB Agent.

Para configurar o Kerberos para a autenticação do MongoDB Agent, consulte Habilitar autenticação Kerberos para seu projeto do Ops Manager.

Depois de criar o UPN Kerberos para o MongoDB Agent, crie um usuário MongoDB em seu sistema que corresponda ao UPN do MongoDB Agent e conceda privilégios a ele.

O local onde você cria o usuário MongoDB depende se você está usando ou não a autorização LDAP .

Observação

Começar com MongoDB 8.0, A autenticação e autorização LDAP estão obsoletas. O recurso está disponível e continuará a operar sem alterações durante toda a vida útil do MongoDB 8. O LDAP será removido em uma versão principal futura.

Para obter detalhes, consulte Descontinuação do LDAP.

Se você estiver usando a autorização LDAP em sua implementação do MongoDB , deverá criar um usuário LDAP e um grupo LDAP para o MongoDB Agent no servidor LDAP . Após criar o usuário e o grupo LDAP , mapeie o grupo LDAP para uma função do MongoDB no banco de banco de dados admin do seu sistema.

Aviso

Ao utilizar a Autorização LDAP , não crie quaisquer utilizadores MongoDB no banco de banco de dados do $external . O MongoDB 3.4 e posterior não iniciará se houver um usuário MongoDB no banco de banco de dados $external e a autorização LDAP estiver habilitada.

Para o usuário MongoDB que representa o MongoDB Agent:

  1. Crie um novo usuário LDAP no seu servidor LDAP nomeado com o UPN do MongoDB Agent.

  2. Crie um grupo LDAP cujo nome corresponda à função do MongoDB Agent.

  3. Crie a função do MongoDB Agent em seu banco de banco de dados admin com as permissões apropriadas.

    Observação

    Quando a automação é ativada, a automação cria automaticamente uma função para o usuário do MongoDB Agent para autenticação LDAP .

  4. Atribua o usuário LDAP ao grupo LDAP .

Dica

Veja também:

Para saber como:
Veja
Criar um usuário LDAP
Documentação para sua implementação de LDAP .
Criar um grupo LDAP
Documentação para sua implementação de LDAP .
Atribua as funções apropriadas para o MongoDB Agent
Mapear um grupo LDAP e um role do MongoDB
Seção Funções LDAP da página de autorização LDAP no manual do MongoDB .
Configurar autorização LDAP sem a automação MongoDB Ops Manager
Página Autorização LDAP no manual MongoDB .

Se você não estiver usando a autorização LDAP , será necessário adicionar o UPN do MongoDB Agent como usuário no banco de banco de dados $external em seu sistema do MongoDB . Sem autorização LDAP , o MongoDB usa o banco de banco de dados $external para autenticar um usuário no Kerberos.

Observação

Para descobrir as funções apropriadas para o MongoDB Agent, consulte Acesso necessário para o MongoDB Agent.

A partir do mongosh, emita os seguintes comandos para criar o usuário MongoDB :

db.getSiblingDB("$external").createUser(
{
user : "<Kerberos Principal>",
roles : [
{ role : "clusterAdmin", db : "admin" },
{ role : "readWriteAnyDatabase", db : "admin" },
{ role : "userAdminAnyDatabase", db : "admin" },
{ role : "dbAdminAnyDatabase", db : "admin" },
{ role : "backup", db : "admin" },
{ role : "restore", db : "admin" }
]
}
)

Voltar

Configurar para LDAP