Création d’un jeton d’accès à Kaspersky Security Center

15 avril 2024

ID 204469

Un jeton d’accès est une séquence unique de caractères (lettres, chiffres et caractères spéciaux) qui vous permet d’utiliser les méthodes de l’API REST.

Pour créer un jeton d’accès, procédez comme suit :

  1. Dans la section MDR de Kaspersky Security Center, cliquez sur l’onglet API.

    La liste des connexions API s’affiche.

  2. Cliquez sur une connexion avec un état En attente d’activation.

    Un bloc contenant les informations de connexion apparaît.

  3. Dans le champ Jeton JWT, cliquez sur le bouton Actualiser.

    Un jeton d’actualisation s’affiche.

  4. Sélectionnez et enregistrez la valeur du champ Identifiant du client.
  5. Sélectionnez et enregistrez la séquence de caractères du jeton dans le presse-papiers.
  6. Envoyez une requête POST au terminal /session/confirm.

    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"

 

# URL de l’API REST MDR :

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.

{

"access_token": "SamPLET346yoKEnSamPLEToK25EnSamPLEToK35EnS",

"refresh_token": "tOKenSaMPlet259OKenS123aMPle926tOKenSaMPle"

}

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.

Vous pouvez également créer un jeton d’accès dans la Console MDR en ligne.

Voir également :

Scénario : effectuer une autorisation basée sur des jetons

Utilisation de l’API REST

Cet article vous a-t-il été utile ?
Que pouvons-nous améliorer ?
Merci de nous faire part de vos commentaires. Vous nous aidez à nous améliorer.
Merci de nous faire part de vos commentaires. Vous nous aidez à nous améliorer.