Segurança

Apresentando o controle de acesso baseado em função no Couchbase Server 4.5

Ao longo dos anos, aprendi a usar o acesso com "privilégio mínimo" sempre que possível. Isso se aplica especialmente aos administradores - eles gerenciam componentes importantes da infraestrutura de TI, como bancos de dados NoSQL, e têm a liberdade de usar
todos os privilégios que o sistema tem a oferecer.

Se você já usou o Couchbase por tempo suficiente, a situação era -

  1. O administrador completo tinha permissão total para fazer qualquer coisa nos recursos do cluster - buckets, visualizações, XDCR.
  2. Havia apenas duas funções de administrador prontas para uso (do tipo tudo ou nada): administrador completo e administrador somente leitura.

Isso significava que, se você precisasse que alguém apenas configurasse o XDCR, ou talvez alterasse uma configuração simples de bucket, basicamente precisaria fornecer a essa pessoa credenciais de administrador completas. Esse era o problema central!

O 4.5 foi um lançamento empolgante para nós do ponto de vista da segurança, com a introdução do RBAC (Role Based Access Control, controle de acesso baseado em função) para administradores - uma maneira simples de definir e impor qual administrador tem acesso a quais recursos. Com o RBAC
para administradores, agora você pode separar as funções de diferentes administradores para fins de conformidade e para atender às normas internas de segurança organizacional.

Então, quais são os requisitos que o RBAC realmente atende?

O RBAC é importante para ajudá-lo a responder às seguintes perguntas sobre o seu banco de dados NoSQL:

  1. Posso separar as funções dos meus administradores do couchbase?
  2. Quais administradores têm acesso a quais recursos?
  3. Como faço para centralizar a autenticação dos administradores em meu ambiente?

Então, como o RBAC atende aos requisitos?

A maneira mais fácil de entender o RBAC é por meio de um exemplo.

Digamos que você tenha uma equipe de 3 a 4 administradores responsáveis pelo Couchbase: Adam, Mary, Don e Kirk. Espera-se que você não queira que todos eles tenham privilégios totais de administrador, caso contrário, esse recurso não será útil para você. Além disso, em um ambiente de desenvolvimento-teste
talvez você queira permitir que os administradores tenham controle total sobre o cluster para que possam explorar as configurações do Couchbase livremente, sem restrições, e ajustar as configurações do cluster para se prepararem para a produção.

Ao se aproximar da implementação de produção, você precisará começar a pensar em bloquear o cluster (ou seja, pensar em como você pode separar as funções de administrador e descobrir quais administradores precisarão acessar quais recursos). Na maioria dos
implementações corporativas, a centralização da autenticação de usuários por meio do LDAP é bastante comum na produção.

A primeira etapa para configurar o RBAC é criar seus usuários administrativos no LDAP. Se você já tiver o LDAP configurado em sua empresa, deverá primeiro configurar Couchbase para usar LDAP.

Neste exemplo, são necessários 4 usuários: Adam, Mary, Don, Kirk e uma conta de usuário para você.

Usuário

Título

Descrição do cargo

Antes de 4,5

Em 4.5

Você mesmo

Gerente de equipe de administração do Couchbase

Controle total sobre o cluster

Administração completa

?

Adão

Administrador sênior do Couchbase

Controle total sobre o cluster sem privilégios para controlar as configurações de segurança

Administração completa

?

Maria

Administrador da equipe de aplicativos

As equipes de aplicativos chamam a Mary quando as configurações de um bucket de aplicativo precisam ser editadas

Administração completa

?

Don

Consultor de HA

Pessoa-chave para estabelecer o XDCR entre os clusters

Administração completa

?

Kirk

Consultor da equipe de aplicativos

Pessoa-chave para a definição e implementação de visualizações para um aplicativo

Administração completa

?

Atribuição de permissões a administradores por meio da associação de funções

Em seguida, você deverá descobrir o nível de permissão a ser concedido aos administradores com base em suas funções. O Couchbase fornece seis conjuntos distintos de permissões agrupadas por funções. Isso facilita a atribuição e a compreensão do acesso de administrador
sem precisar definir permissões individuais para cada uma das ações possíveis.

Esses seis conjuntos de permissões são:

Administrador pleno: Pode fazer qualquer coisa possível com os recursos do Couchbase. Este é o administrador completo com o qual você já está familiarizado. Esse é o nível mais alto de acesso que um usuário administrador pode ter. Então, o que um administrador pleno pode ver na interface do usuário? Basicamente
tudo, inclusive as configurações de segurança (na nova guia de segurança adicionada na versão 4.5)

Screen Shot 2016-05-11 at 11.50.07 AM.png

