Erläuterungen zu Eigentümerrechten und Streamlit in Snowflake-Apps

Achtung

Dieses Feature ist für Konten in kommerziellen AWS- und Microsoft Azure-Regionen verfügbar. AWS PrivateLink wird nicht unterstützt.

Unter diesem Thema:

Einführung

Das Modell für Streamlit in Snowflake lehnt sich eng an das Modell der Eigentümerrechte in gespeicherten Prozeduren an. Dadurch werden Token für Dienstkonten überflüssig und die Features für Authentifizierung, Zugriffssteuerung und Netzwerkrichtlinien, die Snowflake bietet, können integriert werden.

Allgemeine Informationen zu Eigentümerrechten in Streamlit in Snowflake

Streamlit-Apps halten sich in einer Sitzung an die folgenden Regeln:

  • Sie werden mit den Berechtigungen des Eigentümers ausgeführt, nicht mit den Berechtigungen des Aufrufers.

  • Sie werden mit dem vom App-Eigentümer bereitgestellten Warehouse ausgeführt.

  • Sie verwenden die Datenbank und das Schema, in denen die Streamlit-App in Snowflake erstellt wurde, nicht die Datenbank und das Schema, die der Aufrufer aktuell verwendet.

Allgemeine Informationen zur App-Erstellung

Die Berechtigung zur Erstellung einer Streamlit-App wird auf Schemaebene erteilt. Nur Benutzer mit der OWNER-Berechtigung für das Schema können eine Streamlit-App in diesem Schema erstellen. Wenn eine Streamlit-App erstellt wird, wird sie mit der Rolle des Benutzers ausgeführt, der die App ursprünglich erstellt hat.

Anzeigen einer App

Der Eigentümer der App kann auswählen, welche Rollen die Berechtigung zur Nutzung der App haben.

  • Die Betrachter können mit der App interagieren und alles sehen, was auf dem Bildschirm angezeigt wird.

  • Alle Berechtigungen der App-Eigentümerrolle können von der App verwendet werden, wenn sie für andere Rollen freigegeben werden, unabhängig davon, ob die Berechtigung WITH GRANT aktiviert ist.

Einschränkungen von Eigentümerrechten

Da Apps mit Eigentümerrechten ausgeführt werden, unterliegen sie einigen zusätzlichen Einschränkungen. Diese Einschränkungen beziehen sich auf Folgendes:

  • Die integrierten Funktionen, die innerhalb einer gespeicherten Prozedur aufgerufen werden können, sind nicht verfügbar, wenn eine gespeicherte Prozedur in einer Streamlit-App aufgerufen wird.

  • Die Möglichkeit, ALTER USER-Anweisungen auszuführen.

  • Die Arten von SQL-Anweisungen, die innerhalb einer gespeicherten Prozedur aufgerufen werden können.

  • Einige DESCRIBE-Befehle.

Eigentümerrechte und App-Sicherheit

Streamlit-Apps, die in Streamlit in Snowflake ausgeführt werden, werden mit Eigentümerrechten ausgeführt und folgen demselben Sicherheitsmodell wie andere Snowflake-Objekte, die mit Eigentümerrechten ausgeführt werden.

Obwohl Snowflake Sicherheitsfeatures wie Authentifizierung, rollenbasierte Zugriffssteuerung und Admin-Kontrollen bietet, liegt die Verantwortung für die Sicherheit von Apps bei den App-Erstellern und -Eigentümern.

Die Eigentümerschaft einer Streamlit-App kann bei einer oder mehreren Rollen liegen. Bevor Sie einem anderen Benutzer eine Rolle zuweisen, die Eigentümer einer Streamlit-App ist, empfiehlt Snowflake, dass Sie die dieser Rolle erteilten oder von dieser Rolle geerbten Berechtigungen überprüfen.

Seien Sie zum Beispiel vorsichtig, wenn Sie einem anderen Snowflake-Benutzer eine Rolle zuweisen, die über Schreibrechte verfügt. Schreibrechte erlauben es dem Benutzer, die Streamlit-App zu modifizieren.

Im Allgemeinen empfiehlt Snowflake die Verwendung einer rollenbasierten Zugriffssteuerung und spezieller Rollen für das Erstellen und Anzeigen von Streamlit-Apps. Darüber hinaus sollten Sie bei der Entwicklung von Streamlit-Apps in Snowflake angemessene Sicherheitsverfahren einsetzen und regelmäßige Sicherheitsüberprüfungen der Streamlit-Apps in Ihrem Konto durchführen.