Comprendre les droits du propriétaire et les applications Streamlit in Snowflake¶
Attention
This feature is available to accounts in AWS and Microsoft Azure commercial regions. AWS PrivateLink and Azure Private Link are not supported.
Dans ce chapitre :
Introduction¶
Le modèle de Streamlit dans Snowflake est étroitement lié au modèle des droits du propriétaire dans les procédures stockées. Cela élimine le besoin de jetons de compte de service et s’intègre aux fonctions d’authentification, de contrôle d’accès et de politique réseau fournies par Snowflake.
Concernant les droits du propriétaire dans Streamlit in Snowflake¶
Les applications Streamlit respectent les règles suivantes au sein d’une session :
Exécuter avec les privilèges du propriétaire, pas les privilèges de l’appelant.
Effectuer une exécution avec l’entrepôt fourni par le propriétaire de l’application.
Utiliser la base de données et le schéma dans lesquels l’application Streamlit dans Snowflake est créée, et non la base de données et le schéma actuellement utilisés par l’appelant.
À propos de la création d’applications¶
Le privilège de créer une application Streamlit est accordé au niveau du schéma.
Pour créer et modifier une application Streamlit en utilisant Streamlit in Snowflake, vous devez utiliser un rôle qui possède soit le privilège OWNERSHIP sur le schéma, soit les deux privilèges suivants :
Accordé(s) sur la base de données qui contient l’application Streamlit :
USAGE
Accordé(s) sur le schéma qui contient l’application Streamlit :
USAGE
CREATE STREAMLIT
CREATE STAGE
Lorsqu’une application Streamlit est créée, elle s’exécute avec le rôle de l’utilisateur qui a créé l’application à l’origine.
Visualisation d’une application¶
Le propriétaire de l’application peut choisir les rôles autorisés à utiliser l’application.
Les spectateurs peuvent interagir avec l’application et voir tout ce qui s’affiche à l’écran.
Tous les privilèges du rôle propriétaire de l’application peuvent être utilisés par l’application lorsqu’ils sont partagés avec d’autres rôles, que le privilège ait ou non WITH GRANT activé.
Restrictions des droits du propriétaire¶
Les applications fonctionnant avec les droits du propriétaire, elles sont soumises à plusieurs restrictions supplémentaires. Ces restrictions concernent les éléments suivants :
Les fonctions intégrées qui peuvent être appelées à l’intérieur d’une procédure stockée ne sont pas disponibles lorsqu’une procédure stockée est appelée dans une application Streamlit.
Les types d’instructions SQL qui peuvent être appelées à l’intérieur d’une procédure stockée.
Certaines commandes DESCRIBE.
Pour plus d’informations, voir Additional Restrictions on Owner’s Rights Stored Procedures.
Droits des propriétaires et sécurité des applications¶
Streamlit apps running in Streamlit in Snowflake run with owners rights and follow the same security model as other Snowflake objects that run with owner’s rights.
Bien que Snowflake offre des fonctions de sécurité telles que l’authentification, le contrôle d’accès basé sur les rôles et les contrôles administratifs, la responsabilité de la sécurité des applications est partagée avec les créateurs et propriétaires d’applications.
One or more roles can own a Streamlit app. Before you grant a role that owns a Streamlit app to another user, Snowflake recommends that you review the privileges granted to or inherited by that role for this reason.
Soyez prudent, par exemple, lorsque vous accordez un rôle avec des privilèges d’écriture à un autre utilisateur Snowflake. Les privilèges d’écriture permettent à l’utilisateur de modifier l’application Streamlit.
En général, Snowflake recommande d’utiliser un contrôle d’accès basé sur les rôles et des rôles dédiés pour la création et l’affichage des applications Streamlit. En outre, il est recommandé de suivre des pratiques de sécurité appropriées lorsque vous développez des applications Streamlit dans Snowflake et d’effectuer des audits de sécurité réguliers des applications Streamlit de votre compte.