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

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;
Copy

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;
Copy

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.