Controle de acesso a tabelas dinâmicas

Este tópico discute os privilégios necessários para executar operações com tabelas dinâmicas, como criar, consultar, alterar, visualizar e descartar.

Para fornecer a um usuário acesso total a uma tabela dinâmica, você pode fazer o seguinte:

Para saber mais sobre o modelo de privilégio Snowflake, consulte Visão geral do controle de acesso e Privilégios de controle de acesso.

Privilégios para criar uma tabela dinâmica

Para criar uma tabela dinâmica, você deve usar uma função que tenha os seguintes privilégios:

Privilégio

Objeto

CREATE DYNAMIC TABLE

Esquema no qual você planeja criar a tabela dinâmica.

SELECT

As tabelas e exibições existentes que você planeja consultar para a nova tabela dinâmica.

USAGE

Banco de dados e esquema que você planeja usar para a nova tabela dinâmica.

Warehouse que você planeja usar para atualizar a tabela.

Para criar uma tabela dinâmica que depende de outra tabela dinâmica, você deve usar uma função que tenha os seguintes privilégios:

Privilégio

Objeto

SELECT

Tabela dinâmica que você planeja consultar para criar a nova tabela dinâmica.

OPERATE

Todas as tabelas dinâmicas upstream das quais a nova tabela dinâmica depende. Necessário apenas se você definir a tabela dinâmica para ser atualizada de forma síncrona na criação.

Privilégios para consultar uma tabela dinâmica

Para consultar uma tabela dinâmica, você pode usar uma função que tenha privilégios para criar uma tabela dinâmica. Para cenários em que um usuário só precisa consultar uma tabela dinâmica – por exemplo, um analista de dados – use uma função que tenha os seguintes privilégios:

Privilégio

Objeto

USAGE

Banco de dados e esquema que contém a tabela dinâmica.

Warehouse usado para atualizar a tabela.

SELECT

A tabela dinâmica que está sendo consultada.

Privilégios para alterar uma tabela dinâmica

Para alterar uma tabela dinâmica, você deve usar uma função que tenha o privilégio OWNERSHIP ou OPERATE nessa tabela dinâmica.

Se você tiver o privilégio OPERATE em uma tabela dinâmica, poderá fazer o seguinte com o comando ALTER DYNAMIC TABLE:

Privilégios para visualizar os metadados de uma tabela dinâmica

Para visualizar os metadados e o Information Schema de uma tabela dinâmica, você deve usar uma função que tenha o privilégio MONITOR nessa tabela dinâmica.

Embora o privilégio OPERATE conceda esse acesso, ele também inclui a capacidade de alterar tabelas dinâmicas, tornando MONITOR a opção mais adequada para cenários em que um usuário não precisa alterar uma tabela dinâmica. Por exemplo, funções desempenhadas por cientistas de dados.

Se você tiver o privilégio MONITOR em uma tabela dinâmica, poderá fazer o seguinte:

  • Usar o comando DESCRIBE DYNAMIC TABLE e a página de detalhes de tabelas dinâmicas Snowsight para visualizar os detalhes específicos de uma tabela dinâmica. Os campos a seguir ficarão ocultos se você tiver apenas o privilégio SELECT em uma tabela dinâmica: text, warehouse, scheduling_state, last_suspended_on e suspend_reason_code (somente UI).

  • Usar o comando SHOW DYNAMIC TABLES para visualizar a quais tabelas dinâmicas você tem acesso.

  • Navegar até a função de tabela DYNAMIC_TABLE_GRAPH_HISTORY para visualizar o histórico do gráfico.

  • Navegar até a função de tabela DYNAMIC_TABLE_REFRESH_HISTORY para visualizar o histórico de atualizações.

Privilégios para descartar uma tabela dinâmica

Para descartar uma tabela dinâmica, você deve usar uma função que tenha o privilégio OWNERSHIP nessa tabela dinâmica.