Autenticazione nell'API Video Intelligence

Questa pagina descrive che cos'è un account di servizio, come crearne uno per autenticare le richieste all'API Video Intelligence e come utilizzare l'account di servizio per impostare le credenziali predefinite dell'applicazione.

Per consentire al codice dell'applicazione di utilizzare l'API Video Intelligence, devi configurare le credenziali appropriate per consentire all'applicazione di autenticare la propria identità al servizio e di ottenere l'autorizzazione per eseguire le attività. Questi meccanismi relativi alle credenziali sono noti come schemi di autenticazione.

L'autenticazione e l'autorizzazione dell'API Google Cloud (comunemente raggruppate come "autenticazione") vengono in genere eseguite utilizzando un account di servizio. Un account di servizio consente al tuo codice di inviare le credenziali dell'applicazione direttamente all'API Video Intelligence. Un account di servizio, come un account utente, è rappresentato da un indirizzo email. A differenza di un account utente, un account di servizio è associato solo a un'applicazione.

Attivazione dell'API

Prima di poter eseguire l'autenticazione, devi prima abilitare l'API Video Intelligence.

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Video Intelligence API.

    Enable the API

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. 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.

    4. Click Create and continue.
    5. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  7. 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.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Cloud Video Intelligence API.

    Enable the API

  13. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. 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.

    4. Click Create and continue.
    5. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  14. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  15. 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.

  16. Install the Google Cloud CLI.
  17. To initialize the gcloud CLI, run the following command:

    gcloud init

Creazione di un account di servizio nella console Google Cloud

Per creare un account di servizio utilizzando la console Google Cloud, segui questi passaggi:

  1. Nella pagina Credenziali della console Google Cloud, seleziona Crea credenziali > Chiave account di servizio.

  2. Poi, in Account di servizio, seleziona Nuovo account di servizio.

  3. Nella casella Nome account di servizio, inserisci un nome per l'account di servizio. Questo nome viene utilizzato come nome predefinito per l'ID account di servizio (a sinistra del simbolo "@" nell'indirizzo dell'ID account di servizio generato), ma puoi modificarlo. Questi nomi sono arbitrari; è importante solo che li ricordi.

  4. In Tipo di chiave, seleziona JSON per la maggior parte dei nuovi progetti.

  5. Fai clic su Crea.

La console Google Cloud genera quindi una chiave JSON (come file di testo .json), ti chiede di scaricare il file sul computer e mostra una finestra di dialogo Account di servizio creato.

La chiave JSON generata sarà simile alla seguente chiave JSON di esempio:

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

Archivia questo file JSON in modo sicuro, in quanto contiene la tua chiave privata (e questo file è l'unica copia della chiave). Devi fare riferimento a questo file della chiave dell'account di servizio nel codice quando invii richieste di annotazione all'API Video Intelligence.

Autenticazione con le Credenziali predefinite dell'applicazione

Il modo più semplice per le applicazioni di autenticarsi all'API Video Intelligence è tramite le Credenziali predefinite dell'applicazione (ADC). I servizi che utilizzano l'ADC cercano prima le credenziali all'interno di una variabile di ambienteGOOGLE_APPLICATION_CREDENTIALS. A meno che non richieda esplicitamente all'ADC di utilizzare altre credenziali (ad esempio le credenziali utente), devi impostare questa variabile di ambiente in modo che indichi il file della chiave dell'account di servizio (il file .json scaricato quando hai creato una chiave dell'account di servizio).

$ export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_ACCOUNT_FILE