Em grandes organizações, o gerenciamento da segurança em toda a empresa torna-se cada vez mais desafiador à medida que o número de aplicativos e usuários aumenta. Ter um modelo de controle de acesso baseado em funções permite controlar com precisão a que os usuários têm acesso. No entanto, à medida que o número de usuários aumenta, o gerenciamento de permissões para cada usuário individualmente pode se tornar bastante desafiador.
Se o gerenciamento das permissões de usuário não for feito corretamente (por exemplo, se alterarmos as permissões de usuário incorretamente caso eles mudem as responsabilidades do trabalho ou saiam da empresa), isso poderá resultar na obtenção acidental de permissões elevadas por alguém ou, em outros casos, na impossibilidade de concluir seus trabalhos devido a privilégios insuficientes.
Neste blog, falaremos sobre um novo recurso de "Grupos" no Couchbase, juntamente com etapas fáceis de seguir para você começar. Este blog se concentrará apenas nos grupos aplicados aos usuários domain=couchbase e, no blog seguinte, discutiremos o suporte a grupos baseados em LDAP.
O que são grupos do Couchbase?
Os grupos do Couchbase são usados para agrupar os usuários do Couchbase a fim de simplificar a administração e a manutenção da segurança no Couchbase. Normalmente, um usuário no Couchbase pode executar várias ações em recursos com base nos privilégios RBAC atribuídos ao usuário. Por exemplo, um funcionário pode precisar de acesso SELECT em todos os buckets. Nas versões anteriores do Couchbase, a integração do usuário envolvia a criação de contas de usuário (domain=couchbase) para cada funcionário e a atribuição individual do privilégio SELECT no bucket['*'].
Com o Couchbase 6.5, é possível criar grupos para agrupar usuários com funções de trabalho semelhantes e controlar facilmente suas permissões. Em vez de modificar cada conta de usuário, os privilégios podem ser associados diretamente a um grupo e herdados pelos usuários que são membros do grupo.

Figura: As funções fixas no Couchbase podem ser aplicadas a usuários individuais ou grupos
Usuários e grupos no Couchbase
Na UI de administração do Couchbase, agora é possível alternar entre a visualização de usuário e de grupo na guia de segurança. Você deve ser um administrador completo ou um administrador de segurança para poder acessar a guia de segurança.
Conforme mostrado na figura abaixo, selecionar "users" (usuários) listará todas as informações dos usuários, incluindo o domínio de autorização (nesse caso, apenas o Couchbase) e as diferentes funções que um usuário tem.

A seleção de "grupos" listará todos os grupos e suas funções associadas.

Criação de um grupo do Couchbase
É fácil criar um grupo e atribuir funções a ele. Basta clicar em "Add Group" (Adicionar grupo) no canto superior direito da interface do usuário e escolher um nome de grupo, juntamente com as funções a serem associadas ao grupo, para criar um grupo.

Adição de usuários a grupos

Assim como criar grupos é fácil, criar novos usuários e mapeá-los para um grupo também é simples. Clicar no link "Add user" (Adicionar usuário), no canto superior direito da interface do usuário, abre uma caixa de diálogo, conforme mostrado abaixo. No exemplo mostrado abaixo, Sam é um usuário que está mapeado para o grupo de executivos que foi criado. Nesse caso, selecionamos apenas o grupo "executivos" e é permitido adicionar um usuário a mais de um grupo. Nesse caso, a permissão efetiva do usuário é uma união das permissões de todos os grupos e das permissões atribuídas diretamente ao usuário.
Resumindo os mapeamentos de grupos e funções
Aqui está um resumo rápido dos diferentes grupos e mapeamentos de funções com base em nossa configuração até o momento

Isso significa que -
- O Executive é efetivamente um administrador pleno e tem todos os privilégios do Couchbase
- O Manager tem acesso total de leitura e gravação nos buckets, bem como privilégios de administrador de cluster e bucket. Ele não tem acesso às configurações de segurança.
- O funcionário deve ser capaz de emitir apenas instruções N1QL SELECT para qualquer bucket e gerenciar índices.
Fazendo login como "Mary": O Funcionário
Observe que o usuário conectado é "mary", que é mostrado no canto superior direito.

A consulta select do N1QL funciona bem, permitindo que Mary selecione a amostra de cerveja
A consulta de inserção N1QL falha porque Mary não tem os privilégios necessários, conforme esperado
Fazendo login como "Bob": O gerente
Observe que o usuário conectado é "bob", que é mostrado no canto superior direito.

Observe que Bob não pode alterar as configurações de segurança e que a opção "segurança" não é exibida no menu à esquerda.
Conclusão
O suporte a grupos para usuários do Couchbase é um novo recurso interessante do Couchbase Server 6.5. Esperamos que tenha gostado deste blog e, como sempre, aguardamos seu feedback. Dê uma olhada no Couchbase Server e confira todos os novos recursos interessantes.
Recursos
Baixar
Faça o download do Couchbase Server 6.5
Documentação
Notas de versão do Couchbase Server 6.5
Couchbase Server 6.5 O que há de novo
Blogs
Blog: Anunciando o Couchbase Server 6.5 - O que há de novo e aprimorado
Blog: O Couchbase traz as transações ACID multi-documento distribuídas para o NoSQL