Einen Zugriffstoken in Kaspersky Security Center erstellen

Ein Zugriffstoken ist eine eindeutige Zeichenfolge (Buchstaben, Ziffern und Sonderzeichen), die Sie dazu berechtigt, die Methoden der REST-API zu verwenden.

So erstellen Sie einen Zugriffstoken:

  1. Klicken Sie in Kaspersky Security Center im Abschnitt MDR auf die Registerkarte API.

    Die Liste mit den API-Verbindungen wird angezeigt.

  2. Klicken Sie auf eine Verbindung mit dem Status Aktivierung ausstehend.

    Es wird ein Block mit den Verbindungsinformationen angezeigt.

  3. Klicken Sie im Feld JWT-Token auf die Schaltfläche Aktualisieren.

    Ein Aktualisierungstoken wird angezeigt.

  4. Wählen und speichern Sie den Wert aus dem Feld Client-ID.
  5. Wählen Sie die Zeichenfolge des Tokens aus und speichern Sie diese in der Zwischenablage.
  6. Senden Sie eine POST-Anfrage an den /session/confirm-Endpunkt.

    Ersetzen Sie {client_id} und {refresh_token} durch die in den vorherigen Schritten ausgewählten und gespeicherten Werte.

Beispiel (Python):

 

###################################################

# Allgemeiner Teil

###################################################

 

import time

import datetime

import requests

import jwt

 

# Das Zertifikat wird für die Authentifizierung einer externen Ressource benötigt

# Sie können das Zertifikat von https://mdr.kaspersky.com herunterladen,

# es auf Ihrer Festplatte speichern und seinen Pfad der Variablen hinzufügen:

VERIFY_CERT_PATH = "C:\\tools\\DigiCert Global Root G2.crt"

 

# MDR REST API URL:

API_URL = "https://mdr.kaspersky.com/api/v1"

 

# ID Ihres Kunden und Ihres Tokens.

# Für Einzelheiten zum Abrufen Ihrer ID und der Token-ID siehe Hilfe https://support.kaspersky.com/MDR/de-DE/258285.htm

CLIENT_ID = "9ed43ed54sAmpleIdf349323951f" # (Fügen Sie Ihren Wert ein)

REFRESH_TOKEN = "ReFrEsHToKeN" # (Fügen Sie Ihren Wert ein)

ACCESS_TOKEN = "AcCeSsToKeN" # (Fügen Sie Ihren Wert ein)

 

 

###################################################

# Zugriffstoken und Aktualisierungstoken (refresh token) für das nächste Update des Zugriffstokens anfordern

###################################################

 

if REFRESH_TOKEN:

refresh_token_exp = jwt.decode(REFRESH_TOKEN, options={"verify_signature": False}).get("exp")

print(f"REFRESH_TOKENAblaufdatum und -uhrzeit: {datetime.datetime.fromtimestamp(refresh_token_exp)}")

if refresh_token_exp > time.time():

print("REFRESH_TOKEN ist aktuell")

else:

print(

"Der REFRESH_TOKEN muss aktualisiert werden. Dieser ist in der MDR Console verfügbar (https://support.kaspersky.com/MDR/de-DE/258285.htm)."

)

exit()

else:

print(

"Für den REFRESH_TOKEN muss ein Wert angegeben werden. Dieser ist in der MDR Console verfügbar (https://support.kaspersky.com/MDR/de-DE/258285.htm)."

)

exit()

 

# Prüfung, ob ein Zugriffstoken (access token) vorhanden und gültig ist

need_update_access_token = False

if ACCESS_TOKEN:

access_token_exp = jwt.decode(ACCESS_TOKEN, options={"verify_signature": False}).get("exp")

print(f"ACCESS_TOKEN Ablaufdatum und -uhrzeit: {datetime.datetime.fromtimestamp(access_token_exp)}")

if access_token_exp > time.time():

print("ACCESS_TOKEN ist aktuell")

else:

need_update_access_token = True

else:

need_update_access_token = True

 

# Bei Bedarf Zugriffs- und Refresh-Tokens für das nächste Update des Zugriffstokens aktualisieren

access_token = ACCESS_TOKEN

if need_update_access_token:

request_body = {"refresh_token": REFRESH_TOKEN}

result = requests.post(url=f"{API_URL}/{CLIENT_ID}/session/confirm", json=request_body, verify=VERIFY_CERT_PATH)

result_json = result.json()

 

if "error" in result_json:

print(result_json)

exit()

 

#Aktualisierungstoken muss gespeichert werden, um nach Ablauf des aktuellen Zugriffstokens den nächsten Zugriffstoken zu erhalten

refresh_token = result_json["refresh_token"]

print(

f'!!! Ihr neuer REFRESH_TOKEN für die nächste Anfrage eines ACCESS_TOKEN (ersetzen Sie den Wert für REFRESH_TOKEN durch diesen Wert): "{refresh_token}"'

)

 

# Neuer Zugriffstoken zum Datenabruf erforderlich

access_token = result_json["access_token"]

print(f'!!! Ihr neuer ACCESS_TOKEN (ersetzen Sie den Wert für ACCESS_TOKEN durch diesen Wert): "{access_token}"')

 

# Zugriffstoken zum Request-Header hinzufügen

headers = {"Authorization": f"Bearer {access_token}"}

 

Beispiel (Shell):

curl -X POST https://mdr.kaspersky.com/api/v1/{client_id}/session/confirm -H "Content-Type: application/json" -d '{"refresh_token": "{refresh_token}"}'

Die REST-API liefert eine Antwort mit dem Zugriffstoken und einem neuen Aktualisierungstoken:

{

"access_token": "SamPLET346yoKEnSamPLEToK25EnSamPLEToK35EnS",

"refresh_token": "tOKenSaMPlet259OKenS123aMPle926tOKenSaMPle"

}

Sie können jetzt mithilfe des Zugriffstokens Anfragen an die REST-API senden. Jede Anfrage an die REST-API erfordert einen Zugriffstoken – eine Anfrage ohne Zugriffstoken gibt lediglich einen Autorisierungsfehler zurück.

Sie können auch einen Zugriffstoken in der MDR Web Console erstellen.

Siehe auch:

Szenario: Tokenbasierte Autorisierung durchführen

Die REST-API verwenden

Nach oben