Ausführen des automatischen Sicherheitsscans¶
Unters diesem Thema wird beschrieben, wie Sie die automatische Sicherheitsüberprüfung verwenden, die vom Native Apps Framework bereitgestellt wird. Außerdem werden Richtlinien und bewährte Verfahren für das Erstellen sicherer Anwendungspakete und Anwendungen bereitgestellt.
Bemerkung
In einigen Fällen, in denen eine Anwendung eine automatische Sicherheitsüberprüfung nicht besteht, kann eine zusätzliche manuelle Überprüfung des Anwendungscodes durchgeführt werden, um den Fehlerstatus zu bestätigen oder ihn zu überschreiben und die Anwendung zu genehmigen.
Diese manuelle Überprüfung kann bis zu fünf Arbeitstage dauern.
Allgemeine Informationen zu den Sicherheitsanforderungen des Native Apps Framework¶
Alle Native Apps Framework-Anwendungen, die die unter Allgemeine Informationen zum automatischen Sicherheitsscan beschriebenen Bedingungen erfüllen, müssen die in den folgenden Abschnitten beschriebenen Sicherheitsanforderungen einhalten:
Sicherheitsanforderungen an den Anwendungscode¶
Anwendungscode, der in einem Anwendungspaket enthalten ist, muss die folgenden Sicherheitsanforderungen erfüllen:
Die Anwendung darf keinen Code von außerhalb des Anwendungspakets laden oder ausführen, mit Ausnahme der von Snowflake bereitgestellten Bibliotheken. Der gesamte Anwendungscode, einschließlich aller Bibliotheksabhängigkeiten und des Setup-Codes, muss in der Anwendungsversion enthalten sein, die im Anwendungspaket definiert ist.
Der gesamte Anwendungscode muss unverschlüsselt sein, d. h. der Code muss für visuell lesbar sein. Diese Anforderung schließt minifizierten JavaScript-Code ein.
Bemerkung
Wenn eine Anwendung minifizierten JavaScript-Code verwenden muss, muss sie eine entsprechende Quellenzuordnungsdatei enthalten, die zum Wiederherstellen des nicht-minifizierten Codes verwendet werden kann.
Alle Abhängigkeiten oder Bibliotheken mit kritischen oder bekannten Schwachstellen und Anfälligkeiten (Common Vulnerabilities and Exposures, CVE) müssen auf eine sichere Version aktualisiert werden, sofern verfügbar.
Sicherheitsanforderungen an die Anwendungsfunktionalität¶
Die folgenden Sicherheitsanforderungen gelten für die Funktionalität Ihrer Anwendung:
Zu allen Anwendungen müssen den Kunden im Rahmen eines Freigabeangebots die folgenden Informationen zur Verfügung gestellt werden:
Alle Funktionen und Features der Anwendung
Alle Internet-Endpunkte und URLs, mit denen sich die Anwendung verbindet
Alle externen Funktionen in der Anwendung
Alle von der Anwendung protokollierten, gesammelten oder gespeicherten Verbraucherdaten
Die Anwendungen müssen so funktionieren, wie dies im Freigabeangebot der Anwendung angegeben ist.
Alle Anweisungen zur Installation und Einrichtung der Anwendung müssen im Freigabeangebot der Anwendung enthalten sein.
Anwendungen dürfen keine Kundengeheimnisse im Klartext speichern oder verlangen, dass diese so gespeichert werden.
Jede Kommunikation zwischen der Anwendung und dem Internet muss über eine HTTPS-Verbindung mit einem gültigen TLS-Zertifikat erfolgen.
Die Anwendungen dürfen keine Funktionen aufweisen, die Snowflake, seinen Kunden oder Dritten Schaden zufügen könnten. Mögliche Schäden umfassen Folgendes, sind aber nicht beschränkt darauf:
Datenleck und/oder Datenverlust
Einschränkung des Zugriffs der Verbraucher auf deren Daten, sofern dies nicht ausdrücklich als Teil der Anwendungsfunktionalität vorgesehen ist, z. B. Datenmaskierung für Datenzugriffsrichtlinien
Übermäßiger Ressourcenverbrauch
Willkürliche Einschleusung/Ausführung von Code
Sicherheitsanforderungen für Anwendungsberechtigungen¶
Die folgenden Sicherheitsanforderungen gelten für die von Ihrer Anwendung festgelegten Berechtigungen:
Alle Anwendungen müssen die folgenden Informationen in der Manifest-Datei enthalten:
Alle Berechtigungen, die von der Anwendung für alle Objekte benötigt werden
Alle API-Integrationen
Anwendungen dürfen nur die minimal notwendigen Berechtigungen anfordern, die für das Funktionieren der Anwendung erforderlich sind
Empfohlene bewährte Sicherheitsmethoden¶
Zusätzlich zu den Sicherheitsanforderungen, die durch den automatischen Sicherheitsscan auferlegt werden, empfiehlt Snowflake die folgenden Best Practices bei der Verwendung des Native Apps Framework. Wenn Sie diese bewährten Methoden befolgen, verringert sich die Wahrscheinlichkeit, dass eine Anwendung durch die Sicherheitsüberprüfung blockiert wird.
Befolgen Sie sichere Praktiken des Lebenszyklus der Softwareentwicklung (Software Development Life Cycle, SDLC).
Überprüfen Sie den Anwendungscode während des Entwicklungszyklus auf Schwachstellen, und beheben Sie diese, bevor Sie eine Anwendungsversion erstellen.
Überprüfen Sie Bibliotheken von Drittanbietern auf Sicherheitslücken, und aktualisieren Sie sie auf die neueste sichere Version.
Überprüfen und aktualisieren Sie alle Drittanbieter-Bibliotheken in der Anwendung mindestens einmal pro Quartal.
Befolgen Sie die von Snowflake empfohlenen bewährten Sicherheitsmethoden, wie im Folgenden beschrieben:
Allgemeine Informationen zum automatischen Sicherheitsscan¶
Der automatische Sicherheitsscan wird ausgelöst, wenn einer der folgenden Punkte eintritt:
Ein Anbieter fügt eine Version zu einem Anwendungspaket hinzu, wobei der Parameter DISTRIBUTION auf EXTERNAL gesetzt ist. Die neue Version wird automatisch gescannt.
Ein Anbieter legt für ein Anwendungspaket, für das bereits eine Version definiert ist, DISTRIBUTION=EXTERNAL fest. Alle Versionen des Anwendungspakets werden automatisch gescannt.
Verwenden Sie den Befehl ALTER APPLICATION PACKAGE, um die Eigenschaft DISTRIBUTION für ein Anwendungspaket festzulegen, wie im folgenden Beispiel gezeigt:
ALTER APPLICATION PACKAGE HelloSnowflakePackage
SET DISTRIBUTION = EXTERNAL;
Anzeigen des Status einer automatischen Sicherheitsüberprüfung¶
Verwenden Sie den Befehl SHOW VERSIONS, um den Status einer automatischen Sicherheitsüberprüfung anzuzeigen, wie im folgenden Beispiel gezeigt:
SHOW VERSIONS IN APPLICATION PACKAGE HelloSnowflakePackage;
In der Spalte review_status
wird einer der folgenden Status der automatischen Sicherheitsüberprüfung angezeigt:
NOT_REVIEWED
IN_PROGRESS
APPROVED
REJECTED
Bemerkung
Wenn eine Anwendung die automatische Sicherheitsüberprüfung besteht, wird ihr Status auf APPROVED aktualisiert. Wenn eine Anwendung den automatischen Sicherheitsscan nicht besteht, wird sie manuell von Snowflake überprüft. Nach der manuellen Überprüfung wird der Status der Anwendung auf APPROVED oder REJECTEDaktualisiert.