Configuração de uma conta de leitor

Uma conta de leitor recém-criada contém apenas um único usuário, que serve como administrador para toda a conta.

Para fazer o “bootstrap” (ou seja, configurar) da conta, o administrador da conta deve criar um conjunto mínimo de objetos adicionais nela, incluindo usuários, funções personalizadas (se desejado), warehouses virtuais e um ou mais bancos de dados compartilhados (para os dados compartilhados pela conta do provedor).

Este tópico fornece uma visão geral de todas essas tarefas de configuração, tanto as obrigatórias quanto as opcionais.

Nota

As tarefas 2 a 4 devem ser concluídas como administrador de conta. Todas as tarefas restantes podem ser delegadas a outros usuários.

Além disso, todas estas tarefas devem ser realizadas na conta do leitor, ao contrário da conta do provedor.

Neste tópico:

Tarefa 1: faça login na conta de leitor como administrador de conta

Faça login na conta de leitor usando qualquer uma das interfaces com suporte (por exemplo, SnowSQL ou a interface da Web).

As instruções neste tópico consideram que você está usando SQL para realizar estas tarefas, seja no SnowSQL ou usando uma planilha (na interface da Web). Entretanto, as tarefas podem ser realizadas em qualquer interface Snowflake com suporte.

Dica

Lembre-se de definir ACCOUNTADMIN como a função a ser usada. Você pode definir esta função durante o login ou posteriormente na sessão ativa.

Se você estiver usando uma planilha (na interface da Web) para realizar estas tarefas, defina a função no contexto da planilha.

Tarefa 2: crie funções personalizadas (opcional)

Funções possibilitam um controle detalhado sobre as tarefas que os usuários na conta de leitor podem realizar. Você pode usar funções para:

  • Especificar os usuários que podem consultar os dados compartilhados com a conta.

  • Conceder controle sobre warehouses virtuais a usuários selecionados.

  • Delegar algumas tarefas e responsabilidades de administrador a usuários selecionados (se desejado).

Cada conta de leitor vem com as funções padrão, definidas pelo sistema (SYSADMIN, SECURITYADMIN, PUBLIC). Se estas funções não atenderem aos requisitos de acesso para os usuários que você criará na conta, você pode criar funções personalizadas adicionais.

Para obter mais detalhes, consulte Visão geral do controle de acesso.

Tarefa 3: crie usuários

Crie os usuários que farão login na conta do leitor e consultarão os dados compartilhados com a conta, assim como realizarão quaisquer outras tarefas que você escolher permitir.

Como parte do processo de criação do usuário, lembre-se de conceder funções, definidos pelo sistema ou personalizadas (se você criou alguma), para os usuários. Os funções que você atribui aos usuários determinam o que eles podem fazer na conta.

Para obter mais detalhes, consulte CREATE USER e GRANT ROLE.

Dica

Todas as tarefas restantes neste tópico podem ser completadas pelo administrador de conta ou podem ser delegadas (através de privilégios e funções) a outros usuários da conta.

No mínimo, nós recomendamos:

  • Conceder a função SECURITYADMIN a pelo menos um outro usuário para que ele possa ajudar a criar e gerenciar outros usuários e o acesso a objetos na conta.

  • Conceder a função SYSADMIN a pelo menos um outro usuário para que ele possa ajudar a criar e gerenciar outros objetos na conta (por exemplo, warehouses virtuais).

Tarefa 4: crie monitores de recursos (opcional)

Warehouses virtuais são necessários para consultar os dados compartilhados com a conta do leitor. Quando em funcionamento, os warehouses virtuais consomem créditos, que serão debitados em sua conta de provedor.

Se você deseja controlar a quantidade de créditos consumidos mensalmente pelos warehouses virtuais na conta de leitor, crie um ou mais monitores de recursos e especifique se eles controlam:

  • Todos os warehouses da conta.

  • Warehouses individuais.

Para obter mais detalhes, consulte CREATE RESOURCE MONITOR.

Atenção

Se você optar por pular esta tarefa, os warehouses na 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.

Tarefa 5: crie warehouses virtuais

Para permitir a consulta dos objetos no banco de dados compartilhado, você deve criar pelo menos um warehouse virtual. Você pode criar quantos warehouses quiser ou precisar; entretanto, lembre-se que sua conta de provedor é responsável por todos os créditos consumidos pelos warehouses na conta de leitor e considere o seguinte:

  • Defina o tamanho do warehouse adequadamente, pesando o desempenho de consulta desejado em relação ao consumo de crédito desejado.

  • Certifique-se de que o warehouse esteja configurado para suspensão automática quando não estiver em uso.

