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.