Ao utilizar a compatibilidade com o protocolo S3 no Lindorm, o acesso aos buckets é controlado por um modelo de permissões mapeado diretamente para as permissões no nível de tabela do LindormTable. Compreender esse mapeamento permite planejar as permissões mínimas necessárias para cada usuário antes de conceder acesso.
Tipos de permissão
Cinco tipos de permissão controlam o acesso aos buckets. É possível aplicá-las nos níveis Table, Namespace ou Global para definir se afetam um único bucket, todos os buckets de um namespace ou todos os buckets da instância.
|
Permissão |
Operações permitidas |
|
READ |
|
|
WRITE |
|
|
TRASH |
|
|
ADMIN |
Todas as operações de READ, WRITE e TRASH |
|
SYSTEM |
Todas as operações de READ, WRITE e TRASH (equivalente a ADMIN) |
Permissões padrão:
O usuário root do LindormTable possui permissões ADMIN e SYSTEM em todos os buckets.
Usuários recém-criados não possuem permissões de bucket. Conceda permissões explicitamente antes que eles possam acessar qualquer bucket.
Funcionamento das permissões de bucket
Cada bucket corresponde a uma tabela com o mesmo nome no namespace lfsdata. As permissões de um bucket equivalem às permissões dessa tabela correspondente.
Por exemplo, a permissão WRITE em um bucket chamado testbucket é idêntica à permissão WRITE na tabela lfsdata.testbucket.
Para crie um bucket, o usuário precisa ter permissões de escrita no namespace lfsdata.
Conceder e revogar permissões de bucket
Dois métodos estão disponíveis:
Sistema de gerenciamento de cluster: Concede permissões no nível de Namespace ou Global. Utilize este método para aplicar uma permissão a todos os buckets de um namespace simultaneamente.
Lindorm-cli: Concede permissões nos níveis Table, Namespace ou Global. Recomendado quando é necessário controle individual por bucket.
Utilizar o sistema de gerenciamento de cluster
No sistema de gerenciamento de cluster do LindormTable, é possível conceder permissões de nível Namespace ou Global em buckets a um usuário.
Por exemplo, conceder a permissão READ ao user1 no namespace1 fornece acesso de leitura a todos os buckets desse namespace.
Selecione lfsdata para namespace ao conceder permissões no sistema de gerenciamento de cluster.
Para obter as etapas detalhadas, consulte a seção "Grant permissions to a user" em Gerenciamento de permissões para controle de acesso.
Utilizar o Lindorm-cli com GRANT e REVOKE
O Lindorm-cli permite execute instruções GRANT ou REVOKE para permissões nos níveis Table, Namespace ou Global, oferecendo controle granular por bucket.
Conecte-se ao LindormTable usando o Lindorm-cli. Para instruções de conexão, consulte Usar o Lindorm-cli para conectar e utilizar o LindormTable.
Conceder permissão WRITE em um bucket específico ao user1:
GRANT WRITE ON TABLE lfsdata.testbucket TO user1;
Revogar todas as permissões em um namespace do user1:
REVOKE ADMIN ON SCHEMA lfsdata FROM user1;
Para a sintaxe completa de GRANT e REVOKE, consulte GRANT e REVOKE.