Prepare-se para executar o coletor do Snowflake

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 3 min. de leitura
  • Configure a autenticação e conceda permissões de função para habilitar a coleta de metadados do Snowflake.

    Antes de Iniciar

    Função necessária: ACCOUNTADMIN

    Você deve ter uma função ACCOUNTADMIN no Snowflake para conceder permissões.

    Por Que e Quando Desempenhar Esta Tarefa

    O coletor é compatível com autenticação de nome de usuário e par de chaves. Para obter detalhes, consulte Documentação do Snowflake .

    O Snowflake determina a autorização com base em funções. Uma função deve ser especificada ao se conectar ao Snowflake. A função ACCOUNTADMIN é necessária para coletar o intervalo completo de metadados. Outras funções fornecem acesso somente a metadados básicos, sem metadados estendidos ou informações de linhagem. Ao usar uma função diferente de ACCOUNTADMIN, conceda as permissões específicas da função descritas nesta tarefa.

    Alguns recursos do coletor exigem a execução de consultas no Snowflake, o que requer um depósito. Se as credenciais do usuário tiverem um depósito padrão configurado, nenhuma configuração de depósito adicional será necessária. Para usar um depósito diferente, ou se nenhum depósito padrão estiver definido, especifique o depósito usando a opção de configuração Armazém do Snowflake.

    Procedimento

    1. Crie uma função e conceda permissões de depósito.
      CREATE OR REPLACE ROLE DDW_ACCOUNT_ROLE;
                              GRANT OPERATE, USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
    2. Conceda permissões para habilitar a coleta de metadados para banco de dados, esquema, tabelas e exibições.
      GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
      Nota:
      Se você não planeja usar as opções Habilitar coleta de valores de cadeia de caracteres de amostra e Habilitar coleta de estatísticas de coluna, conceda a permissão de REFERÊNCIAS em vez de SELECIONAR:
      GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
    3. Conceda permissões para colher o seguinte: Linhagem baseada em dependência de objeto, funções definidas pelo usuário, funções de métrica de dados, procedimentos armazenados, marcadores e valores de marcador, políticas de acesso à linha, políticas de mascaramento e uso de tabela.
      Importante:
      Você precisa da função ACCOUNTADMIN para conceder essas permissões.

      Há duas opções para atribuir essas permissões:

      • Opção 1: Use a função ACCOUNTADMIN para conceder amplos privilégios importados em todos os bancos de dados:

        USE ROLE ACCOUNTADMIN;
                                    GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE DDW_ACCOUNT_ROLE;
      • Opção 2: Atribuir funções de banco de dados específicas para alocação de permissão direcionada:

        USE ROLE ACCOUNTADMIN;
                                    USE DATABASE SNOWFLAKE;
                                    GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE DDW_ACCOUNT_ROLE;
                                    GRANT DATABASE ROLE GOVERNANCE_VIEWER TO ROLE DDW_ACCOUNT_ROLE;

        Para obter mais informações sobre essas funções de banco de dados, consulte Documentação do Snowflake .

    4. Opcional: Conceda permissões para apps Streamlit.

      Essas permissões só são necessárias se você quiser colher metadados de apps do Streamlit:

      GRANT USAGE ON STREAMLIT <streamlit_app_name> TO ROLE DDW_ACCOUNT_ROLE;
    5. Crie um usuário do Snowflake dedicado para o coletor.

      Para criar autenticação de par de chaves para este usuário, você precisa de um mínimo de função SECURITYADMIN para alterar as configurações do usuário. Consulte Documentação do Snowflake .

      CREATE USER DDW_ACCOUNT
                              RSA_PUBLIC_KEY = '<rsa_public_key>'
                              TYPE = SERVICE
                              DEFAULT_ROLE = DDW_ACCOUNT_ROLE
                              DEFAULT_WAREHOUSE = '<warehouse_name>'
                              DISPLAY_NAME = 'data.world';
                              
                              GRANT ROLE DDW_ACCOUNT_ROLE TO USER DDW_ACCOUNT;
    6. Conceda ao usuário acesso ao depósito.
      GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
    7. Verifique se as permissões apropriadas foram concedidas.

      Execute a seguinte consulta:

      SHOW GRANTS TO ROLE DDW_ACCOUNT_ROLE;