Création d’un jeton d’accès dans la Console MDR en ligne
Pour créer un jeton d’accès, procédez comme suit :
- Dans la fenêtre de la Console MDR en ligne, accédez à l’option du menu Paramètres.
- Cliquez sur l’onglet API.
La liste Tous les jetons s’affiche. Chaque ligne représente un jeton. Vous pouvez cliquer n’importe où sur la ligne pour afficher les informations relatives au jeton.
- Cliquez sur un jeton avec un état En attente d’activation.
Un bloc Informations sur le jeton s’affiche.
- Dans le champ Jeton JWT, cliquez sur le bouton Actualiser.
Un jeton d’actualisation s’affiche.
- Sélectionnez et enregistrez la valeur du champ Identifiant du client.
- Sélectionnez et enregistrez la séquence de caractères du jeton dans le presse-papiers.
- Envoyez une requête POST au terminal
/session/confirm
(voir les exemples ci-dessous).Remplacez
{client_id}
et{refresh_token}
par les valeurs sélectionnées et enregistrées dans les étapes précédentes.
Exemple (Python) : ###################################################
# Partie générale
###################################################
import time
import datetime
import requests
import jwt
# Le certificat est requis pour l’authentification d’une ressource externe
# Vous pouvez télécharger le certificat à l’adresse https://mdr.kaspersky.com,
# enregistrez-le sur votre disque et ajoutez son chemin dans la variable :
VERIFY_CERT_PATH = "C:\\tools\\DigiCert Global Root G2.crt"
# MDR REST API URL:
API_URL = "https://mdr.kaspersky.com/api/v1"
# L’identifiant de votre client et vos jetons.
# Pour en savoir plus sur l’obtention de votre identifiant et des jetons, consultez l’aide https://support.kaspersky.com/MDR/fr-FR/258285.htm
CLIENT_ID = "9ed43ed54sAmpleIdf349323951f" # (Collez la valeur)
REFRESH_TOKEN = "ReFrEsHToKeN" # (Collez la valeur)
ACCESS_TOKEN = "AcCeSsToKeN" # (Collez la valeur)
###################################################
# Obtenir un jeton d’accès et un jeton d’actualisation pour la prochaine mise à jour du jeton d’accès
###################################################
if REFRESH_TOKEN:
refresh_token_exp = jwt.decode(REFRESH_TOKEN, options={"verify_signature": False}).get("exp")
print(f"REFRESH_TOKEN date et heure d’expiration: {datetime.datetime.fromtimestamp(refresh_token_exp)}")
if refresh_token_exp > time.time():
print("REFRESH_TOKEN existe")
else:
print(
" Vous devez mettre à jour REFRESH_TOKEN. Veuillez le récupérer depuis la Console MDR (https://support.kaspersky.com/MDR/fr-FR/258285.htm). "
)
exit()
else:
print(
"Vous devez renseigner la valeur REFRESH_TOKEN. Veuillez le récupérer depuis la Console MDR (https://support.kaspersky.com/MDR/fr-FR/258285.htm). "
)
exit()
# Vérifier la présence et la validité du jeton d’accès
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 date et heure d’expiration : {datetime.datetime.fromtimestamp(access_token_exp)}")
if access_token_exp > time.time():
print("ACCESS_TOKEN existe")
else:
need_update_access_token = True
else:
need_update_access_token = True
# Si nécessaire, mettre à jour le jeton d’accès et actualiser le jeton pour la prochaine mise à jour du jeton d’accès
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()
# Il est nécessaire d’enregistrer le jeton d’actualisation afin d’obtenir le prochain jeton d’accès après l’expiration du jeton d’accès actuel
refresh_token = result_json["refresh_token"]
print(
f'!!! Votre nouveau REFRESH_TOKEN pour votre prochaine demande de ACCESS_TOKEN (veuillez remplacer la valeur de REFRESH_TOKEN par celle-ci) : "{refresh_token}"'
)
# Un nouveau jeton d’accès est requis pour récupérer les données
access_token = result_json["access_token"]
print(f'!!! Votre nouveau ACCESS_TOKEN (veuillez remplacer la valeur de ACCESS_TOKEN par celle-ci) : "{access_token}"')
# Le jeton d’accès est ajouté à l’en-tête de la requête
headers = {"Authorization": f"Bearer {access_token}"}
|
Exemple (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 envoie une réponse comprenant le jeton d’accès et un nouveau jeton d’actualisation.
Maintenant, vous pouvez envoyer des requêtes à l’API REST en utilisant le jeton d’accès. Chaque requête à l’API REST nécessite un jeton d’accès ; une demande sans jeton d’accès ne renverra qu’une erreur d’autorisation.