Présentation de la détection de l'API Shadow

Présentation

La détection des API Apigee Shadow détecte les API Shadow (également appelées API non documentées) dans votre infrastructure cloud existante. Les API Shadow présentent un risque pour la sécurité de votre système, car elles peuvent ne pas être sécurisées, surveillées ni gérées.

L'utilisation de la détection d'API Shadow n'affecte pas le trafic d'exécution de manière significative ni ne le ralentit.

Les instructions de cette page permettant de configurer et d'afficher les résultats des observations d'API sont basées sur l'interface utilisateur d'Apigee dans la console Cloud. Vous pouvez également utiliser les API de gestion d'Apigee (APIM) pour gérer la détection d'API Shadow. Consultez la page API de gestion de la détection d'API Shadow.

Activer la détection de l'API Shadow

La détection d'API Shadow fait partie du module complémentaire Advanced API Security d'Apigee. Pour la découverte de l'API Shadow, le module complémentaire s'applique par organisation. Pour les clients avec abonnement, il est disponible avec l'organisation Apigee. Toutefois, les clients facturés à l'usage doivent activer le module complémentaire pour au moins un environnement. La détection d'API Shadow n'est pas disponible pour les environnements d'évaluation Apigee.

Pour utiliser cette fonctionnalité, vous devez activer le module complémentaire. Si vous avez souscrit un abonnement, vous pouvez activer le module complémentaire pour votre organisation. Pour plus d'informations, consultez la page Gérer Advanced API Security pour les organisations avec abonnement. Si vous êtes un client facturé à l'usage, vous pouvez activer le module complémentaire dans vos environnements éligibles. Pour en savoir plus, consultez la page Gérer le module complémentaire Advanced API Security.

Rôles et autorisations requis pour la détection de l'API Shadow

Le tableau ci-dessous présente les rôles requis pour effectuer des tâches liées à la détection de l'API Shadow.

Tâche Rôles requis
Activer ou désactiver Advanced API Security Administrateur de l'organisation Apigee (roles/apigee.admin)
Créer des sources d'observation et des jobs Administrateur de gestion des API (roles/apim.admin)
Afficher les observations Lecteur de gestion des API (roles/apim.viewer)

Ajouter l'autorisation pour P4SA

Ajoutez un rôle au compte de service par produit et par projet (P4SA) pour votre projet afin de pouvoir activer les tâches d'observation. Ajoutez le rôle Agent de service de la détection de l'API APIM à service-PROJECT_NUMBER@gcp-sa-apim.iam.gserviceaccount.com :

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-apim.iam.gserviceaccount.com" \
--role="roles/apim.apiDiscoveryServiceAgent"

Accéder à la détection de l'API Shadow dans la console Apigee

Pour accéder à la détection de l'API Shadow dans la console Apigee, procédez comme suit :

  1. Connectez-vous à l'interface utilisateur Apigee dans la console Cloud.
  2. Accédez à Observation de l'API > API Shadow.
  3. La page principale affiche toutes les observations d'API déjà générées. Sélectionnez les onglets Observations des API et Tâches d'observation pour passer de l'affichage des résultats à la Création de tâches d'observation.

Créer des tâches d'observation

Les tâches d'observation fournissent les instructions dont Shadow API Discovery a besoin pour rechercher des API shadow. Procédez comme suit pour créer une tâche d'observation. Tenez compte des comportements et limites qui s'appliquent à la création de tâches d'observation.

  1. Sélectionnez l'onglet Tâches d'observation, puis cliquez sur Créer une tâche d'observation.
  2. Sélectionnez une ou plusieurs sources d'observation.
    ou
  3. Cliquez sur Créer une source d'observation en bas de la liste Sources d'observation pour créer des emplacements sources si nécessaire. Notez que le processus de création de la source d'observation peut prendre plusieurs minutes.

    Nom de la source : nom que vous spécifiez pour identifier la source.
    Emplacement : emplacement où observer. L'inclusion de régions sources supplémentaires permet d'obtenir une vue plus large des API de votre infrastructure. Consultez les Bonnes pratiques. Vous ne pouvez créer qu'une seule source d'observation dans un emplacement.
    Réseau et Sous-réseau : réseau et sous-réseau VPC. Le sous-réseau doit se trouver dans la même région que la source d'observation.
  4. Créer un job d'observation. Indiquez un nom de tâche d'observation, qui doit être unique pour chaque emplacement. Sélectionnez un emplacement, qui spécifie l'emplacement où auront lieu l'agrégation et le traitement des données. Toutes les données collectées dans les régions sources sont traitées dans cette région et y sont accessibles, conformément aux Règles de Google concernant la résidence des données. La création d'une tâche d'observation peut prendre quelques minutes.
  5. Activer le job d'observation (facultatif). Vous pouvez activer la tâche lorsque vous la créez. Dans ce cas, la surveillance commence immédiatement. Si vous n'activez pas la tâche immédiatement, vous pouvez activer la tâche d'observation ultérieurement à partir de la liste des tâches d'observation.

Activer, désactiver et supprimer des tâches d'observation

Pour indiquer si une tâche d'observation existante est activée (active), sélectionnez Activer ou Désactiver dans le menu Actions de la ligne correspondant à cette tâche sur la page Tâches d'observation.

