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. Crie uma conta de serviço:

    1. No Console do Google Cloud, acesse a página Criar conta de serviço.

      Acesse "Criar conta de serviço"
    2. Selecione o projeto.
    3. No campo Nome da conta de serviço, insira um nome. O Console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.

      No campo Descrição da conta de serviço, insira uma descrição. Por exemplo, Service account for quickstart.

    4. Clique em Criar e continuar.
    5. Clique em Concluído para terminar a criação da conta de serviço.

      Não feche a janela do navegador. Você vai usá-la na próxima etapa.

  6. Crie uma chave de conta de serviço:

    1. No console do Google Cloud, clique no endereço de e-mail da conta de serviço que você criou.
    2. Clique em Chaves.
    3. Clique em Adicionar chave e em Criar nova chave.
    4. Clique em Criar. O download de um arquivo de chave JSON é feito no seu computador.
    5. Clique em Fechar.
  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. Crie uma conta de serviço:

    1. No Console do Google Cloud, acesse a página Criar conta de serviço.

      Acesse "Criar conta de serviço"
    2. Selecione o projeto.
    3. No campo Nome da conta de serviço, insira um nome. O Console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.

      No campo Descrição da conta de serviço, insira uma descrição. Por exemplo, Service account for quickstart.

    4. Clique em Criar e continuar.
    5. Clique em Concluído para terminar a criação da conta de serviço.

      Não feche a janela do navegador. Você vai usá-la na próxima etapa.

  14. Crie uma chave de conta de serviço:

    1. No console do Google Cloud, clique no endereço de e-mail da conta de serviço que você criou.
    2. Clique em Chaves.
    3. Clique em Adicionar chave e em Criar nova chave.
    4. Clique em Criar. O download de um arquivo de chave JSON é feito no seu computador.
    5. Clique em Fechar.
  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