DEV Community

Cover image for Como listar Usuários e Permissões no MongoDB
Leandro Domingues
Leandro Domingues

Posted on

1

Como listar Usuários e Permissões no MongoDB

Listando usuários e privilégios no MongoDB

Fala pessoALL, já precisaram listar os usuários e seus privilégios em um ambiente MongoDB?

Em ambientes pequenos ou com poucos usuários isso pode parecer mais fácil, porque podemos ir diretamente em alguns usuários. Mas em ambientes maiores, com muitos usuários e também privilégios isso com certeza será uma tarefa difícil.

Para facilitar a vida vamos a um pequeno script para iterar sobre nossos usuários e privilégios.

Primeiramente, boas-práticas...

Ao utilizar o MongoDB, podemos criar usuários e privilégios em qualquer base de dados do cluster, mas por boa-prática (e acreditem, isso facilita muito), centralizamos as criações na base de dados admin.

Usuários e privilégios

Os usuários podem ter um ou mais privilégios (roles) e o script abaixo faz uma iteração para cada usuário e também dentro de cada role.

Dentro do mongosh

use admin;
db.getUsers().forEach(user => {
   print(user.user);
   user.roles.forEach(role => {
       var roleDetails = db.getRole(role.role, { showPrivileges: true });
       printjson(roleDetails);
   });
});
Enter fullscreen mode Exit fullscreen mode

E é isso...

Sim, rápido e simples... claro que o script pode ser totalmente aprimorado, incluir algumas condições e tudo mais!

Espero que ajude e não esqueça de adicionar ao cinturão de atividades e compartilhar!

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay