Como autenticar na API Video Intelligence

Nesta página, descrevemos o que é uma conta de serviço, como criar uma para autenticar solicitações à API Video Intelligence e como usar sua 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. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

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

  4. Ative a API Cloud Video Intelligence.

    Ative a 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. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém suas credenciais. Essa variável só se aplica à sessão de shell atual. Assim, se você abrir uma nova sessão, precisará definir a variável novamente.

  8. Instale a CLI do Google Cloud.
  9. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  10. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

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

  12. Ative a API Cloud Video Intelligence.

    Ative a 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. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém suas credenciais. Essa variável só se aplica à sessão de shell atual. Assim, se você abrir uma nova sessão, precisará definir a variável novamente.

  16. Instale a CLI do Google Cloud.
  17. Para inicializar a CLI gcloud, execute o seguinte comando:

    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 seguinte:

  1. Na página Credenciais do console do Google Cloud, 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 arquivo de texto .json), solicita que você faça o download do arquivo para 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