Proteção da propriedade intelectual do provedor¶
Este tópico descreve como o Snowflake Native App Framework protege os dados do provedor censurando ou removendo informações sobre objetos compartilhados por um Snowflake Native App.
Sobre a proteção da propriedade intelectual no Snowflake Native App Framework¶
Quando um consumidor instala um Snowflake Native App, ele não tem permissão para visualizar os objetos dentro do objeto de aplicativo, a menos que um provedor conceda permissões nos objetos usando funções de aplicativo.
Em geral, quando um consumidor consulta metadados de objeto usando um esquema, exibição ou usa Snowsight para visualizar o Query Profile ou Query History para essas consultas, o Snowflake Native App Framework censura informações sobre os objetos dentro do objeto do aplicativo.
Informações censuradas do perfil de consulta¶
O Snowflake Native App Framework censura as informações do perfil de consulta nos seguintes contextos:
Consultas executadas quando o aplicativo é instalado ou atualizado.
Consultas originadas de um procedimento armazenado de propriedade do aplicativo.
Consultas contendo uma exibição ou função não segura de propriedade do aplicativo.
Para cada um desses tipos de consultas, Snowsight recolhe os dados do perfil de consulta em um único nó vazio em vez de exibir a árvore completa do perfil de consulta.
Informações censuradas do histórico de consultas¶
Para consultas relacionadas a Snowflake Native App, os campos query_text
e error_message
são censurados do histórico de consultas nos seguintes contextos:
As consultas são executadas quando o aplicativo é instalado ou atualizado.
Consultas originadas de um trabalho filho de um procedimento armazenado de propriedade do aplicativo.
Em cada uma dessas situações, a célula do histórico de consultas em Snowsight aparece em branco.
Informações censuradas de comandos e exibições SQL¶
Quando um consumidor usa o comando SHOW ou DESCRIBE para visualizar informações sobre o objeto do aplicativo ou os objetos pertencentes ao aplicativo, as informações sobre os detalhes da implementação são censuradas. Por exemplo, as definições de função e o corpo da função são censurados da saída desses comandos.
As informações sobre detalhes de implementação são censuradas da exibição ACCESS_HISTORY nos seguintes contextos:
Consultas geradas quando o aplicativo é instalado ou atualizado.
Consultas geradas por procedimentos armazenados e funções definidas pelo usuário pertencentes ao aplicativo.
Além disso, para exibições pertencentes ao aplicativo, as informações sobre a tabela base são editadas.
Funções de contexto bloqueadas¶
Para proteger informações relacionadas a objetos dentro de um objeto de aplicativo, o Snowflake Native App Framework bloqueia as seguintes funções de contexto:
Função de contexto |
Bloqueado em conteúdo compartilhado (retorna nulo) |
Bloqueado em scripts de configuração e procedimento armazenado e UDFs de propriedade do Snowflake Native App (lança uma exceção). |
---|---|---|
CURRENT_ROLE |
✔ |
|
CURRENT_ROLE_TYPE |
✔ |
|
CURRENT_USER |
✔ |
|
IS_ROLE_IN_SESSION |
✔ |
|
CURRENT_IP_ADDRESS |
✔ |
✔ |
CURRENT_AVAILABLE_ROLES |
✔ |
✔ |
CURRENT_SECONDARY_ROLES |
✔ |
✔ |
ALL_USER_NAMES |
✔ |
|
GET_USERS_FOR_COLLABORATION |
✔ |
|
CURRENT_WAREHOUSE |
✔ |
|
SYSTEM$ALLOWLIST |
✔ |