Crear un token de acceso en MDR Web Console

Para crear un token de acceso:

  1. En la ventana de MDR Web Console, navegue hasta el elemento Incidentes del menú.
  2. Haga clic en la pestaña API.

    Aparece la lista Todos los tokens. Cada línea representa un token. Puede hacer clic en cualquier parte de la línea para ver la información del token.

  3. Haga clic en un token con un estado de Activación pendiente.

    Aparece un bloque de Información del token.

  4. En el campo JWT token, haga clic en el botón Actualizar.

    Aparece un token de actualización.

  5. Seleccione y guarde el valor del campo Id. de cliente.
  6. Seleccione y guarde la secuencia de caracteres del token en el portapapeles.
  7. Envíe una solicitud POST al endpoint /session/confirm (consulte los ejemplo de abajo).

    Reemplace {client_id} y {refresh_token} con los valores seleccionados y guardados en los pasos anteriores.

Ejemplo (Python):

 

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

# Parte general

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

 

import time

import datetime

import requests

import jwt

 

# El certificado es necesario para la autenticación de un recurso externo

#Puede descargar el certificado desde https://mdr.kaspersky.com,

#guárdelo en su disco y agregue la ruta en la variable:

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

 

# MDR REST API URL:

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

 

#La identificación de su cliente y sus tokens.

#Para obtener más información sobre cómo obtener su ID y los tokens, consulte la ayuda https://support.kaspersky.com/MDR/en-US/258285.htm

CLIENT_ID = "9ed43ed54sAmpleIdf349323951f" # (Pegue su valor)

REFRESH_TOKEN = "ReFrEsHToKeN" # (Pegue su valor)

ACCESS_TOKEN = "AcCeSsToKeN" # (Pegue su valor)

 

 

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

#Obtenga un token de acceso y un token de actualización para la próxima actualización del token de acceso

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

 

if REFRESH_TOKEN:

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

print(f"REFRESH_TOKEN fecha y hora de caducidad: {datetime.datetime.fromtimestamp(refresh_token_exp)}")

if refresh_token_exp > time.time():

print("REFRESH_TOKEN es válido")

else:

print(

" Debe actualizar REFRESH_TOKEN.Tómelo de MDR Console (https://support.kaspersky.com/MDR/es-ES/258285.htm)."

)

exit()

else:

print(

"Debe rellenar el valor REFRESH_TOKEN.Tómelo de MDR Console (https://support.kaspersky.com/MDR/es-ES/258285.htm)."

)

exit()

 

#Verificar la presencia y validez del token de acceso

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 fecha y hora de caducidad: {datetime.datetime.fromtimestamp(access_token_exp)}")

if access_token_exp > time.time():

print("ACCESS_TOKEN es válido")

else:

need_update_access_token = True

else:

need_update_access_token = True

 

#Si es necesario, actualice el token de acceso y actualice el token para la próxima actualización del token de acceso

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()

 

#Es necesario guardar el token de actualización para obtener el siguiente token de acceso cuando caduque el token de acceso actual

refresh_token = result_json["refresh_token"]

print(

f'!!!Su nuevo REFRESH_TOKEN para la próxima vez que solicite ACCESS_TOKEN (reemplace el valor de REFRESH_TOKEN con este valor): "{refresh_token}"'

)

 

# Se requiere un nuevo token de acceso para recuperar los datos

access_token = result_json["access_token"]

print(f'!!!Su nuevo ACCESS_TOKEN (reemplace el valor de ACCESS_TOKEN con este valor): "{access_token}"')

 

#El token de acceso se añade al encabezado de la solicitud

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

 

Ejemplo (Shell):

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

La API de REST envía una respuesta con el token de acceso y un nuevo token de actualización.

{

"access_token": "SamPLET346yoKEnSamPLEToK25EnSamPLEToK35EnS",

"refresh_token": "tOKenSaMPlet259OKenS123aMPle926tOKenSaMPle"

}

Ahora, puede enviar solicitudes a la API de REST utilizando el token de acceso. Cada solicitud a la API de REST requiere un token de acceso; una solicitud sin un token de acceso solo devolverá un error de autorización.

Ver también:

Escenario: realizar una autorización basada en token

Parte superior de la página