Administrador do cluster: Semelhante ao Full Admin, mas com algumas restrições em relação ao controle de segurança. Essa opção é mais adequada para quando você deseja que um grupo de administradores execute o cluster, mas não pode conceder a eles privilégios de segurança, como a capacidade de ativar a auditoria
ativar/desativar, alterar associações de funções de administrador.

Screen Shot 2016-05-11 at 11.47.42 AM.png

Então, o que um administrador de cluster pode ver na interface do usuário? Tudo, menos a guia de segurança.

Administrador do balde: Isso é mais adequado para quando você quer um grupo de administradores que respondem às solicitações das equipes de aplicativos para ajustar as configurações do bucket - redefinir a senha de um bucket, alterar as cotas de memória do bucket etc. Então, o que um administrador de bucket pode ver
na interface do usuário, na guia baldes de dados? Somente os buckets que você está administrando.

Screen Shot 2016-05-11 at 12.01.07 PM.png

Para todas as outras guias (como nós de servidor), ela é somente leitura para administradores de bucket

Screen Shot 2016-05-11 at 12.12.09 PM.png

Exibir Admin: Digamos que você tenha um administrador trabalhando com a equipe de aplicativos para configurar e implementar visualizações de aplicativos. Para isso, temos a função de administrador de visualização.

Screen Shot 2016-05-11 at 1.50.03 PM.png

Administração de replicação: Isso é para os administradores responsáveis por sua estratégia XDCR. Esses são os administradores que configuram XDCR referências de clusters entre clusters,
iniciar/parar replicações.

E, finalmente,  Somente leitura Admin: Olhe, mas não toque. Pode visualizar e inspecionar recursos, mas nada mais. Essa não é uma função nova na versão 4.5, mas é algo que você pode usar para sua

Lembre-se de que essas funções se sobrepõem, e o diagrama a seguir resume a hierarquia de funções

Colocando tudo junto

Portanto, agora que você conhece as funções, é preciso fazer com que Adam, Mary, Don e Kirk sejam membros das funções correspondentes.

Usuário

Título

Descrição do cargo

Antes de 4,5

Em 4.5

Você mesmo

Gerente de equipe de administração do Couchbase

Controle total sobre o cluster

Administração completa

Administração completa

Adão

Administrador sênior do Couchbase

Controle total sobre o cluster sem privilégios para controlar as configurações de segurança

Administração completa

Administrador do cluster

Maria

Administrador da equipe de aplicativos

As equipes de aplicativos chamam a Mary quando as configurações de um bucket de aplicativo precisam ser editadas

Administração completa

Administrador do Bucket

Don

Consultor de HA

Pessoa-chave para estabelecer o XDCR entre os clusters

Administração completa

Administrador de replicação

Kirk

Consultor da equipe de aplicativos

Pessoa-chave para a definição e implementação de visualizações para um aplicativo

Administração completa

Exibir Admin

No Couchbase 4.5, isso pode ser configurado por meio da interface do usuário, REST e CLI

Screen Shot 2016-05-11 at 6.16.20 PM.png

Para resumir

O RBAC é importante para ajudá-lo a responder às seguintes perguntas sobre o seu banco de dados NoSQL:

  1. Posso separar as funções dos meus administradores do couchbase? Sim, agora com o RBAC para administradores na versão 4.5 você pode!
  2. Quais administradores têm acesso a quais recursos? É fácil e simples - depende da função
  3. Como faço para centralizar a autenticação dos administradores em meu ambiente? O LDAP precisa ser usado com o RBAC e geralmente é uma forma de centralizar a autenticação para os administradores.

Esperamos que esta visão geral do Controle de Acesso Baseado em Função tenha sido útil. Estamos muito entusiasmados com o RBAC e esperamos criar mais recursos de nível empresarial para o Couchbase Server no futuro. Boa sorte com o uso do RBAC para administradores em seu Couchbase
4,5 implantações!

Aguardamos seu feedback.

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

Autor

Postado por Don Pinto, gerente principal de produtos da Couchbase

Don Pinto é gerente de produto principal da Couchbase e atualmente está concentrado no avanço dos recursos do Couchbase Server. Ele é extremamente apaixonado por tecnologia de dados e, no passado, foi autor de vários artigos sobre o Couchbase Server, incluindo blogs técnicos e white papers. Antes de ingressar no Couchbase, Don passou vários anos na IBM, onde ocupou a função de desenvolvedor de software no grupo de gerenciamento de informações DB2 e, mais recentemente, como gerente de programa na equipe do SQL Server na Microsoft. Don tem mestrado em ciência da computação e é bacharel em engenharia da computação pela Universidade de Toronto, no Canadá.

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.