Como autenticar na API Video Intelligence

Esta página descreve 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.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative a API Cloud Video Intelligence.

    Ative a API

  5. Configurar a autenticação:
    1. No Console do Cloud, acesse a página Criar chave da conta de serviço.

      Acessar página "Criar chave da conta de serviço"
    2. Na lista Conta de serviço, selecione Nova conta de serviço.
    3. No campo Nome da conta de serviço, insira um nome.
    4. Não selecione um valor na lista Papel. Não é necessário ter um papel para acessar esse serviço.
    5. Clique em Criar. Uma nota aparecerá informando que esta conta de serviço não tem papel.
    6. Clique em Criar sem papel. O download de um arquivo JSON que contém sua chave é feito no seu computador.
  6. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém a chave da conta de serviço. Essa variável só se aplica à sessão de shell atual. Dessa maneira, se você abrir uma nova sessão, defina a variável novamente.

  7. Instale e inicialize o SDK do Cloud..

Como criar uma conta de serviço no Console do 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 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

O Console do 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 informando que a Conta de serviço foi 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-----\n....
  =\n-----END PRIVATE KEY-----\n",
  "client_email": "<api-name>api@project-id.iam.gserviceaccount.com",
  "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/...<api-name>api%40project-id.iam.gserviceaccount.com"
}

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