Noções básicas sobre os direitos do proprietário e aplicativos Streamlit in Snowflake

Atenção

Este recurso está disponível para contas nas regiões comerciais do AWS e Microsoft Azure. AWS PrivateLink e Azure Private Link não são suportados.

Neste tópico:

Introdução

O modelo para Streamlit no Snowflake mapeia de perto o modelo de direitos do proprietário em procedimentos armazenados. Isso elimina a necessidade de tokens de conta de serviço e se integra aos recursos de autenticação, controle de acesso e política de redes fornecidos pelo Snowflake.

Sobre os direitos do proprietário em Streamlit in Snowflake

Os aplicativos Streamlit obedecem às seguintes regras dentro de uma sessão:

  • São executados com os privilégios do proprietário, não com os privilégios do chamador.

  • São executados com o warehouse provisionado pelo proprietário do aplicativo.

  • Utilizam o banco de dados e o esquema nos quais o aplicativo Streamlit foi criado no Snowflake, não o banco de dados e o esquema que o chamador está usando atualmente.

Sobre a criação de aplicativos

O privilégio para criar um aplicativo Streamlit é concedido no nível do esquema.

Para criar e editar um aplicativo Streamlit usando Streamlit in Snowflake, você deve usar uma função que tenha o privilégio OWNERSHIP no esquema ou ambos os privilégios a seguir:

  • Concedido no bando de dados que contém o aplicativo Streamlit:

    • USAGE

  • Concedido no esquema que contém o aplicativo Streamlit:

    • USAGE

    • CREATE STREAMLIT

    • CREATE STAGE

Quando um aplicativo Streamlit é criado, ele é executado com a função do usuário que criou o aplicativo originalmente.

Visualização de um aplicativo

O proprietário do aplicativo pode escolher quais funções têm permissão para usar o aplicativo.

  • Os visualizadores podem interagir com o aplicativo e ver qualquer coisa exibida na tela.

  • Todos os privilégios da função de proprietário do aplicativo podem ser usados pelo aplicativo quando compartilhados com outras funções, independentemente de o privilégio ter WITH GRANT ativado.

Restrições aos direitos do proprietário

Como os aplicativos são executados com direitos de proprietário, eles têm diversas restrições adicionais. Essas restrições afetam o seguinte:

  • As funções internas que podem ser chamadas de dentro de um procedimento armazenado não estão disponíveis quando um procedimento armazenado é chamado em um aplicativo Streamlit.

  • A capacidade de executar instruções ALTER USER.

  • Os tipos de instruções SQL que podem ser chamadas de dentro de um procedimento armazenado.

  • Alguns comandos DESCRIBE.

Para obter mais informações, consulte Additional Restrictions on Owner’s Rights Stored Procedures.

Direitos do proprietário e segurança do aplicativo

Os aplicativos Streamlit executados em Streamlit in Snowflake são executados com direitos de proprietário e seguem o mesmo modelo de segurança de outros objetos Snowflake executados com direitos de proprietário.

Embora o Snowflake forneça recursos de segurança como autenticação, controle de acesso baseado em função e controles administrativos, a responsabilidade pela segurança dos aplicativos é compartilhada com os criados e proprietários do aplicativo.

Uma ou mais funções podem possuir um aplicativo Streamlit. Antes de conceder uma função que possui um aplicativo Streamlit a outro usuário, Snowflake recomenda que você revise os privilégios concedidos ou herdados por essa função por esse motivo.

Tenha cuidado, por exemplo, ao conceder uma função com privilégios de gravação a outro usuário do Snowflake. Os privilégios de gravação permitem que o usuário modifique o aplicativo Streamlit.

Em geral, Snowflake recomenda o uso de controle de acesso baseado em funções e funções dedicadas para criar e visualizar aplicativos Streamlit. Além disso, você deve seguir práticas de segurança apropriadas ao desenvolver aplicativos Streamlit dentro do Snowflake e realizar auditorias de segurança regulares dos aplicativos Streamlit em sua conta.