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 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;
- 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:
IMPORTED PRIVILEGES em cada banco de dados criado a partir de compartilhamentos em Tarefa 6: crie um banco de dados a partir de cada compartilhamento com a conta (neste tópico).
Por exemplo, os seguintes comandos concedem os privilégios necessários para dois bancos de dados chamados
shared_db1
eshared_db2
, e um warehouse chamadotesting_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;
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;
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;
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;
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.