Eine API-Referenz für das Go SDK für Trend Vision One™ Dateisicherheit
Neue Instanz erstellen
Erstellen Sie eine neue Instanz des Client-Objekts und richten Sie die wesentlichen
Einstellungen ein, einschließlich Authentifizierungs-/Autorisierungsanmeldedaten (API-Schlüssel)
und bevorzugter Serviceregion.
func NewClient(key string, region string) (c *AmaasClient, e error)
Parameter
Parameter
|
Beschreibung |
Schlüssel (Zeichenkette) |
Ein gültiger API-Schlüssel muss bereitgestellt werden, wenn die Umgebungsvariable
TM_AM_AUTH_KEY nicht gesetzt ist. |
Region |
Die Region, in der Sie Ihren API-Schlüssel erhalten haben. Der angegebene Wert muss
einer der Vision One-Regionen sein:
|
Rückgabewerte
Parameter | Beschreibung |
c (*AmaasClient)
|
Zeiger auf ein Client-Objekt. Nil, wenn ein Fehler aufgetreten ist
|
e (Fehler) |
Nil, wenn kein Fehler aufgetreten ist; andernfalls nicht nil.
|
Fehlerbedingungen
- Ungültige Authentifizierung
- Ungültige Region
Inhalt wird übermittelt
Übermitteln Sie den Inhalt einer Datei oder eines Puffers zur Überprüfung.
func (ac *AmaasClient) ScanFile(filePath string, tags []string) (resp string, e error)
func (ac *AmaasClient) ScanBuffer(buffer []byte, identifier string, tags []string) (resp string, e error)
Parameter
Parameter
|
Beschreibung
|
Dateipfad (Zeichenfolge)
|
Dateipfad zum DURCHSUCHEN
|
Puffer ([]Byte)
|
Puffer mit den zu DURCHSUCHENDEN Daten
|
Bezeichner (Zeichenkette)
|
Eine vom Anrufer gewählte Zeichenfolge, die mit dem DURCHSUCHEN verknüpft wird und
in der JSON-Antwort als Teil des
fileName -Namens/Werts zurückgegeben wird; kann leer sein |
Tags ([]string)
|
Tags, die für die DURCHSUCHUNG verwendet werden sollen. Die maximale Anzahl an Tags,
die Sie verwenden können, ist 8, und die Länge jedes Tags darf 63 Zeichen nicht überschreiten.
|
Rückgabewerte
Parameter
|
Beschreibung
|
resp (Zeichenkette)
|
JSON-formatierte Antwort, die das Ergebnis des DURCHSUCHENs beschreibt.
|
e (Fehler)
|
Nil, wenn kein Fehler aufgetreten ist; andernfalls nicht nil.
|
Beispiel-JSON-Antwort
{ "scannerVersion":"1.0.0-27", "schemaVersion":"1.0.0", "scanResult": 1, "scanId": "25072030425f4f4d68953177d0628d0b", "scanTimestamp": "2022-11-02T00:55:31Z", "fileName": "EICAR_TEST_FILE-1.exe", "filePath": "AmspBvtTestSamples/BVT_RightClickScan_DS/unclean/EICAR_TEST_FILE-1.exe", "foundMalwares": [ { "fileName": "Eicar.exe", "malwareName": "Eicar_test_file" } ], "fileSHA1":"fc7042d1d8bbe655ab950355f86a81ded9ee4903", "fileSHA256":"1b9f8773919a1770fec35e2988650fde3adaae81a3ac2ad77b67cafd013afcdc" }
Wenn bösartiger Inhalt im gescannten Objekt erkannt wird, zeigt
scanResult
einen Wert ungleich null an. Andernfalls wird der Wert 0
sein. Außerdem, wenn Malware erkannt wird, wird foundMalwares
nicht leer sein und ein oder mehrere Name/Wert-Paare von fileName
und malwareName
enthalten. fileName
wird der Dateiname der erkannten Malware sein, während malwareName
der Name des gefundenen Virus/Malware sein wird.Fehlerbedingungen
- Ungültige Authentifizierung
- Ungültiger Pfad angegeben
- Anfrage zeitüberschreitung (Frist überschritten)
- Inkompatibler Client verwendet
- Dienst nicht erreichbar
- Client ist nicht bereit für den Betrieb
Freigeben interner Ressourcen, die vom Client verwendet werden
Interne Ressourcen freigeben, die vom Client verwendet werden. Dies sollte nur aufgerufen
werden, nachdem der Scan abgeschlossen ist und das Client-Objekt nicht mehr benötigt
wird.
func (ac *AmaasClient) Destroy()
Konfigurieren der Protokollierungsebene
Sie können die aktive Protokollierungsebene des SDK konfigurieren. Die Änderung wird
global auf alle Client-Instanzen angewendet. Die Standardebene ist
LogLevelOff
, was bedeutet, dass alle Protokollierungen deaktiviert sind. Wenn die Protokollierung
aktiviert ist, werden, sofern keine benutzerdefinierte Protokollierung mit ConfigLoggingCallback()
konfiguriert ist, Protokolle an stdout geschrieben.Parameter
Parameter
|
Beschreibung
|
Ebene (LogLevel)
|
Gültige Werte sind
LogLevelOff . |
Einrichten der benutzerdefinierten Protokollierung
Sie können ein benutzerdefiniertes Logging einrichten, indem Sie das SDK mit einer
benutzerdefinierten Callback-Funktion bereitstellen, die aufgerufen wird, wenn das
SDK ein Protokoll aufzeichnen möchte.
func ConfigLoggingCallback(f func(level LogLevel, levelStr string, format string, a ...interface{}))
Parameter
Parameter
|
Beschreibung
|
f (Funktion)
|
Eine Funktion mit dem Prototyp
func(level LogLevel, levelStr string, format string, a ...interface{}) |
Thread-Sicherheit
ScanFile()
oder ScanBuffer()
sind so konzipiert, dass sie threadsicher sind. Sie sollten in der Lage sein, ScanFile()
gleichzeitig von mehreren Threads aus aufzurufen, ohne ScanFile()
mit einem Mutex oder anderen Synchronisationsmechanismen zu schützen.Die
Destroy()
-Methode ist NICHT threadsicher, daher sollte sie nur nach Abschluss aller Durchsuchungsroutinen
aufgerufen werden.