Gerenciamento de contas de leitor

As contas de leitor (anteriormente conhecidas como “contas somente leitura”) permitem aos provedores compartilhar dados com consumidores que ainda não são clientes Snowflake, sem exigir que os consumidores se tornem clientes Snowflake.

Nota

Todas as tarefas descritas neste tópico devem ser executadas utilizando a função ACCOUNTADMIN (ou uma função com o privilégio global CREATE ACCOUNT).

Neste tópico:

Visão geral

Uma conta de leitor permite ao consumidor acessar e consultar dados compartilhados pelo provedor da conta, sem custos de configuração ou uso para o consumidor, e sem requisitos para que o consumidor assine um contrato de licenciamento com a Snowflake.

A conta de leitor é criada, de propriedade e administrada pela conta do provedor, que assume toda a responsabilidade pelos encargos de crédito incorridos pelos usuários na conta de leitor. De forma semelhante às contas de consumidor convencionais, a conta de provedor usa compartilhamentos para compartilhar bancos de dados com contas de leitor. No entanto, uma conta de leitor só pode consumir dados da conta de provedor que a criou:

Overview of data sharing reader accounts

Nota

Os warehouses em uma conta de leitor podem consumir um número ilimitado de créditos a cada mês, que serão debitados em sua conta de provedor. Para limitar o uso, configure um monitor de recursos para o warehouse.

O que é restringido/permitido em uma conta de leitor?

Uma conta de leitor destina-se principalmente à consulta de dados compartilhados pelo provedor da conta. Você pode trabalhar com dados, por exemplo, criando exibições materializadas.

Não é possível executar as seguintes tarefas em uma conta de leitor:

  • Carregamento de novos dados.

  • Modificação de dados existentes.

  • Descarregamento de dados usando uma integração de armazenamento. No entanto, você pode usar o comando COPY INTO <local> com suas credenciais de conexão para descarregar dados em um local de armazenamento em nuvem.

Além disso, não é possível executar os seguintes comandos em uma conta de leitor:

Todas as outras operações são permitidas.

Quem fornece suporte para uma conta de leitor?

Como uma conta de leitor não tem um contrato de licenciamento com a Snowflake, os serviços de suporte não estão disponíveis para os usuários gerais da conta. Em vez disso, como provedor da conta, você envia as perguntas e solicitações dos usuários na conta e responde conforme apropriado.

Se você não puder responder diretamente às perguntas ou resolver os pedidos/questões, pode abrir um ticket no suporte Snowflake através dos canais normais (conforme descrito em seu contrato de suporte). Uma vez que uma resposta tenha sido dada pelo suporte Snowflake, você comunica as informações aos usuários apropriados na conta de leitor.

Interface da Web para contas de leitor

Se você tem a função ACCOUNTADMIN (ou tem uma função à qual foi concedido o privilégio CREATE ACCOUNT), pode usar a página Account Account tab no Classic Console para realizar as tarefas mais importantes relacionadas à criação e ao gerenciamento de contas de leitor.

Reader accounts page in Classic Console

Nesta página, você pode realizar as seguintes tarefas:

  • Criar uma conta de leitor.

  • Descartar uma conta de leitor.

DDL para contas de leitor

Para permitir a criação e o gerenciamento de contas de leitor, o Snowflake fornece um objeto de primeira classe, MANAGED ACCOUNT, que suporta os seguintes comandos DDL:

Habilitação de outras funções para criar e gerenciar contas de leitor

Por padrão, somente usuários com a função ACCOUNTADMIN podem criar contas de leitor e, portanto, como proprietário da conta, gerenciar as contas. Para oferecer suporte à delegação dessas tarefas a outros usuários, o privilégio global CREATE ACCOUNT pode ser concedido a outras funções (definidas pelo sistema ou personalizadas). Então, os usuários com a função podem criar contas de leitor e realizar todas as tarefas associadas ao gerenciamento das contas criadas usando a função.

Por exemplo, para conceder o privilégio à função SYSADMIN:

USE ROLE ACCOUNTADMIN;

GRANT CREATE ACCOUNT ON ACCOUNT TO ROLE SYSADMIN;
Copy

Criação e gerenciamento de contas de leitor usando SQL

Criação de uma conta de leitor

Para criar uma conta de leitor, use a função ACCOUNTADMIN (ou uma função com o privilégio global CREATE ACCOUNT) e o comando CREATE MANAGED ACCOUNT.

No comando, especifique o identificador da conta e o usuário que servirá como administrador da conta. Por exemplo:

USE ROLE ACCOUNTADMIN;

CREATE MANAGED ACCOUNT reader_acct1
    ADMIN_NAME = user1 , ADMIN_PASSWORD = 'Sdfed43da!44' ,
    TYPE = READER;

+-------------------------------------------------------------------------------+
| status                                                                        |
|-------------------------------------------------------------------------------|
| {"accountName":"RE47190","loginUrl":"https://re47190.snowflakecomputing.com"} |
+-------------------------------------------------------------------------------+
Copy

Nota:

  • O identificador especificado para a conta do leitor (reader_acct1 neste exemplo) não é o nome usado para acessar a conta. O nome da conta, também conhecido como localizador, é gerado pelo Snowflake durante a criação da conta (RE47190 neste exemplo).

  • A conta de leitor utiliza a mesma edição do Snowflake que a conta do provedor e é criada na mesma região.

  • Por padrão, o número total de contas de leitor que um provedor pode criar é 20. Se você atingir o limite e precisar criar contas adicionais, entre em contato com o suporte Snowflake.

Importante

Após criar uma conta de leitor, aguarde até cinco minutos para garantir que a conta esteja totalmente provisionada. Então, você precisa executar as seguintes tarefas adicionais antes que a conta esteja pronta para uso:

  1. Adicione a conta a um ou mais compartilhamentos para que os objetos Snowflake nos compartilhamentos possam ser compartilhados com a conta.

  2. Configure a conta.

Descarte de conta de leitor

Para descartar uma conta de leitor, use o comando DROP MANAGED ACCOUNT. Por exemplo:

USE ROLE ACCOUNTADMIN;

DROP MANAGED ACCOUNT reader_acct1;
Copy

Atenção

Descartar uma conta de leitor descarta todos os objetos criados na conta e restringe imediatamente todo acesso à conta. Isso também remove a conta de seu número total de contas de leitor.

Esta operação não pode ser desfeita. Antes de descartar uma conta de leitor, leve isto em consideração.

Visualização de contas de leitor

Para visualizar todas as contas de leitor que foram criadas para sua conta, use o comando SHOW MANAGED ACCOUNTS. Por exemplo:

USE ROLE ACCOUNTADMIN;

SHOW MANAGED ACCOUNTS;
Copy

Este comando pode ser usado para monitorar o número total de contas de leitor para sua conta. Se o número total atingir o limite (20), talvez seja necessário descartar algumas contas ou contatar o suporte Snowflake para solicitar que o limite seja aumentado.

Além disso, você pode usar as exibições no esquema READER_ACCOUNT_USAGE (no banco de dados compartilhado SNOWFLAKE) para consultar informações sobre as contas de leitor criadas para sua conta. Para obter mais detalhes, consulte Account Usage.