Execução da verificação de segurança automatizada

Este tópico descreve como iniciar a verificação de segurança automatizada e exibir o status atual.

Fluxo de trabalho de verificação de segurança

O diagrama a seguir mostra como a verificação de segurança se encaixa no fluxo de trabalho para desenvolver e publicar um Snowflake Native App:

../../_images/security-scan-overview.png

Este fluxo de trabalho inclui as seguintes etapas:

  1. Criar um pacote de aplicativo.

  2. Atualize o código do aplicativo e os arquivos relacionados.

    Antes de executar a verificação de segurança automatizada, certifique-se de que o aplicativo esteja em conformidade com os requisitos de segurança e as práticas recomendadas descritas em Requisitos de segurança e melhores práticas para um Snowflake Native App. Se o aplicativo for um Snowflake Native App with Snowpark Container Services, revise os requisitos de segurança adicionais descritos em Como proteger um Snowflake Native App with Snowpark Container Services.

  3. Adicione uma versão ou patch ao pacote de aplicativo.

  4. Execute a verificação de segurança automatizada. A verificação de segurança automatizada começa quando o provedor realiza uma das seguintes ações:

    • Adiciona uma nova versão ou patch ao pacote de aplicativo quando a propriedade DISTRIBUTION é definida como EXTERNAL. A nova versão é verificada automaticamente.

    • Define a propriedade DISTRIBUTION como “EXTERNAL” em um pacote de aplicativo que já tem uma versão definida. As dez versões mais recentes do pacote de aplicativo são verificadas automaticamente. Todos os patches para essas versões também são verificados.

  5. Aguarde os resultados da verificação.

    Se a verificação for aprovada, o provedor pode continuar com o processo de publicação do aplicativo.

    Se a verificação for rejeitada, o provedor deverá atualizar o código do aplicativo com base nos resultados da verificação. Alternativamente, o provedor pode apelar da rejeição.

  6. Crie ou modifique a diretiva de lançamento do aplicativo.

  7. Crie uma listagem para o aplicativo.

  8. Envie a listagem para a Snowflake aprovar.

    Se a listagem for aprovada, o provedor poderá publicar a listagem no Snowflake Marketplace.

    Se a listagem for rejeitada, o provedor deverá atualizar a listagem e reenviá-la para aprovação.

  9. Publicar a listagem.

Defina a propriedade DISTRIBUTION para um pacote de aplicativo

A propriedade DISTRIBUTION de um pacote de aplicativo indica o tipo de listagem que um provedor pode criar ao usar o pacote de aplicativo como o produto de dados de uma listagem. Esta propriedade tem os seguintes valores:

  • INTERNAL indica que um provedor só pode criar uma listagem privada dentro da mesma organização onde o pacote de aplicativo foi criado. A verificação de segurança automatizada não é executada quando a propriedade DISTRIBUTION está definida como INTERNAL.

  • EXTERNAL indica que um provedor pode criar listagens fora da mesma organização onde o pacote de aplicativo foi criado. Isso inclui o seguinte:

    • Listagens privadas fora da organização do provedor.

    • Listagens públicas.

    • Listagens do marketplace.

Um provedor pode definir a propriedade DISTRIBUTION ao criar o pacote de aplicativo ou posteriormente.

Para definir a propriedade DISTRIBUTION ao criar um pacote de aplicativo, execute CREATE APPLICATION PACKAGE conforme mostrado no exemplo a seguir:

CREATE APPLICATION PACKAGE hello_snowflake_package
  DISTRIBUTION = EXTERNAL;
Copy

Quando um provedor define a propriedade DISTRIBUTION ao criar o pacote de aplicativo, quaisquer versões ou patches adicionados ao pacote do aplicativo posteriormente são verificados imediatamente.

Para definir a propriedade DISTRIBUTION de um pacote de aplicativo existente, execute ALTER APPLICATION PACKAGE conforme mostrado no exemplo a seguir:

ALTER APPLICATION PACKAGE hello_snowflake_package
  SET DISTRIBUTION = EXTERNAL;
Copy

Quando um provedor define a propriedade DISTRIBUTION para um pacote de aplicativo existente, a verificação de segurança automatizada é executada automaticamente nas dez versões mais recentes do aplicativo. Todos os patches para essas versões também são verificados.

Visualização do status da verificação de segurança automatizada

Para exibir o status da verificação de segurança automatizada, execute o comando SHOW VERSIONS conforme mostrado no exemplo a seguir:

SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Copy

A coluna review_status exibe o status da verificação de revisão automatizada. Os valores possíveis são:

  • NOT_REVIEWED indica que a verificação de segurança automatizada não foi executada neste pacote de aplicativo.

  • IN_PROGRESS indica que a verificação de segurança automatizada está em andamento.

  • APPROVED indica que a verificação de segurança automatizada foi concluída e o pacote de aplicativo foi aprovado. O provedor pode definir a diretiva de lançamento para o pacote do aplicativo.

  • REJECTED indica que a verificação de segurança automatizada foi concluída, mas o pacote de aplicativo não foi aprovado.

Nota

Quando uma verificação de segurança automatizada falha, o Snowflake revisa manualmente o pacote do aplicativo. Após a conclusão da revisão manual, o status é atualizado para APPROVED ou REJECTED.

Apelação de uma rejeição

Se vulnerabilidades críticas ou violações de política forem encontradas após a Snowflake realizar uma revisão manual, o pacote de aplicativo será rejeitado e o provedor será notificado por e-mail.

Um provedor pode apelar da rejeição abrindo um tíquete de suporte de gravidade 4. Ao apelar de uma rejeição baseada em CVE, os provedores devem enviar a documentação detalhada explicando o seguinte:

  • Por que a CVE não é explorável no aplicativo

  • Relatório de análise de acessibilidade, se disponível

  • Um plano para atualizar para a versão corrigida

  • Se não houver planos para uma atualização, uma explicação detalhada do motivo pelo qual uma versão vulnerável não pode ser atualizada

A equipe de segurança da Snowflake analisa e emite decisões para todas as apelações.

Para obter informações adicionais sobre o processo de apelação, consulte Como apelar de uma revisão de segurança com falha.

Monitoramento e correção de segurança contínuos

Depois que um aplicativo é aprovado e publicado no Snowflake Marketplace, ele passa por monitoramento de segurança contínuo para garantir segurança e conformidade contínuas. Isso inclui:

  • Análise periódica de segurança de imagem para detectar novas vulnerabilidades ou violações de política.

  • Se forem descobertos problemas, o provedor será notificado e terá 30 dias úteis para corrigir o aplicativo ou poderá solicitação uma exceção em até 15 dias.

Se nenhuma ação for tomada após 30 dias, o aplicativo poderá ser retirado do mercado.