Einen Zugriffstoken in der MDR Web Console erstellen

15. April 2024

ID 258285

So erstellen Sie einen Zugriffstoken:

  1. Navigieren Sie im Fenster der MDR Web Console zum Menüpunkt Einstellungen.
  2. Klicken Sie auf die Registerkarte API.

    Die Liste Alle Token wird angezeigt. Jede Zeile steht für einen Token. Sie können auf eine beliebige Stelle in der Zeile klicken, um Informationen zu dem Token anzuzeigen.

  3. Klicken Sie auf ein Token mit dem Aktivierungsstatus Ausstehend.

    Der Block Token-Info wird angezeigt.

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

    Ein Aktualisierungstoken wird angezeigt.

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

    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_TOKEN: Ablaufdatum 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. Entnehmen Sie Ihn aus der MDR Console (https://support.kaspersky.com/MDR/de-DE/258285.htm)."

)

exit()

else:

print(

"Für den REFRESH_TOKEN muss ein Wert angegeben werden. Entnehmen Sie Ihn aus der MDR Console (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 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.

Siehe auch:

Szenario: Tokenbasierte Autorisierung durchführen

War dieser Artikel hilfreich?
Helfen Sie uns, diesen Artikel zu verbessern. Wählen Sie den Grund für Ihre Bewertung:
Danke für Ihr Feedback! Sie helfen uns, besser zu werden.
Danke für Ihr Feedback! Sie helfen uns, besser zu werden.