MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Gerenciamento de usuários de banco de dados com ClusterControl


Nas postagens anteriores desta série de blogs, abordamos a implantação de clustering/replicação (MySQL / Galera, MySQL Replication, MongoDB e PostgreSQL), gerenciamento e monitoramento de seus bancos de dados e clusters existentes, monitoramento de desempenho e integridade, como tornar sua configuração altamente disponível através do HAProxy e MaxScale, como se preparar contra desastres agendando backups, como gerenciar suas configurações de banco de dados e no último post como gerenciar seus arquivos de log.

Um dos aspectos mais importantes de se tornar um DBA do ClusterControl é poder delegar tarefas aos membros da equipe e controlar o acesso à funcionalidade do ClusterControl. Isso pode ser feito utilizando a funcionalidade de Gerenciamento de Usuários, que permite controlar quem pode fazer o quê. Você pode ir um passo além adicionando equipes ou organizações ao ClusterControl e mapeando-as para suas funções de DevOps.

Equipes


As equipes podem ser vistas como uma organização completa ou grupos de usuários. Os clusters podem ser atribuídos a equipes e, dessa forma, o cluster fica visível apenas para os usuários da equipe à qual foi atribuído. Isso permite que você execute várias equipes ou organizações em um ambiente ClusterControl. Obviamente, a conta de administrador do ClusterControl ainda poderá ver e gerenciar todos os clusters.

Você pode criar uma nova equipe através do Menu Lateral -> Gerenciamento de Usuários -> Equipes e clicando no sinal de mais no lado esquerdo na seção Equipes:

Depois de adicionar uma nova equipe, você pode atribuir usuários à equipe.

Usuários


Depois de selecionar a equipe recém-criada, você pode adicionar novos usuários a essa equipe pressionando o sinal de mais na caixa de diálogo à direita:

Ao selecionar a função, você pode limitar a funcionalidade do usuário a um superadministrador, administrador ou usuário. Você pode estender essas funções padrão na seção Controle de acesso.

Controle de acesso

Funções padrão


Dentro do ClusterControl as funções padrão são:Super Admin, Admin e User. O Super Admin é a única conta que pode administrar equipes, usuários e funções. O Super Admin também pode migrar clusters entre equipes ou organizações. A função de administrador pertence a uma organização específica e pode ver todos os clusters nessa organização. A função de usuário só pode ver os clusters que ele criou.

Funções do usuário


Você pode adicionar novas funções na tela de controle de acesso baseado em função. Você pode definir os privilégios por funcionalidade se a função for permitida (somente leitura), negada (negar), gerenciar (permitir alteração) ou modificar (gerenciar estendido).

Se criarmos uma função com acesso limitado:

Como você pode ver, podemos criar um usuário com direitos de acesso limitados (principalmente somente leitura) e garantir que esse usuário não quebre nada. Isso também significa que podemos adicionar funções não técnicas como Gerente aqui.

Observe que a função Super Admin não está listada aqui, pois é uma função padrão com o nível mais alto de privilégios no ClusterControl e, portanto, não pode ser alterada.

Acesso LDAP


ClusterControl suporta autenticação Active Directory, FreeIPA e LDAP. Isso permite que você integre o ClusterControl em sua organização sem precisar recriar os usuários. Em postagens anteriores do blog, descrevemos como configurar o ClusterControl para autenticar em OpenLDAP, FreeIPA e Active Directory.

Uma vez que isso tenha sido configurado, a autenticação no ClusterControl seguirá o gráfico abaixo:

Basicamente, a parte mais importante aqui é mapear o grupo LDAP para a função ClusterControl. Isso pode ser feito com bastante facilidade na página Configurações LDAP em Gerenciamento de usuários.

A caixa de diálogo acima mapearia o DevopsTeam para a função de usuário limitado no ClusterControl. Em seguida, repita isso para qualquer outro grupo que você deseja mapear. Depois disso, qualquer usuário autenticado no ClusterControl será autenticado e autorizado por meio da integração LDAP.

Considerações finais


A combinação de todos os itens acima permite integrar melhor o ClusterControl em sua organização existente, criar funções específicas com acesso limitado ou total e conectar usuários a essas funções. A beleza disso é que agora você é muito mais flexível na forma como organiza sua infraestrutura de banco de dados:quem tem permissão para fazer o quê? Você pode, por exemplo, transferir a tarefa de verificação de backup para um engenheiro de confiabilidade do site em vez de fazer com que o DBA os verifique diariamente. Permita que seus desenvolvedores verifiquem os arquivos de log do MySQL, Postgres e MongoDB para correlacioná-los com seu monitoramento. Você também pode permitir que um desenvolvedor sênior dimensione o banco de dados adicionando mais nós/fragmentos ou tenha um engenheiro de DevOps experiente para escrever consultores.

Como você pode ver as possibilidades aqui são infinitas, é apenas uma questão de como desbloqueá-las. Na série de blogs do Developer Studio, nos aprofundamos na automação com o ClusterControl e para a integração do DevOps, lançamos recentemente o CCBot.