Uma função de banco de dados refere -se a uma coleção de permissões alocadas a um ou mais usuários em um banco de dados. Uma função de banco de dados também pode ser atribuída às outras funções, permitindo que um conjunto de grupos execute ações específicas nos bancos de dados no cluster. Por exemplo, o Apache Cassandra utiliza funções e permissões para gerenciar a segurança do usuário.
Neste tutorial, você descobrirá como gerenciar os papéis de Cassandra, aprendendo a criar e remover os papéis do cluster.
Cassandra Crie papel
Em Apache Cassandra, podemos criar uma função usando o comando Create Role seguido pelo nome do papel.
Uma função criada não tem uma funcionalidade de login ou privilégios de superusuário. A sintaxe para criar um papel em Cassandra é como mostrado:
Criar função [se não existir] Role_name
[Com superusuário = true | falso
| Login = true | falso
| Senha = 'senha'
| Options = Option_Map]
Vamos dar um exemplo simples de criar um papel em um cluster de Cassandra.
Cassandra@cqlsh> criar database_admin;
Por padrão, a criação de uma função não atribui privilégios, a menos que você especifique o privilégio do superusuário durante a criação.
Você pode atribuir ou remover as permissões a uma função específica usando a concessão ou revogar as permissões. Por exemplo, o comando a seguir atribui todas as permissões à função Database_admin em um determinado espaço de chave:
Cassandra@cqlsh> conceda todas as permissões no Keyspace Linuxhint ao Database_admin;
Depois de atribuir as permissões específicas a uma função específica, você pode alocar para os vários usuários dessa função no cluster.
Por exemplo, para atribuir a função Database_admin a um usuário chamado "Linuxhint", podemos executar o comando como:
Cassandra@cqlsh> Grant Database_admin para Linuxhint;
Podemos então ver as permissões da função "Database_admin" com o seguinte comando:
Cassandra@cqlsh> Liste todas as permissões de banco de dados_admin;
Isso deve retornar todas as permissões da função Database_admin. Um exemplo de saída é como mostrado:
papel | nome de usuário | recurso | permissão
----------------+----------------+----------------------+------------
Database_admin | Database_admin || CRIAR
Database_admin | Database_admin || ALTERAR
Database_admin | Database_admin || DERRUBAR
Database_admin | Database_admin || Selecione
Database_admin | Database_admin || MODIFICAR
Database_admin | Database_admin || AUTORIZAR
Cassandra Drop papel
Uma vez que uma função não é mais relevante, você pode removê -lo usando o comando de função de gota. A sintaxe é como mostrado:
Função de soltar [se existe] role_name;
Por exemplo, para remover a função Database_admin que criamos anteriormente, podemos executar o seguinte comando:
Cassandra@cqlsh> Drop função se existir Database_admin;
Você pode verificar as permissões dessa função:
Cassandra@cqlsh> Liste todas as permissões de banco de dados_admin;
Isso retorna um erro, já que a função não existe mais no cluster.
InvalidRequest: Erro do servidor: Code = 2200 [consulta inválida] message = "não existe"
Conclusão
Você aprendeu a criar e gerenciar os papéis em Apache Cassandra neste artigo. Também discutimos como excluir os papéis de um cluster.