Kaspersky Managed Detection and Response
Creazione di un token di accesso in Web Console MDR
Creazione di un token di accesso in Web Console MDR
Per creare un token di accesso:
- Nella finestra di Web Console MDR passare alla voce di menu Impostazioni.
- Fare clic sulla scheda API.
Verrà visualizzato l'elenco Tutti i token. Ogni riga rappresenta un token. È possibile fare clic in qualsiasi punto della riga per visualizzare le informazioni sul token.
- Fare clic su un token con stato Attivazione in sospeso.
Verrà visualizzata una sezione Informazioni token.
- Nel campo Token JWT fare clic sul pulsante Aggiorna.
Verrà visualizzato un token di aggiornamento.
- Selezionare e salvare il valore nel campo ID cliente.
- Selezionare e salvare la sequenza di caratteri del token negli Appunti.
- Inviare una richiesta POST all'endpoint
/session/confirm
(vedere gli esempi di seguito).Sostituire
{client_id}
e{refresh_token}
con i valori selezionati e salvati nei passaggi precedenti.
Esempio (Python): ###################################################
# Parte generale
###################################################
import time
import datetime
import requests
import jwt
# Il certificato è richiesto per l'autenticazione di una risorsa esterna
# È possibile scaricare il certificato da https://mdr.kaspersky.com,
# salvarlo sul disco e aggiungere il percorso nella variabile:
VERIFY_CERT_PATH = "C:\\tools\\DigiCert Global Root G2.crt"
# MDR REST API URL:
API_URL = "https://mdr.kaspersky.com/api/v1"
# L'ID del client e i token.
# Per i dettagli su come ottenere l'ID e i token, fare riferimento alla guida https://support.kaspersky.com/MDR/it-IT/258285.htm
CLIENT_ID = "9ed43ed54sAmpleIdf349323951f" # (Incollare il valore)
REFRESH_TOKEN = "ReFrEsHToKeN" # (Incollare il valore)
ACCESS_TOKEN = "AcCeSsToKeN" # (Incollare il valore)
###################################################
# Ottenere il token di accesso e un token di aggiornamento per l'aggiornamento successivo del token di accesso
###################################################
if REFRESH_TOKEN:
refresh_token_exp = jwt.decode(REFRESH_TOKEN, options={"verify_signature": False}).get("exp")
print(f"REFRESH_TOKEN data e ora di scadenza: {datetime.datetime.fromtimestamp(refresh_token_exp)}")
if refresh_token_exp > time.time():
print("REFRESH_TOKEN è attuale")
else:
print(
"Bisognerebbe aggiornare REFRESH_TOKEN. Prelevarlo dalla Console MDR (https://support.kaspersky.com/MDR/it-IT/258285.htm). "
)
exit()
else:
print(
"Sarebbe opportuno inserire il valore REFRESH_TOKEN. Prelevarlo dalla Console MDR (https://support.kaspersky.com/MDR/it-IT/258285.htm). "
)
exit()
# Verificare la presenza e la validità del token di accesso
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 data e ora di scadenza: {datetime.datetime.fromtimestamp(access_token_exp)}")
if access_token_exp > time.time():
print("ACCESS_TOKEN è attuale")
else:
need_update_access_token = True
else:
need_update_access_token = True
# Se necessario, aggiornare il token di accesso e aggiornare il token per il prossimo aggiornamento del token di accesso
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()
# È necessario salvare il token di aggiornamento per ottenere il token di accesso successivo alla scadenza del token di accesso corrente
refresh_token = result_json["refresh_token"]
print(
f'!!! Il nuovo REFRESH_TOKEN per l'orario successivo per la richiesta ACCESS_TOKEN (sostituire il valore di REFRESH_TOKEN con questo valore): "{refresh_token}"'
)
# È necessario un nuovo token di accesso per recuperare i dati
access_token = result_json["access_token"]
print(f'!!!Il nuovo ACCESS_TOKEN (sostituire il valore di ACCESS_TOKEN con questo valore): "{access_token}"')
# Il token di accesso viene aggiunto all'intestazione della richiesta
headers = {"Authorization": f"Bearer {access_token}"}
|
Esempio (Shell): curl -X POST https://mdr.kaspersky.com/api/v1/{client_id}/session/confirm -H "Content-Type: application/json" -d '{"refresh_token": "{refresh_token}"}'
|
L'API REST invia una risposta con il token di accesso e un nuovo token di aggiornamento:
{
"access_token": "SamPLET346yoKEnSamPLEToK25EnSamPLEToK35EnS",
"refresh_token": "tOKenSaMPlet259OKenS123aMPle926tOKenSaMPle"
}
Ora è possibile inviare richieste all'API REST utilizzando il token di accesso. Ogni richiesta all'API REST richiede un token di accesso. Una richiesta senza token di accesso restituirà solo un errore di autorizzazione.
ID articolo: 258285, Ultima revisione: 19 mar 2025