Como autenticar na API Video Intelligence

Esta página descreve o que é uma conta de serviço e como criá-la para autenticar solicitações à API Video Intelligence e como usar conta de serviço para definir o Application Default Credentials.

Para permitir que o código do aplicativo use a API Video Intelligence, configure as credenciais adequadas para o aplicativo. Assim, será possível autenticar a identidade do aplicativo para o serviço e receber a autorização para executar tarefas. Esses mecanismos de credenciais são conhecidos como esquemas de autenticação.

A autenticação e a autorização da API Google Cloud (normalmente agrupadas como "auth") geralmente são feitas usando uma conta de serviço. Uma conta de serviço permite que seu código envie credenciais de aplicativo diretamente para a API Video Intelligence. Uma conta de serviço, como uma conta de usuário, é representada por um endereço de e-mail. Ao contrário de uma conta de usuário, uma conta de serviço é associada apenas a um aplicativo.

Ative a API

Antes de autenticar, você deve primeiro ativar a API Video Intelligence.

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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

Como criar uma conta de serviço no console do Google Cloud

Para criar uma conta de serviço usando o console do Google Cloud, faça o seguintes:

  1. No console do Google Cloud Credenciais selecione Criar credenciais > Chave da conta de serviço.

  2. Em seguida, em Conta de serviço, selecione Nova conta de serviço.

  3. No campo Nome da conta de serviço, insira um nome para a conta de serviço. Esse nome é usado como padrão para o ID da conta de serviço, localizado à esquerda de "@" no endereço gerado desse ID conta de serviço. Entretanto, é possível alterar o nome do ID da conta de serviço. Esses nomes são arbitrários. É importante apenas que você os memorize.

  4. Em Tipo de chave, selecione JSON para a maioria dos novos projetos.

  5. Clique em Criar.

Em seguida, o console do Google Cloud gera uma chave JSON (como um objeto .json arquivo de texto), solicita que você faça o download do arquivo em seu computador, e exibe uma caixa de diálogo Conta de serviço criada.

A chave JSON gerada é semelhante a esta amostra de chave:

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

Armazene esse arquivo JSON em segurança, já que ele contém a chave privada e é a única cópia dessa chave. Você precisará consultar esse arquivo de chave da conta de serviço no seu código ao enviar solicitações de anotação para a API Video Intelligence.

Como autenticar com o Application Default Credentials

A maneira mais simples de autenticar os aplicativos na API Video Intelligence é usar o Application Default Credentials (ADC). Nos serviços que usam o ADC, as credenciais são procuradas em primeiro lugar na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS. A menos que você precise especificamente do ADC para usar outras credenciais (por exemplo, credenciais de usuário), defina essa variável de ambiente para apontar para o arquivo de chave da conta de serviço (o arquivo .json salvo quando você criou uma chave de conta de serviço).

$ export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_ACCOUNT_FILE