Pour supprimer une tâche d'observation existante, sélectionnez Supprimer dans le menu Actions de cette tâche. La suppression d'une tâche supprime également les résultats d'observation associés. Par conséquent, si vous souhaitez conserver les résultats tout en empêchant la poursuite de la tâche, désactivez-la plutôt que de la supprimer. Les tâches actives ne peuvent pas être supprimées. Désactivez d'abord les tâches actives si vous devez les supprimer.

Afficher les observations d'API

Pour afficher les observations d'API des tâches d'observation activées, choisissez l'onglet Observations d'API, puis sélectionnez la tâche d'observation dans la liste.

Page "Observations" de l'API

La liste des observations affiche les valeurs suivantes :

  • Nom d'hôte : nom d'hôte de l'API. Cliquez sur le nom d'hôte pour afficher les détails de l'observation.
  • Opérations d'API : nombre d'opérations d'API (telles que les requêtes GET ou PUT) observées.
  • Adresses IP de serveurs : adresses IP des serveurs hébergeant les API détectées.
  • Emplacement source : zones sources dans lesquelles le trafic a été observé.
  • Dernier événement détecté (UTC) : date et heure de la détection de la requête la plus récente envoyée à l'API.

Afficher les détails de l'observation

Après avoir cliqué sur le nom d'hôte dans la liste des observations, la page des détails de l'observation s'affiche.

Détails de l'observation de l'API

Cette page inclut les informations suivantes sur l'observation.

  • La boîte de résumé en haut de la page affiche les informations suivantes :
    • ID d'observation de l'API : il s'agit d'un identifiant spécifique à Apigee.
    • Opérations d'API : consultez la section Afficher les observations d'API pour obtenir une description de ce champ.
    • Heure de création (UTC) : date et heure de création de la tâche d'observation
    • Heure du dernier événement détecté : consultez la section Afficher les observations de l'API pour obtenir une description de ce champ.
  • Table des opérations d'API spécifiques détectées sur cette API découverte. Pour chaque requête, les informations suivantes sont affichées :
    • Chemin : chemin d'accès de la requête.
    • Méthode : méthode de la requête (par exemple GET, PUT, etc.).
    • Nombre : le nombre de requêtes adressées à ce chemin avec cette méthode.
    • Requête de transaction : corps de la requête provenant des données de trafic. Inclut les en-têtes de requête et le nombre de transactions correspondants pour cette opération d'API.
    • En-têtes de réponse de transaction : en-têtes de réponse des données de trafic. Inclut les en-têtes de réponse et le nombre de transactions correspondant pour cette opération d'API.
    • Codes de réponse de transaction : codes de réponse et nombre correspondant de réponses avec ce code pour cette opération d'API.
    • Première observation (UTC) : date et heure de la première observation de la requête envoyée à cette opération d'API.
    • Dernière occurrence (UTC) : date et heure les plus récentes auxquelles la requête adressée à cette opération d'API a été observée.

Bonnes pratiques

Nous vous recommandons de suivre ces pratiques lorsque vous utilisez la détection de l'API Shadow :

  • Suivez les règles de résidence des données de votre organisation pour vous assurer du respect des réglementations et des lois applicables.
  • Aggrégez les données de régions sources aussi nombreuses que possible pour obtenir la meilleure corrélation interrégionale. L'inclusion de plusieurs régions sources dans vos tâches d'observation permet d'obtenir une vue plus large des API dans votre infrastructure.

Comportements et limites

Cette section répertorie les comportements et les limites qui s'appliquent à la détection de l'API Shadow :

  • L'utilisation de la détection d'API Shadow ne garantit pas l'observation de 100% du trafic, ni la découverte de toutes les API Shadow.
  • Shadow API Discovery ne trouve les API Shadow que sur votre infrastructure Google Cloud.
  • La détection de l'API Shadow n'est actuellement compatible qu'avec les équilibreurs de charge d'application régionaux.
  • La détection d'API Shadow recherche des API de protocole HTTP, et non gRPC.
  • Avertissement : La détection d'API Shadow est compatible avec les équilibreurs de charge sur un réseau par projet. Si vous activez la détection d'API Shadow sur un projet comportant plusieurs réseaux, vous risquez d'observer un comportement inattendu.
  • Avertissement : L'activation de la détection d'API Shadow peut entraîner une augmentation de la latence pour les appels de l'équilibreur de charge dans tous les réseaux du projet.
  • La détection du trafic par une tâche d'observation nouvellement activée peut prendre jusqu'à 60 minutes.
  • Pour pouvoir détecter les API Shadow, du trafic doit transiter par les équilibreurs de charge de vos projets observés. La détection d'API Shadow nécessite au minimum quelques minutes à quelques heures de détection du trafic, en fonction du volume de trafic. Le trafic creux nécessite des temps d'observation plus longs avant que les résultats ne soient disponibles.
  • Par région, il existe une limite à une source d'observation et à trois tâches d'observation au maximum. Si vous avez besoin de plus de trois tâches d'observation, veuillez contacter l'assistance Apigee pour discuter du cas d'utilisation.
  • Les tâches d'observation peuvent être créées, désactivées ou supprimées, mais pas modifiées. Si vous devez modifier une tâche d'observation, supprimez-la et recréez-la.
  • Seules certaines régions sont compatibles avec les tâches de détection de l'API Shadow pour le moment.