Accéder à l'API AppNeta

Vous pouvez interagir avec l'API AppNeta à l'aide d'un flux d'authentification basé sur un jeton provenant de Google Cloud.

Avant de commencer

Pour générer le jeton d'accès nécessaire Google Cloud , vous devez opérer dans un Google Cloud projet. Nous vous recommandons d'utiliser le même projet dans lequel vous avez activé Cloud Network Insights.

L'utilisateur ou le compte de service qui demande le jeton doit disposer de l'un des rôles suivants dans le Google Cloud projet :

  • Si vous souhaitez que le compte dispose d'un accès en lecture seule aux ressources Cloud Network Insights, accordez-lui l'un des rôles suivants dans votre projet :
    • Lecteur Cloud Network Insights (roles/networkmanagement.CloudNetworkInsightsViewer)
    • Lecteur Network Management (networkmanagement.viewer)
    • Rôle de base Lecteur
  • Si vous souhaitez que le compte dispose d'un accès complet aux ressources Cloud Network Insights, accordez-lui l'un des rôles suivants dans votre projet :
    • Éditeur Cloud Network Insights (roles/networkmanagement.CloudNetworkInsightsEditor)
    • Administrateur Network Management (networkmanagement.admin)

Créer un jeton d'API AppNeta

Vous pouvez créer un jeton d'API AppNeta en générant un Google Cloud jeton d'accès à échanger contre un jeton spécifique au fournisseur utilisé avec l'API AppNeta.

Générer un Google Cloud jeton d'accès

Générez un Google Cloud jeton d'accès pour l'utilisateur ou le compte de service qui effectue les appels d'API. Il existe plusieurs façons d'obtenir un Google Cloud jeton d'accès, en fonction de votre environnement et de la façon dont vous êtes authentifié auprès de Google Cloud.

  • Comptes de service : si vous exécutez des applications sur Google Cloud une infrastructure (par exemple, Compute Engine, Google Kubernetes Engine) ou si vous utilisez des clés de compte de service, vous pouvez utiliser les bibliothèques clientes Cloud ou le serveur de métadonnées pour récupérer des jetons.
  • Autres environnements : Google Cloud fournit différents mécanismes d'authentification.

Consultez la section Types de jetons d'authentification pour obtenir un guide complet sur le choix de la meilleure méthode pour votre situation.

Si Google Cloud CLI est installé et configuré, vous pouvez générer un jeton à copier à l'aide des commandes gcloud CLI.

  gcloud auth print-access-token

Si vous souhaitez utiliser les identifiants par défaut de l'application, utilisez la commande gcloud CLI suivante.

gcloud auth application-default print-access-token

Échanger des jetons

Utilisez lejeton d'accès copié Google Cloud pour appeler l'API Network Management afin de générer un jeton d'accès spécifique au fournisseur pour AppNeta.

Le jeton AppNeta expire lorsque le Google Cloud jeton utilisé pour le générer expire. Google Cloud Lesjetons d'accès sont généralement valides pendant une heure. Nous vous recommandons d'utiliser un nouveau Google Cloud jeton d'accès chaque fois que vous effectuez l' generateProviderAccessTokenappel pour vous assurer que le jeton AppNeta a la durée de vie maximale possible.

gcloud

gcloud alpha network-management network-monitoring-providers 
generate-provider-access-token NETWORK_MONITORING_PROVIDER
--project=PROJECT_ID
--location=global
--gcp-access-token=GCP_ACCESS_TOKEN

Remplacez les éléments suivants :

  • NETWORK_MONITORING_PROVIDER : nom du fournisseur. Utilisez external comme NETWORK_MONITORING_PROVIDER.
  • PROJECT_ID : projet dans lequel Cloud Network Insights est activé.
  • GCP_ACCESS_TOKEN : jeton que vous avez généré dans Google Cloud.

curl

curl -H "Authorization: Bearer GCP_ACCESS_TOKEN" 
"https://networkmanagement.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/networkMonitoringProviders/external:generateProviderAccessToken?gcp_access_token=GCP_ACCESS_TOKEN"

Remplacez les éléments suivants :

  • GCP_ACCESS_TOKEN : jeton que vous avez généré dans Google Cloud.
  • PROJECT_ID : projet dans lequel Cloud Network Insights est activé.

La réponse à cet appel contient le providerAccessToken, que vous utilisez pour authentifier directement les requêtes auprès des points de terminaison de l'API AppNeta.

Utiliser le jeton AppNeta

Utilisez le providerAccessToken comme jeton porteur dans l'en-tête d'autorisation lorsque vous effectuez des appels à l'API AppNeta. Consultez la documentation de l'API AppNeta pour en savoir plus sur les points de terminaison disponibles et les formats de requête.