Erläuterungen zu Eigentümerrechten und Streamlit in Snowflake-Apps¶
Achtung
This feature is available to accounts in AWS and Microsoft Azure commercial regions. AWS PrivateLink and Azure Private Link are not supported.
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.
Um eine Streamlit-App mit Streamlit in Snowflake zu erstellen und zu bearbeiten, müssen Sie eine Rolle verwenden, die entweder die Berechtigung OWNERSHIP für das Schema oder die folgenden Berechtigungen haben:
Für die Datenbank, die die Streamlit-App enthält:
USAGE
Für das Schema, das die Streamlit-App enthält:
USAGE
CREATE STREAMLIT
CREATE STAGE
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.
Weitere Informationen dazu finden Sie unter Additional Restrictions on Owner’s Rights Stored Procedures.
Eigentümerrechte und App-Sicherheit¶
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.
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.
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.
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.