Autentica en la API de Video Intelligence

En esta página, se describe qué es una cuenta de servicio, cómo crear una para autenticar solicitudes a la API de Video Intelligence y cómo usarla para configurar las credenciales predeterminadas de la aplicación.

A fin de permitir que el código de la aplicación use la API de Video Intelligence, debes configurar las credenciales adecuadas para que tu aplicación autentique su identidad en el servicio y obtenga autorización para realizar tareas. (Estos mecanismos relacionados con credenciales se conocen como esquemas de autenticación).

La autenticación y autorización de la API de Google Cloud (que suele agruparse como "autenticación") se suelen realizar con una cuenta de servicio. Una cuenta de servicio permite que tu código envíe credenciales de la aplicación directamente a la API de Video Intelligence. Una cuenta de servicio, como una cuenta de usuario, se representa mediante una dirección de correo electrónico. A diferencia de una cuenta de usuario, una cuenta de servicio está asociada solo con una aplicación.

Habilita la API

Antes de autenticarte, primero debes habilitar la API de Video Intelligence.

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Cloud Video Intelligence.

    Habilita la API

  5. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Haz clic en Listo para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. La usarás en la próxima tarea.

  6. Haz lo siguiente para crear una clave de cuenta de servicio:

    1. En la consola de Google Cloud, haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haga clic en Claves.
    3. Haz clic en Agregar clave y, luego, en Crear clave nueva.
    4. Haga clic en Crear. Se descargará un archivo de claves JSON en tu computadora.
    5. Haga clic en Cerrar.
  7. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene tus credenciales. Esta variable solo se aplica a la sesión actual de Cloud Shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  8. Instala Google Cloud CLI.
  9. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  10. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  11. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  12. Habilita la API de Cloud Video Intelligence.

    Habilita la API

  13. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Haz clic en Listo para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. La usarás en la próxima tarea.

  14. Haz lo siguiente para crear una clave de cuenta de servicio:

    1. En la consola de Google Cloud, haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haga clic en Claves.
    3. Haz clic en Agregar clave y, luego, en Crear clave nueva.
    4. Haga clic en Crear. Se descargará un archivo de claves JSON en tu computadora.
    5. Haga clic en Cerrar.
  15. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene tus credenciales. Esta variable solo se aplica a la sesión actual de Cloud Shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  16. Instala Google Cloud CLI.
  17. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init

Crea una cuenta de servicio en la consola de Google Cloud

Para crear una cuenta de servicio con la consola de Google Cloud, haz lo siguiente:

  1. En la página Credenciales de la consola de Google Cloud, selecciona Crear credenciales > Clave de cuenta de servicio.

  2. Luego, en Cuenta de servicio, selecciona Nueva cuenta de servicio.

  3. En la casilla Nombre de la cuenta de servicio, ingresa un nombre para tu cuenta de servicio. Este nombre se utiliza como el nombre predeterminado para tu ID de cuenta de servicio (a la izquierda de la "@" en la dirección de ID de la cuenta de servicio generada), pero puedes cambiarlo. Estos nombres son arbitrarios; solo es importante que los recuerdes.

  4. En Tipo de clave, selecciona JSON para la mayoría de los proyectos nuevos.

  5. Haz clic en Crear.

Luego, la consola de Google Cloud genera una clave JSON (como un archivo de texto .json), te solicita que descargues el archivo en tu computadora y muestra un cuadro de diálogo que dice Cuenta de servicio creada.

La clave JSON generada será similar a la siguiente clave JSON de muestra:

{
  "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"
}

Almacena este archivo JSON de forma segura, ya que contiene tu clave privada (y este archivo es la única copia de esa clave). Debes hacer referencia a este archivo de claves de la cuenta de servicio en el código cuando envías solicitudes de anotación a la API de Video Intelligence.

Autentica con una credencial predeterminada de la aplicación

La forma más simple de que las aplicaciones se autentiquen en la API de Video Intelligence es mediante el uso de credenciales predeterminadas de la aplicación (ADC). Los servicios que usan ADC primero buscan credenciales en una variable de entorno GOOGLE_APPLICATION_CREDENTIALS. A menos que necesites de manera específica ADC para usar otras credenciales (por ejemplo, credenciales de usuario), debes configurar esta variable de entorno para que apunte al archivo de claves de tu cuenta de servicio (el archivo .json descargado cuando creaste una clave de cuenta de servicio).

$ export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_ACCOUNT_FILE