Servidor Couchbase

Proteja seus dados NoSQL com o controle de acesso baseado em função do Couchbase

Em um mundo em que os vazamentos de dados estão se tornando cada vez mais comuns, a necessidade de proteger o banco de dados e os aplicativos da Web torna-se cada vez mais importante. Eu, como muitos outros desenvolvedores, trabalhei com bancos de dados relacionais, como MySQL e Oracle, em que as permissões de controle de acesso podiam ser colocadas nos bancos de dados e nas tabelas dentro deles. Agora, com o Couchbase 5.0, esse mesmo controle de granulação fina pode ser aplicado em clusters, buckets e muito mais.

Veremos alguns exemplos de como o controle de acesso baseado em função (RBAC) do Couchbase Server pode ser usado para bloquear o banco de dados e protegê-lo melhor dos usuários mal-intencionados que tentam explorá-lo.

Sejamos claros desde o início: ter contas com controle de acesso no seu banco de dados não será uma solução definitiva quando se trata de proteger seus dados. Você ainda deve seguir as práticas recomendadas quando se trata de projetar seu aplicativo Web, mas ter o controle de acesso no nível do banco de dados ajudará significativamente a sua causa.

Com o RBAC do Couchbase Server, é possível ter qualquer número de contas que possam ser usadas para acessar o banco de dados.

Couchbase Role-Based Access Control Accounts

Essas contas terão privilégios como leitura, gravação, execução, gerenciamento e descarga.

Vamos brincar com a criação de uma conta e descobrir o que acontece quando temos e não temos os privilégios corretos para realizar determinadas tarefas.

Criação de um novo usuário para o Couchbase Server

Supondo que você já tenha obtido uma cópia do Couchbase Server 5.0 ou mais recente, faça login no cluster ou na instância usando seu nome de usuário e senha de administrador.

Couchbase Server Admin Login

O nome de usuário e a senha administrativos não vão desaparecer agora que o controle de acesso baseado em função está disponível. Pense nele como o usuário raiz do cluster do banco de dados.

Depois de fazer login, localize a seção Segurança e selecione ADICIONAR USUÁRIO.

Couchbase Create New RBAC User

Ao adicionar um usuário, certifique-se de escolher uma combinação forte de nome de usuário e senha.

Há várias funções para escolher ao criar um novo usuário. Por enquanto, escolha a função Leitor de dados da função Funções de dados seção. Estamos fazendo isso porque queremos ver o que acontece quando tentamos usar uma conta de usuário com poucas permissões. Para obter o máximo de segurança, certifique-se de atribuir apenas os Buckets necessários ao usuário e não use a seção todos [*] opção.

Agora vamos dar uma olhada na tentativa de usar essa nova conta com o Couchbase.

Execução de tarefas com o shell do Couchbase

Ao instalar o Couchbase, você recebe o Couchbase Shell, que é uma ferramenta CLI que pode fazer várias coisas com o banco de dados.

Se estiver usando um Mac, execute o seguinte comando:

O comando acima iniciará o Couchase Shell (CBQ) usando o nome de usuário e a senha especificados. Certifique-se de usar o nome de usuário e a senha do usuário RBAC que você criou anteriormente.

Se você estiver usando o Microsoft Windows, o CBQ deverá estar localizado no seguinte local:

Da mesma forma, se estiver usando Linux, verifique se há CBQ aqui:

Se você quiser saber mais sobre o Couchbase Shell, dê uma olhada na seção documentação oficial.

Com uma conexão bem-sucedida ao Couchbase Server usando o CBQ, vamos tentar executar uma consulta:

É claro que estamos supondo que você tenha um Bucket chamado padrão e seu usuário tem acesso a ele. Lembre-se de que só temos o Leitor de dados em nosso usuário, e não uma das funções Funções de consulta. Isso significa que você provavelmente receberá um erro parecido com o seguinte:

Isso é ótimo porque não queremos que nosso usuário possa executar consultas. O Funções de dados Os privilégios são apenas para operações de valor-chave, não para N1QL.

Volte ao Painel de controle administrativo do Couchbase e altere as funções do usuário. Desta vez, dê ao usuário a função Seleção de consulta função de Funções de consulta. Se você tentar executar a consulta novamente no CBQ, ela deverá ser bem-sucedida.

Inclusão de controles de acesso baseados em função em um aplicativo

Em algum momento, você precisará criar um aplicativo da Web que se comunique com o Couchbase usando um dos vários SDKs do Couchbase. A partir do Couchbase 5.0, um usuário RBAC deve estar disponível e o SDK deve se autenticar com ele, caso contrário, ocorrerá um erro ao tentar abrir um Bucket.

Se você for um desenvolvedor do Node.js, poderá fazer algo parecido com isto:

Observe que o openBucket não recebe mais uma senha do Bucket. Em vez disso, estamos contando com a função autenticar e nossos controles de acesso.

Cada um dos SDKs segue uma abordagem muito semelhante à autenticação. Para obter mais informações, consulte a documentação do SDK na seção Portal do desenvolvedor do Couchbase.

Conclusão

A capacidade de definir privilégios com base em clusters, Buckets e até mesmo serviços é uma grande vitória quando se trata de proteger seu banco de dados NoSQL. Ao dar aos usuários o mínimo necessário para que eles funcionem, você está ajudando a eliminar a possibilidade de vazamento de dados ou de alguma outra atividade mal-intencionada.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Nic Raboy, defensor dos desenvolvedores, Couchbase

Nic Raboy é um defensor das modernas tecnologias de desenvolvimento móvel e da Web. Ele tem experiência em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experiências de desenvolvimento relacionadas a tornar o desenvolvimento móvel e da Web mais fácil de entender.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.