Gerenciar usuários e papéis é uma parte crucial da administração de qualquer banco de dados, e o MongoDB não é exceção. Este capítulo do nosso curso abordará como criar, gerenciar e atribuir papéis aos usuários no MongoDB.

No MongoDB, a autenticação e a autorização são as duas principais maneiras de gerenciar a segurança. A autenticação verifica a identidade de um usuário, enquanto a autorização determina quais ações um usuário pode realizar. Em outras palavras, a autenticação é o processo de verificar quem você é, enquanto a autorização é o processo de verificar o que você tem permissão para fazer.

Para gerenciar usuários e papéis no MongoDB, você precisa entender como o MongoDB lida com a segurança. O MongoDB usa um modelo de segurança baseado em função, o que significa que você pode atribuir funções específicas a usuários específicos. Cada função tem um conjunto específico de privilégios que determinam o que o usuário pode fazer.

Para criar um novo usuário no MongoDB, você pode usar o comando db.createUser(). Este comando cria um novo usuário e atribui um papel a ele. Por exemplo, o seguinte comando cria um novo usuário chamado "myUser" com a senha "myPassword" e a função "readWrite":

db.createUser(
   {
     user: "myUser",
     pwd: "myPassword",
     roles: [ "readWrite" ]
   }
)

Este comando cria um novo usuário que tem permissão para ler e escrever dados. No entanto, este usuário não tem permissão para executar tarefas administrativas, como criar novos bancos de dados ou gerenciar usuários.

Se você quiser alterar a função de um usuário, você pode usar o comando db.updateUser(). Este comando atualiza a função de um usuário existente. Por exemplo, o seguinte comando atualiza a função do usuário "myUser" para "dbAdmin":

db.updateUser(
   "myUser",
   {
     roles : [ "dbAdmin" ]
   }
)

Este comando atualiza a função do usuário "myUser" para "dbAdmin", o que significa que este usuário agora tem permissão para executar tarefas administrativas.

Além disso, o MongoDB também permite que você crie suas próprias funções personalizadas. Para criar uma nova função, você pode usar o comando db.createRole(). Por exemplo, o seguinte comando cria uma nova função chamada "readWriteAndAdmin":

db.createRole(
   {
     role: "readWriteAndAdmin",
     privileges: [
       {
         resource: { db: "mydb", collection: "" },
         actions: [ "find", "update", "insert", "remove", "createCollection", "dropCollection", "createIndex", "dropIndex", "viewOn", "collStats", "dbStats", "dbHash", "dbAdmin" ]
       }
     ],
     roles: []
   }
)

Este comando cria uma nova função que tem permissões para ler, escrever e administrar o banco de dados "mydb".

Em resumo, o gerenciamento de usuários e papéis no MongoDB é uma tarefa importante que ajuda a garantir a segurança do seu banco de dados. Ao entender como criar, gerenciar e atribuir papéis aos usuários, você pode garantir que cada usuário tenha os privilégios adequados para realizar suas tarefa.

No próximo capítulo, abordaremos como monitorar o desempenho do seu banco de dados MongoDB e como otimizá-lo para obter o melhor desempenho possível. Fique atento!

Agora responda o exercício sobre o conteúdo:

Qual comando é usado para criar um novo usuário no MongoDB e como ele funciona?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Implementação de segurança no MongoDB

Próxima página do Ebook Gratuito:

72Implementação de segurança no MongoDB

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto