Configurer les analyses DAST avec des définitions OpenAPI en utilisant des API REST

Vue d'ensemble

Cette section explique comment utiliser les API REST pour configurer les analyses de sécurité dynamique des applications (DAST) à l'aide des définitions OpenAPI. Vous pouvez fournir ces définitions soit sous forme d'URL accessible au public, soit en téléchargeant directement un fichier de spécification OpenAPI au format JSON, YAML ou YML. Cette approche axée sur l'API offre une automatisation pour vos flux de travail de test de sécurité API directement dansAppScan Enterprise , remplaçant les étapes de configuration manuelles qui impliquaientAppScan auparavant souvent Standard. Ce sujet couvre les deux points de terminaison API dédiés aux configurations de scan basées sur OpenAPI.
Remarque :
  • Ces API sont spécifiquement destinées aux tâches DASTConfig et ne peuvent pas être utilisées avec les tâches Content-Scan.
  • Si un travail DASTConfig possède déjà une configuration OpenAPI (provenant d'une URL ou d'un fichier), l'utilisation de ces API remplacera celle existante.

Points de terminaison API pour la configuration basée sur OpenAPI

  • POST /jobs//{jobId}dastconfig/openapi/url/add – Ajouter une URL OpenAPI publique à un travail DASTConfig.
  • POST /jobs//{jobId}dastconfig/openapi/add – Téléchargez un fichier OpenAPI vers un travail DASTConfig.

Prérequis

  • Vous aurez besoin d'un travail DASTConfig existant. Vous pouvez créer des tâches DASTConfig en utilisant l'une des API existantes suivantes :
    • POST/emplois//{templateId}dastconfig/creeremploi
    • POST/jobs/createjobBasedOnTemplateFile
    • POST/emplois
  • L'identifiant du job DASTConfig est requis. Cela peut être récupéré en utilisant le point de terminaison API GET /folders//{folderId}jobs.
  • Un jeton asc_xsrf_token valide est requis pour l'authentification des requêtes API et peut être obtenu à partir du point de terminaison API POST /login. Ce jeton doit être envoyé en tant qu'en-tête de requête.
  • Nous recommandons d'utiliser le modèle 'Regular scan' pour le travail DASTConfig afin d'éviter tout problème de performance.

Référence de l'API : POST /jobs//{jobId}dastconfig/openapi/url/add

Cet endpoint API vous permet de configurer un travail DASTConfig existant dansAppScan Enterprise pour utiliser une définition OpenAPI fournie via une URL accessible publiquement.

Méthode HTTP et point de terminaison : POST /jobs//{jobId}dastconfig/openapi/url/add

Paramètres de chemin :

  • jobId (Entier, Obligatoire) : L'identifiant unique du travail DASTConfig.

Le corps de la requête doit contenir un corps JSON avec les paramètres suivants :

  • openApiUrl (String, Obligatoire) : L'URL accessible publiquement pointant vers le document de spécification OpenAPI (par exemple, http://example.com/openapi.json).
  • baseUrl (String, Obligatoire) : Le préfixe URL racine pour tous les points de terminaison API définis dans le document OpenAPI (par exemple, https://demo.testfire.net/api/).
  • additionalDomains (String, Optional) : Une liste de domaines supplémentaires, séparés par des virgules, à inclure dans le périmètre du scan en plus du domaine inclus dans le baseUrl (par exemple, api.example.org, static.example.com).
Remarque :
  • Assurez-vous que votre document OpenAPI spécifie correctement toute authentification nécessaire pour l'API en cours d'analyse, carAppScan Enterprise s'appuiera sur la définition des exigences de sécurité.
  • Configurer l'authentification de l'API si nécessaire. Sur la base de votre fichier de spécification, configurez l'authentification via la Gestion des Connexions (enregistrer la connexion ou utiliser la connexion automatique) pour assurer une meilleure couverture de balayage, couvrant la plupart des points de terminaison et évitant les échecs de requête.
  • La configuration de l'authentification par clé API n'est pas prise en charge par AppScan Enterprise.

Réponse :

  • En cas de succès, l'API renvoie un code de statut HTTP 200 OK.
  • Pour les détails des erreurs, consultez la documentation Swagger de l'API.

Référence de l'API : POST /jobs//{jobId}dastconfig/openapi/add

Ce point de terminaison API vous permet de télécharger un fichier de spécification OpenAPI directement dans un travail DASTConfig existant dans AppScan Enterprise.

Méthode HTTP et point de terminaison : POST /jobs//{jobId}dastconfig/openapi/add

Paramètres de chemin :

  • jobId (Entier, Obligatoire) : L'identifiant unique du travail DASTConfig.

Cette API attend une requête multipart/form-data avec les parties suivantes :

  • FichierDeDescriptionOpenAPI (Fichier, Obligatoire) : Le fichier de spécification OpenAPI.
    • Formats pris en charge : .json, .yaml, ou .yml.
    • Taille maximale du fichier : 90 Mo.
  • baseUrl (String, Obligatoire) : Le préfixe URL racine pour tous les points de terminaison API définis dans le fichier OpenAPI (par exemple, https://demo.testfire.net/api/). (Probablement envoyé en tant que champ de formulaire portant ce nom).
  • additionalDomains (String, Optionnel) : Une liste de domaines supplémentaires, séparés par des virgules, à inclure dans le champ d'application de l'analyse en plus du domaine inclus dans le baseUrl (par exemple, api.example.org, static.example.com). (Probablement envoyé en tant que champ de formulaire avec ce nom).
Remarque :
  • Confirmez les noms exacts des champs de formulaire pour baseUrl et additionalDomains à partir de la documentation Swagger de l'API si nécessaire.
  • Le fichier OpenAPI téléchargé doit définir tous les schémas de sécurité API nécessaires pour l'authentification.
  • Configurer l'authentification de l'API si nécessaire. Basé sur votre fichier de spécifications, configurez l'authentification via Login Management (enregistrer la connexion ou utiliser la connexion automatique) pour assurer une meilleure couverture de scan, couvrant la plupart des points de terminaison et évitant les échecs de requêtes.
  • La configuration de l'authentification par clé API n'est pas prise en charge dans AppScan Enterprise.
  • Si vous ajoutez un fichier de description JSON ou YAML local au lieu d'une URL à une configuration, vous ne pouvez pas l'exporter en tant que fichier SCANT (modèle), car le fichier de spécification ne peut pas être inclus dans un modèle. Vous devez soit supprimer le fichier de spécification, soit l'enregistrer en tant que fichier SCAN.

Réponse :

  • En cas de succès, l'API renvoie un code d'état HTTP 200 OK.
  • Pour les détails des erreurs, consultez la documentation Swagger de l'API.