Schutz des geistigen Eigentums von Anbietern¶
Unter diesem Thema wird beschrieben, wie das Snowflake Native App Framework Anbieterdaten schützt, indem es Informationen zu den von einer Snowflake Native App freigegeben Objekten maskiert oder entfernt.
Allgemeine Informationen zum Schutz des geistigen Eigentums im Snowflake Native App Framework¶
Wenn ein Verbraucher eine Snowflake Native App installiert, sind die Objekte innerhalb des Anwendungsobjekts für den Verbraucher nicht sichtbar, es sei denn, ein Anbieter erteilt mittels Anwendungsrollen Berechtigungen für die Objekte.
Wenn ein Verbraucher Objektmetadaten über ein Schema oder eine Ansicht abfragt oder Snowsight verwendet, um Query Profile oder Query History für diese Abfragen anzuzeigen, werden die Informationen zu den Objekten innerhalb des Anwendungsobjekts vom Snowflake Native App Framework ausgeblendet.
In Query Profile ausgeblendete Informationen¶
Das Snowflake Native App Framework maskiert in den folgenden Kontexten die Informationen aus dem Query Profile:
Abfragen, die ausgeführt werden, wenn die App installiert oder aktualisiert wird.
Abfragen, die von einer gespeicherten Prozedur stammen, deren Eigentümer die App ist.
Abfragen, die eine nicht sichere Ansicht oder Funktion enthalten, deren Eigentümer die App ist.
Für jeden dieser Abfragetypen fasst Snowsight die Query Profile-Daten zu einem einzigen leeren Knoten zusammen, anstatt den vollständigen Query Profile-Strukturbaum anzuzeigen.
In Abfrageverlauf (Query History) ausgeblendete Informationen¶
Bei Abfragen, die sich auf eine Snowflake Native App beziehen, werden die Felder query_text
und error_message
in der Abfragehistorie (Query History) in den folgenden Kontexten ausgeblendet:
Abfragen, die ausgeführt werden, wenn die App installiert oder aktualisiert wird.
Abfragen, die von einem untergeordneten Job einer gespeicherten Prozedur stammen, deren Eigentümer die App ist.
In jeder dieser Situationen ist die Zelle des Abfrageverlaufs in Snowsight leer.
In SQL-Befehlen und Ansichten ausgeblendete Informationen¶
Wenn ein Verbraucher den Befehl SHOW oder DESCRIBE verwendet, um Informationen zu dem Anwendungsobjekt oder zu den Objekten anzuzeigen, deren Eigentümer die App ist, werden Informationen zu Implementierungsdetails ausgeblendet. So werden beispielsweise Funktionsdefinitionen und der Funktionstext bei der Ausgabe dieser Befehle ausgeblendet.
Informationen zu Implementierungsdetails werden in den folgenden Kontexten in der ACCESS_HISTORY-Ansicht ausgeblendet:
Abfragen, die generiert werden, wenn die App installiert oder aktualisiert wird.
Abfragen, die von gespeicherten Prozeduren und benutzerdefinierten Funktionen generiert werden, deren Eigentümer die App ist.
Außerdem werden bei Ansichten, deren Eigentümer die App ist, Informationen zur Basistabelle ausgeblendet.
Blockierte Kontextfunktionen¶
Um Informationen zu schützen, die sich auf Objekte innerhalb eines Anwendungsobjekts beziehen, blockiert Snowflake Native App Framework die folgenden Kontextfunktionen:
Kontextfunktion |
Blockiert in freigegebenem Inhalt (gibt null zurück) |
Blockiert in Setup-Skripten und gespeicherten Prozeduren/UDFs, die der Snowflake Native App gehören (löst eine Ausnahme aus). |
---|---|---|
CURRENT_ROLE |
✔ |
|
CURRENT_ROLE_TYPE |
✔ |
|
CURRENT_USER |
✔ |
|
IS_ROLE_IN_SESSION |
✔ |
|
CURRENT_IP_ADDRESS |
✔ |
✔ |
CURRENT_AVAILABLE_ROLES |
✔ |
✔ |
CURRENT_SECONDARY_ROLES |
✔ |
✔ |
ALL_USER_NAMES |
✔ |
|
GET_USERS_FOR_COLLABORATION |
✔ |
|
CURRENT_WAREHOUSE |
✔ |
|
SYSTEM$ALLOWLIST |
✔ |