Criação de usuários e concessão de funções

Introdução

Este tutorial mostra como criar um usuário e conceder uma função a ele usando comandos SQL. Você usa um modelo de planilha em Snowsight para acompanhar e concluir essas tarefas.

Nota

A Snowflake fatura uma quantidade mínima para o armazenamento em disco utilizado para os dados das amostras neste tutorial. Este tutorial fornece passos para descartar um banco de dados e minimizar o custo de armazenamento.

O Snowflake requer um warehouse virtual para carregar os dados e executar consultas. Um warehouse virtual em execução consome créditos do Snowflake. Neste tutorial, você usará uma conta de avaliação de 30 dias, que fornece créditos gratuitos, portanto você não terá custos.

O que você aprenderá

Neste tutorial você aprenderá a:

  • Use uma função que tenha privilégios para criar e usar os objetos Snowflake exigidos por este tutorial.

  • Crie um usuário.

  • Conceda uma função ao usuário e conceda acesso a um warehouse.

  • Explore os usuários e as funções da sua conta.

  • Descarte o usuário que você criou.

Pré-requisitos

Este tutorial considera o seguinte:

Nota

Este tutorial está disponível apenas para usuários com conta de avaliação. A planilha de exemplo não está disponível para outros tipos de contas.

Etapa 1. Faça login usando Snowsight

Para acessar a Snowsight pela internet pública, faça o seguinte:

  1. Em um navegador da Web compatível, abra https://app.snowflake.com.

  2. Forneça seu identificador de conta ou URL de conta. Se você tiver feito login anteriormente na Snowsight, poderá ver um nome de conta que pode ser selecionado.

  3. Faça login usando as credenciais de sua conta Snowflake.

Etapa 2. Abra a planilha [Template]

Você pode usar planilhas para escrever e executar comandos SQL em seu banco de dados. Sua conta de avaliação tem acesso a um modelo de planilha pré-carregado para este tutorial. A planilha contém os comandos SQL que você executará para definir o contexto da função, criar um usuário e conceder privilégios de função. Por se tratar de uma planilha modelo, você será convidado a inserir seus próprios valores para determinados parâmetros SQL.

Para obter mais informações sobre planilhas, consulte Introdução a planilhas.

Para abrir a planilha:

  1. Selecione Projects » Worksheets para abrir a lista de planilhas.

  2. Abra [Template] Adding a user and granting roles.

    Seu navegador deve ser semelhante à imagem a seguir.

Planilha de usuários SQL, que contém os comandos SQL para este tutorial, juntamente com comentários descritivos.

Etapa 3. Defina a função a ser usada

A função que você usa determina os privilégios que você tem. Neste tutorial, use a função de sistema USERADMIN para poder criar e gerenciar usuários e funções em sua conta. Para obter mais informações, consulte Visão geral do controle de acesso.

Para definir a função a ser usada, faça o seguinte:

  1. Na planilha aberta, coloque o cursor na linha USE ROLE.

    USE ROLE USERADMIN;
    
    Copy
  2. No canto superior direito da planilha, selecione Run.

    Nota

    Neste tutorial, execute instruções SQL, uma de cada vez. Não selecione Run All.

Etapa 4. Crie um usuário

Um usuário do Snowflake possui credenciais de login. Quando uma função é concedida a um usuário, ele pode realizar todas as operações que a função permite, por meio dos privilégios que foram concedidos à função. Para obter mais informações, consulte Gerenciamento de usuários.

Nesta etapa do tutorial, você cria um usuário com um nome, uma senha e algumas outras propriedades.

Na planilha aberta, coloque o cursor na linha CREATE USER, insira um nome de usuário e outros valores de parâmetro de sua escolha (um exemplo é mostrado abaixo) e selecione Run.

Para MUST_CHANGE_PASSWORD, defina o valor como true, o que garante que uma redefinição de senha seja solicitada no primeiro login. Para DEFAULT_WAREHOUSE, use COMPUTE_WH:

CREATE OR REPLACE USER snowman
PASSWORD = 'sn0wf@ll'
LOGIN_NAME = 'snowstorm'
FIRST_NAME = 'Snow'
LAST_NAME = 'Storm'
EMAIL = 'snow.storm@snowflake.com'
MUST_CHANGE_PASSWORD = true
DEFAULT_WAREHOUSE = COMPUTE_WH;
Copy

Este comando retorna a seguinte saída:

User SNOWMAN successfully created.

