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.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Video Intelligence API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Video Intelligence API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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, sigue estos pasos:
En la página Credenciales de la consola de Google Cloud, selecciona Crear credenciales > Clave de cuenta de servicio.
Luego, en Cuenta de servicio, selecciona Nueva cuenta de servicio.
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.
En Tipo de clave, selecciona JSON para la mayoría de los proyectos nuevos.
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 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