Segurança de metadados - Amazon Redshift

Segurança de metadados

Assim como a segurança no nível da linha do Amazon Redshift, a segurança de metadados oferece um controle mais granular sobre os metadados. Se a segurança de metadados estiver habilitada para o cluster provisionado ou o grupo de trabalho de tecnologia sem servidor, os usuários poderão ver metadados dos objetos aos quais têm acesso de exibição. A segurança de metadados permite a você separar a visibilidade com base nas necessidades. Por exemplo, você pode usar um único data warehouse para centralizar todo o armazenamento de dados. No entanto, se você armazenar dados de vários setores, o gerenciamento da segurança poderá se tornar problemático. Com a segurança de metadados habilitada, você pode configurar a visibilidade. Os usuários de um setor podem ter mais visibilidade sobre os objetos, ao mesmo tempo em que você restringe o acesso de exibição a usuários de outro setor. A segurança de metadados dá suporte a todos os tipos de objeto, como esquemas, tabelas, exibições, visões materializadas, procedimentos armazenados, funções definidas pelo usuário e modelos de machine learning.

Os usuários podem ver metadados de objetos sob as seguintes circunstâncias:

  • Se o acesso ao objeto for concedido ao usuário.

  • Se o acesso ao objeto for concedido a um grupo ou a uma função da qual o usuário faz parte.

  • O objeto é público.

  • O usuário é o proprietário do objeto do banco de dados.

Para habilitar a segurança de metadados, use o comando ALTER SYSTEM. Esta é a sintaxe de como usar o comando ALTER SYSTEM com segurança de metadados.

ALTER SYSTEM SET metadata_security=[true|t|on|false|f|off];

Quando você habilita a segurança de metadados, todos os usuários que tenham as permissões necessárias conseguem ver os metadados relevantes de objetos aos quais têm acesso. Se você quiser que apenas determinados usuários consigam ver a segurança dos metadados, conceda a permissão ACCESS CATALOG a uma função e, em seguida, atribua a função ao usuário. Para obter mais informações sobre como usar funções para controlar melhor a segurança, consulte Role-based access control.

O exemplo a seguir demonstra como conceder a permissão ACCESS CATALOG a uma função e, em seguida, atribuir a função a um usuário. Para obter mais informações sobre como conceder permissões, consulte o comando GRANT.

CREATE ROLE sample_metadata_viewer; GRANT ACCESS CATALOG TO ROLE sample_metadata_viewer; GRANT ROLE sample_metadata_viewer to salesadmin;

Se você preferir usar funções já definidas, as funções definidas pelo sistema operator, secadmin, dba e superuser terão todas as permissões necessárias para exibir metadados de objeto. Por padrão, os superusuários conseguem ver o catálogo completo.

GRANT ROLE operator to sample_user;

Se estiver usando funções para controlar a segurança de metadados, você terá acesso a todas as exibições e funções do sistema que acompanham o controle de acesso baseado em funções. Por exemplo, é possível consultar a visualização SVV_ROLES para ver todos os perfis. Para saber se um usuário é membro de uma função ou de um grupo, use a função USER_IS_MEMBER_OF. Para obter uma lista completa de exibições SVV, consulte você SVV metadata views. Para obter uma lista das funções de informações do sistema, consulte System information functions.