Comprendre les droits du propriétaire et les applications Streamlit in Snowflake

Attention

Cette fonctionnalité est disponible pour les comptes des régions commerciales AWS et Microsoft Azure. La région AWS PrivateLink n’est pas prise en charge.

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. Seuls les utilisateurs disposant du privilège OWNER sur le schéma peuvent créer une application Streamlit dans ce schéma. 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.

  • ALTER USER.

  • Les types d’instructions SQL qui peuvent être appelées à l’intérieur d’une procédure stockée.

  • Certaines commandes DESCRIBE.

Droits des propriétaires et sécurité des applications

Les applications Streamlit exécutées dans Streamlit in Snowflake s’exécutent avec les droits du propriétaire et suivent le même modèle de sécurité que les autres objets Snowflake qui s’exécutent avec les droits du propriétaire.

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.

Un ou plusieurs rôles peuvent être propriétaires d’une application Streamlit. Avant d’accorder à un autre utilisateur un rôle de propriétaire d’une application Streamlit, Snowflake recommande d’examiner les privilèges accordés ou hérités par ce rôle pour cette raison.

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.