S'authentifier dans l'API Video Intelligence

Cette page explique ce qu'est un compte de service, comment en créer un pour authentifier les requêtes adressées à l'API Video Intelligence et comment utiliser votre compte de service pour définir les identifiants par défaut de l'application.

Pour permettre au code de votre application d'utiliser l'API Video Intelligence, vous devez configurer des identifiants appropriés pour que votre application puisse authentifier son identité auprès du service et obtenir l'autorisation d'effectuer des tâches. (Ces mécanismes liés aux identifiants sont appelés schémas d'authentification.)

L'authentification et l'autorisation des API Google Cloud (couramment regroupées sous le nom "auth") s'effectuent généralement à l'aide d'un compte de service. Un compte de service permet à votre code d'envoyer directement les identifiants de l'application à l'API Video Intelligence. Un compte de service, tel qu'un compte utilisateur, est représenté par une adresse e-mail. Contrairement à un compte utilisateur, un compte de service n'est associé qu'à une application.

Activer l'API

Avant de pouvoir vous authentifier, vous devez activer l'API Video Intelligence.

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Cloud Video Intelligence

    Activer l'API

  5. Créez un compte de service :

    1. Dans la console Google Cloud, accédez à la page Créer un compte de service.

      Accéder à la page "Créer un compte de service"
    2. Sélectionnez votre projet.
    3. Dans le champ Nom du compte de service, saisissez un nom. La console Google Cloud remplit le champ ID du compte de service en fonction de ce nom.

      Dans le champ Description du compte de service, saisissez une description. Exemple : Service account for quickstart.

    4. Cliquez sur Créer et continuer.
    5. Cliquez sur OK pour terminer la création du compte de service.

      Ne fermez pas la fenêtre de votre navigateur. Vous en aurez besoin lors de la tâche suivante.

  6. Créez une clé de compte de service :

    1. Dans la console Google Cloud, cliquez sur l'adresse e-mail du compte de service que vous avez créé.
    2. Cliquez sur Keys (Clés).
    3. Cliquez sur Ajouter une clé, puis sur Créer une clé.
    4. Cliquez sur Create (Créer). Un fichier de clé JSON est téléchargé sur votre ordinateur.
    5. Cliquez sur Close (Fermer).
  7. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès du fichier JSON contenant vos identifiants. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

  8. Installez Google Cloud CLI.
  9. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  10. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  11. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  12. Activez l'API Cloud Video Intelligence

    Activer l'API

  13. Créez un compte de service :

    1. Dans la console Google Cloud, accédez à la page Créer un compte de service.

      Accéder à la page "Créer un compte de service"
    2. Sélectionnez votre projet.
    3. Dans le champ Nom du compte de service, saisissez un nom. La console Google Cloud remplit le champ ID du compte de service en fonction de ce nom.

      Dans le champ Description du compte de service, saisissez une description. Exemple : Service account for quickstart.

    4. Cliquez sur Créer et continuer.
    5. Cliquez sur OK pour terminer la création du compte de service.

      Ne fermez pas la fenêtre de votre navigateur. Vous en aurez besoin lors de la tâche suivante.

  14. Créez une clé de compte de service :

    1. Dans la console Google Cloud, cliquez sur l'adresse e-mail du compte de service que vous avez créé.
    2. Cliquez sur Keys (Clés).
    3. Cliquez sur Ajouter une clé, puis sur Créer une clé.
    4. Cliquez sur Create (Créer). Un fichier de clé JSON est téléchargé sur votre ordinateur.
    5. Cliquez sur Close (Fermer).
  15. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès du fichier JSON contenant vos identifiants. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

  16. Installez Google Cloud CLI.
  17. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init

Créer un compte de service dans la console Google Cloud

Pour créer un compte de service à l'aide de la console Google Cloud, procédez comme suit:

  1. Sur la page Identifiants de la console Google Cloud, sélectionnez Créer des identifiants > Clé de compte de service.

  2. Sous Service account (Compte de service), sélectionnez ensuite New service account (Nouveau compte de service).

  3. Dans la zone Nom du compte de service, saisissez un nom pour votre compte de service. Ce nom est utilisé par défaut pour votre ID de compte de service (à gauche du signe "@" dans l'adresse d'ID de compte de service générée), mais vous pouvez modifier ce nom d'ID de compte de service. Ces noms sont arbitraires ; l'important est que vous vous en souveniez.

  4. Sous Key type (Type de clé), sélectionnez JSON pour la plupart des nouveaux projets.

  5. Cliquez sur Créer.

La console Google Cloud génère ensuite une clé JSON (sous la forme d'un fichier texte .json), vous invite à télécharger le fichier sur votre ordinateur et affiche une boîte de dialogue Compte de service créé.

La clé JSON générée ressemble à l'exemple suivant :

{
  "type": "service_account",
  "project_id": "PROJECT_ID",
  "private_key_id": "SOME_NUMBER",
  "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n",
  "client_email": "SERVICE_ACCOUNT_EMAIL",
  "client_id": "...",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL"
}

Stockez ce fichier JSON de manière sécurisée, car il contient votre clé privée (et il s'agit de la seule copie de cette clé). Vous devez faire référence à ce fichier de clé de compte de service dans votre code lorsque vous envoyez des requêtes d'annotation à l'API Video Intelligence.

S'authentifier à l'aide des identifiants par défaut de l'application

Le moyen le plus simple d'authentifier une application auprès de l'API Video Intelligence consiste à utiliser les identifiants par défaut de l'application (ADC, Application Default Credentials). Les services qui utilisent des identifiants par défaut recherchent d'abord les identifiants dans une variable d'environnement GOOGLE_APPLICATION_CREDENTIALS. À moins que vous n'ayez spécifiquement besoin des ADC pour utiliser d'autres identifiants (tels que des identifiants utilisateur), vous devez définir cette variable d'environnement de sorte qu'elle pointe vers le fichier de clé de votre compte de service (le fichier .json téléchargé lorsque vous avez créé une clé de compte de service).

$ export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_ACCOUNT_FILE