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.
PrƩ-requisitos
Configure o KDC para emitir tickets com vida Ćŗtil mĆnima de quatro horas
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.
Adicionar Kerberos como mecanismo de autenticação para sistema
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.
Configurar o host do MongoDB Agent para usar Kerberos
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.
PlataformaCaminho padrãoNotasLinux
/etc/krb5.confWindows
%WINDIR%\krb5.iniEste é 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.kinitobtém ou atualiza um ticket de concessão de ticket Kerberos, que autentica o Agente usando Kerberos.
Procedimentos
Criar principal de usuƔrio Kerberos para o MongoDB agente
Crie ou escolha um Nome principal do usuƔrio (UPN ) Kerberos para o MongoDB Agent.
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 |
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 |
Exemplo
Em um Realm Kerberos definido como EXAMPLE.COM, o MongoDB Agent definiria seu UPN para: mongodb-agent@EXAMPLE.COM
Gere um keytab arquivo para o UPN Kerberos do MongoDB Agent.
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.
Criar um usuƔrio e atribuir roles para o UPN do MongoDB agente
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:
Crie um novo usuƔrio LDAP no seu servidor LDAP nomeado com o UPN do MongoDB Agent.
Crie um grupo LDAP cujo nome corresponda à função do MongoDB Agent.
Crie a função do MongoDB Agent em seu banco de banco de dados
admincom 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 .
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" } ] } )