Para obter mais detalhes, consulte CREATE WAREHOUSE.

Tarefa 6: crie um banco de dados a partir de cada compartilhamento com a conta

Uma conta de leitor não contém nenhum dado por padrão. Para consumir dados compartilhados de sua conta de provedor, você deve usar o comando CREATE DATABASE para criar um banco de dados a partir de cada compartilhamento com a conta. Quando você cria os bancos de dados, especifica o nome que outros usuários na conta de leitor irão referenciar ao consultar os dados compartilhados.

Por exemplo, se sua conta de provedor for denominada ab12345 e você compartilhar share1 e share2 com esta conta de leitor:

CREATE DATABASE shared_db1 FROM SHARE ab12345.share1;

CREATE DATABASE shared_db2 FROM SHARE ab12345.share2;
Copy

Tarefa 7: conceda privilégios de warehouses virtuais e bancos de dados para funções

Os provedores de dados podem optar por adicionar objetos a um compartilhamento ao conceder privilégios nos objetos a um compartilhamento por meio de uma função de banco de dados, e depois concedendo a função de banco de dados a uma ação (Opção 1) ou concedendo privilégios sobre os objetos diretamente à ação (Opção 2). As instruções nesta seção diferem de acordo com a opção escolhida por um provedor de banco de dados:

Opção 1

Para permitir a consulta de dados compartilhados com a conta do leitor, conceda uma função de banco de dados no compartilhamento que se alinhe com uma função de negócios em sua conta com a função apropriado em sua conta. Por exemplo, suponha que o compartilhamento inclua uma função de banco de dados chamada shared_db1.dr1 que você queira compartilhar com cada usuário em sua conta. Neste caso, você concederia a função de banco de dados à função do sistema PUBLIC:

GRANT DATABASE ROLE shared_db1.dr1 TO ROLE PUBLIC;
Copy
Opção 2

Para permitir a consulta dos dados compartilhados com a conta de leitor, conceda os seguintes privilégios a outras funções, definidas pelo sistema ou personalizadas (se houver), na conta:

Por exemplo, os seguintes comandos concedem os privilégios necessários para dois bancos de dados chamados shared_db1 e shared_db2, e um warehouse chamado testing_vw, para a função PUBLIC. Como todos os usuários da conta têm automaticamente a função PUBLIC, isto permite que qualquer usuário da conta possa usar o warehouse e consultar os bancos de dados:

GRANT IMPORTED PRIVILEGES ON DATABASE shared_db1 TO ROLE PUBLIC;

GRANT IMPORTED PRIVILEGES ON DATABASE shared_db2 TO ROLE PUBLIC;
Copy

Além disso, conceda o privilégio USAGE em um warehouse virtual que você criou para executar consultas:

GRANT USAGE ON WAREHOUSE testing_vw TO ROLE PUBLIC;
Copy

Você pode conceder privilégios adicionais se desejar; entretanto, os privilégios listados acima são os privilégios mínimos necessários para consultar os bancos de dados compartilhados na conta.

Além disso, você pode conceder plenos privilégios no warehouse testing_vw para a função SYSADMIN, permitindo aos usuários com essa função iniciar, parar e redimensionar o warehouse:

GRANT ALL ON WAREHOUSE testing_vs TO ROLE SYSADMIN;
Copy

Para obter mais detalhes, consulte GRANT <privilégios>.

Tarefa 8: convide usuários para fazer login e redefinir senhas

Como última tarefa de configuração, notifique a todos os usuários que você criou que a conta está disponível para uso.

A maneira mais rápida e fácil de fazer isso é usar o comando ALTER USER para redefinir a senha para cada usuário. Isto gera uma URL única para cada usuário, que você então envia a ele. Ele usa a URL para alterar a senha e entrar na conta.

Por exemplo:

ALTER USER ra_user1 RESET PASSWORD;

ALTER USER ra_user2 RESET PASSWORD;
Copy

Importante

Cada URL só pode ser usada uma vez e expira após 4 horas. Entretanto, você pode redefinir a senha para um usuário quantas vezes for necessário.

Para obter mais detalhes, consulte ALTER USER.