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 en la API de Video Intelligence y cómo usar tu cuenta de servicio para configurar Credenciales predeterminadas de la aplicación.

Para permitir que el código de tu 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. (Estos mecanismos relacionados con las credenciales se conocen como esquemas auth).

La autenticación y la autorización de la API de Google Cloud (en general, se agrupan como "autenticación") por lo general se usan con una cuenta de servicio. Una cuenta de servicio permite que tu código envíe credenciales de aplicación directamente a la API de Video Intelligence. Una cuenta de servicio, como una cuenta de usuario, está representada por 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.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

  4. Habilita la API Cloud Video Intelligence.

    Habilita la API

  5. Configura la autenticación:
    1. En Cloud Console, ve a la página Crear una clave de cuenta de servicio.

      Ir a la página Crear clave de la cuenta de servicio
    2. En la lista Cuenta de servicio, selecciona Cuenta de servicio nueva.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio.
    4. No selecciones un valor de la lista Función. No se necesita una función para acceder a este servicio.
    5. Haz clic en Crear. Aparece una nota que advierte que esta cuenta de servicio no tiene función.
    6. Haz clic en Crear sin función. Se descargará un archivo JSON que contiene tus claves a tu computadora.
  6. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene la clave de tu cuenta de servicio. Esta variable solo se aplica a la sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  7. Instala e inicializa el SDK de Cloud.

Crea una cuenta de servicio en Cloud Console

Para crear una cuenta de servicio con Google Cloud Console, sigue estos pasos:

  1. En la página Credenciales de Cloud Console, selecciona Crear credenciales y clave de cuenta de servicio.

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

  3. En el cuadro Nombre de la cuenta de servicio, ingresa un nombre para tu cuenta de servicio. Este nombre se usa como el nombre predeterminado de tu ID de cuenta de servicio (a la izquierda de la "@" en la dirección del ID de la cuenta de servicio generada), pero puedes cambiar este nombre de ID de la cuenta de servicio. 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. Haga clic en Crear.

Luego, Cloud Console 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 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-----\n....
  =\n-----END PRIVATE KEY-----\n",
  "client_email": "<api-name>api@project-id.iam.gserviceaccount.com",
  "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/...<api-name>api%40project-id.iam.gserviceaccount.com"
}

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 cuenta de servicio dentro del código cuando envíes solicitudes de anotación a la API de Video Intelligence.

Autentica con una credencial predeterminada de la aplicación

La manera más simple de autenticar las aplicaciones en la API de Video Intelligence es mediante las Credenciales predeterminadas de la aplicación (ADC). Los servicios que usan ADC primero buscan las credenciales dentro de una variable de entorno GOOGLE_APPLICATION_CREDENTIALS. A menos que necesites específicamente 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