Todos os produtos
Search
Central de documentação

Hologres:Simple permission model (SPM)

Última atualização: Jun 28, 2026

Este tópico descreve o modelo de permissão simples (SPM) do Hologres.

Informações básicas

O Hologres é compatível com PostgreSQL e permite usar o modelo de autorização padrão do PostgreSQL. Para obter mais informações, consulte Modelo de permissão avançado. O modelo de autorização padrão do PostgreSQL divide as permissões rigorosamente, o que torna seu uso complexo em cenários reais de negócios. Os principais pontos de dificuldade incluem:

  • A concessão de permissões a um usuário exige executar muitas instruções de autorização.

  • Cada função requer um conjunto diferente de permissões, o que torna o processo de concessão trabalhoso. Além disso, se alguma instrução de autorização for omitida durante a concessão, o usuário não conseguirá realizar as operações correspondentes.

  • As mesmas instruções de autorização devem ser executadas para cada novo usuário, o que consome muito tempo.

  • Embora o Hologres forneça instruções de autorização padrão do PostgreSQL como referência, hábitos operacionais inadequados podem levar à execução incorreta de comandos para diferentes permissões. Isso pode causar desorganização na gestão de permissões, gerar riscos ao negócio e aumentar os custos de gerenciamento, tempo e utilização.

Para resolver esses problemas, o Hologres desenvolveu o SPM. Esse modelo baseia-se na autorização padrão do PostgreSQL, mas gerencie as permissões de maneira granular. O SPM opera no nível do banco de dados e oferece as seguintes funções: admin, developer, writer e viewer. Com poucas funções, você gerencie as permissões de objetos no banco de dados de forma prática e segura.

Visão geral do SPM

O SPM disponibiliza as seguintes funções para cada banco de dados:

  • {db}_admin: administrador do banco de dados

  • {db}_developer: desenvolvedor

  • {db}_writer: leitor e gravador

  • {db}_viewer: analista

A tabela a seguir detalha as permissões de cada função.

Função

Permissão

{db}_admin

  • Administrador do banco de dados.

  • Possui as permissões dos grupos {db}_developer, {db}_writer e {db}_viewer.

  • É proprietário do banco de dados e tem permissão para excluí-lo.

  • Pode adicionar e remover membros nos grupos {db}_admin, {db}_developer, {db}_writer e {db}_viewer do banco de dados.

  • Tem permissão para consultar, adicionar, modifique e exclua objetos no banco de dados, como schemas.

  • Pode modifique as configurações do banco de dados.

{db}_developer

  • Desenvolvedor do banco de dados.

  • Detém as permissões dos grupos {db}_writer e {db}_viewer.

  • É proprietário de todos os objetos não pertencentes ao sistema em todos os schemas do banco de dados, incluindo tabelas, tabelas externas e objetos semelhantes a tabelas, como views, funções, procedimentos, servidores externos, wrappers de dados externos, tipos e linguagens. Desenvolvedores também podem consultar, adicionar, modifique e exclua tabelas em todos os schemas.

  • Possui as permissões USAGE e CREATE em todos os schemas e pode executar instruções de linguagem de definição de dados (DDL) para crie tabelas, views e tabelas externas em schemas não pertencentes ao sistema.

{db}_writer

  • Leitor e gravador do banco de dados.

  • Inclui as permissões do grupo {db}_viewer.

  • Autorizado a executar as instruções SELECT, INSERT, UPDATE e DELETE em todas as tabelas, tabelas externas e objetos semelhantes a tabelas, como views, em todos os schemas.

  • Pode consultar, adicionar, modifique e exclua todos os schemas no banco de dados.

  • Tem acesso e permissão de uso em todos os objetos pertencentes aos desenvolvedores do banco de dados, incluindo funções, procedimentos, servidores externos, wrappers de dados externos, tipos e linguagens.

  • Possui a permissão USAGE em todos os schemas, mas não pode executar instruções DDL.

{db}_viewer

  • Analista do banco de dados.

  • Dispõe da permissão SELECT em todas as tabelas, tabelas externas e objetos semelhantes a tabelas, como views, em todos os schemas.

  • Pode acessar e utilizar todos os objetos de propriedade dos desenvolvedores do banco de dados, incluindo funções, procedimentos, servidores externos, wrappers de dados externos, tipos e linguagens.

  • Tem a permissão USAGE em todos os schemas.