Menu Docs
PƔgina inicial do Docs
/ /

Configurar o MongoDB Agent para Kerberos

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:

  • Criar ou configurar 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 binĆ”rio kinit esteja 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

Gere um arquivo keytab *.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

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

LDAP

Nesta pƔgina