Se você estivesse criando um usuário real em uma conta real Snowflake, agora enviaria as seguintes informações de maneira segura para a pessoa que precisaria acessar essa nova conta:

  • URL da conta Snowflake: o link da conta Snowflake onde o usuário fará login. Você pode encontrar este link na parte superior do seu navegador (por exemplo: https://app.snowflake.com/myorg/myaccount/, onde myorg é o ID da organização Snowflake e myaccount é o ID da conta).

  • LOGIN_NAME, conforme especificado no comando CREATE USER.

  • PASSWORD, conforme especificado no comando CREATE USER.

Etapa 5. Conceda uma função de sistema e acesso ao warehouse ao usuário

Agora que você criou um usuário, você pode usar a função SECURITYADMIN para conceder a função SYSADMIN ao usuário, bem como conceder USAGE no warehouse COMPUTE_WH.

A concessão de uma função a outra cria uma relação pai-filho entre as funções (também referida como hierarquia de funções). A concessão de uma função a um usuário permite ao usuário realizar todas as operações permitidas pela função (por meio dos privilégios de acesso concedidos à função).

A função SYSADMIN tem privilégios para criar warehouses, bancos de dados e objetos de banco de dados em uma conta e conceder esses privilégios a outras funções. Conceda esta função apenas a usuários que devam ter esses privilégios. Para obter informações sobre outras funções definidas pelo sistema, consulte Visão geral do controle de acesso.

Para conceder ao usuário acesso a uma função e a um warehouse, faça o seguinte:

  1. Na planilha aberta, coloque o cursor na linha USE ROLE e selecione Run.

    USE ROLE SECURITYADMIN;
    
    Copy
  2. Coloque o cursor na linha GRANT ROLE, insira o nome do usuário que você criou e selecione Run.

    GRANT ROLE SYSADMIN TO USER snowman;
    
    Copy
  3. Coloque o cursor na linha GRANT USAGE e selecione Run.

    GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE SYSADMIN;
    
    Copy

Etapa 6. Explore os usuários e funções em sua conta

Agora você pode explorar todos os usuários e funções da sua conta usando a função ACCOUNTADMIN.

Para explorar usuários e funções, faça o seguinte:

  1. Na planilha aberta, coloque o cursor na linha USE ROLE e selecione Run.

    USE ROLE ACCOUNTADMIN;
    
    Copy
  2. Coloque o cursor na linha SHOW USERS e selecione Run.

    SHOW USERS;
    
    Copy

    Seu resultado é semelhante à imagem a seguir.

    Mostre todos os usuários da conta. Saída da tabela com as seguintes colunas: name, created_on, login_name, display_name, first_name.
  3. Coloque o cursor na linha SHOW ROLES e selecione Run.

    SHOW ROLES;
    
    Copy

    Seu resultado é semelhante à imagem a seguir.

    Mostre todas as funções na conta. Saída da tabela com as seguintes colunas: created_on, name, is_default, is_current, is_inherited.

Etapa 7. Descarte o usuário e revise os pontos principais

Parabéns! Você concluiu com êxito este tutorial para contas de avaliação. Reserve alguns minutos para revisar os pontos principais que foram abordados. Saiba mais revisando outros tópicos na documentação do Snowflake.

Descarte do usuário

Supondo que não seja mais necessário, agora você pode descartar o usuário que criou.

Na planilha aberta, coloque o cursor na linha DROP USER, insira o nome do usuário que você criou e selecione Run.

DROP USER snowman;
Copy

Revisão dos pontos principais

Em resumo, você usou uma planilha pré-carregada na Snowsight para concluir as seguintes etapas:

  1. Defina a função a ser usada.

  2. Crie um novo usuário.

  3. Conceda privilégios de função de usuário e acesso a um warehouse.

  4. Explore os usuários e funções na conta.

  5. Descarte o usuário que você criou.

Aqui estão alguns pontos importantes a serem lembrados sobre usuários e funções:

  • Você precisa das permissões necessárias para criar e gerenciar objetos na sua conta. Neste tutorial, você usou as funções de sistema USERADMIN, SECURITYADMIN, SYSADMIN e ACCOUNTADMIN para finalidades diferentes.

  • A função ACCOUNTADMIN normalmente não é usada para criar objetos. Em vez disso, recomendamos a criação de uma hierarquia de funções alinhadas com as funções de negócios em sua organização. Para obter mais informações, consulte Uso da função ACCOUNTADMIN.

  • Um warehouse fornece os recursos de computação necessários para executar operações DML, carregar dados e executar consultas. Este tutorial usa o warehouse compute_wh incluído em sua conta de avaliação.

Qual é o próximo passo?

Continue aprendendo sobre o Snowflake com os seguintes recursos: