Autentique-se na API Transcoder

Este documento descreve como fazer a autenticação na Transcoder API de forma programática. A forma como se autentica na API Transcoder depende da interface que usa para aceder à API e do ambiente onde o seu código está a ser executado.

Para mais informações sobre a Google Cloud autenticação, consulte os métodos de autenticação.

Acesso de API

A API Transcoder suporta o acesso programático. Pode aceder à API das seguintes formas:

Bibliotecas cliente

As bibliotecas cliente da API Transcoder oferecem suporte de linguagem de alto nível para autenticação na API Transcoder de forma programática. Para autenticar chamadas para Google Cloud APIs, as bibliotecas cliente suportam Credenciais padrão da aplicação (ADC); as bibliotecas procuram credenciais num conjunto de localizações definidas e usam essas credenciais para autenticar pedidos para a API. Com o ADC, pode disponibilizar credenciais à sua aplicação numa variedade de ambientes, como desenvolvimento local ou produção, sem ter de modificar o código da aplicação.

CLI do Google Cloud

Quando usa a CLI gcloud para aceder à API Transcoder, inicia sessão na CLI gcloud com uma conta de utilizador, que fornece as credenciais usadas pelos comandos da CLI gcloud.

Se as políticas de segurança da sua organização impedirem que as contas de utilizador tenham as autorizações necessárias, pode usar a representação da conta de serviço.

Para mais informações, consulte o artigo Autentique-se para usar a CLI gcloud. Para mais informações sobre a utilização da CLI gcloud com a API Transcoder, consulte as páginas de referência da CLI gcloud.

REST

Pode autenticar-se na API Transcoder usando as suas credenciais da CLI gcloud ou usando as Credenciais padrão da aplicação. Para mais informações sobre a autenticação de pedidos REST, consulte o artigo Autentique-se para usar REST. Para obter informações sobre os tipos de credenciais, consulte Credenciais da CLI gcloud e credenciais da ADC.

Configure a autenticação para a Transcoder API

A forma como configura a autenticação depende do ambiente onde o seu código está a ser executado.

As seguintes opções de configuração da autenticação são as mais usadas. Para mais opções e informações sobre a autenticação, consulte os métodos de autenticação.

Para um ambiente de desenvolvimento local

Pode configurar credenciais para um ambiente de desenvolvimento local das seguintes formas:

Bibliotecas de cliente ou ferramentas de terceiros

Configure as Credenciais padrão da aplicação (ADC) no seu ambiente local:

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    É apresentado um ecrã de início de sessão. Depois de iniciar sessão, as suas credenciais são armazenadas no ficheiro de credenciais local usado pelo ADC.

Para mais informações sobre como trabalhar com o ADC num ambiente local, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.

Pedidos REST a partir da linha de comandos

Quando faz um pedido REST a partir da linha de comandos, pode usar as suas credenciais da CLI gcloud incluindo gcloud auth print-access-token como parte do comando que envia o pedido.

O exemplo seguinte apresenta uma lista de contas de serviço para o projeto especificado. Pode usar o mesmo padrão para qualquer pedido REST.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu Google Cloud projeto.

Para enviar o seu pedido, expanda uma destas opções:

 

Para mais informações sobre a autenticação através de REST e gRPC, consulte o artigo Autentique-se para usar o REST. Para obter informações sobre a diferença entre as suas credenciais da ADC local e as credenciais da CLI gcloud, consulte o artigo Configuração de autenticação da CLI gcloud e configuração da ADC.

Simulação de identidade de conta de serviço

Na maioria dos casos, pode usar as suas credenciais de utilizador para fazer a autenticação a partir de um ambiente de desenvolvimento local. Se isso não for viável ou se precisar de testar as autorizações atribuídas a uma conta de serviço, pode usar a representação da conta de serviço. Tem de ter a autorização iam.serviceAccounts.getAccessToken, que está incluída na função do IAM criador de tokens de contas de serviço (roles/iam.serviceAccountTokenCreator).

Pode configurar a CLI gcloud para usar a representação da conta de serviço através do comando gcloud config set:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Para determinados idiomas, pode usar a representação da conta de serviço para criar um ficheiro ADC local para utilização por bibliotecas cliente. Esta abordagem só é suportada para as bibliotecas cliente Go, Java, Node.js e Python. Não é suportada para os outros idiomas. Para configurar um ficheiro ADC local com a representação da conta de serviço, use a flag --impersonate-service-account com o comando gcloud auth application-default login:

gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL

Para mais informações sobre a simulação da conta de serviço, consulte o artigo Use a simulação da conta de serviço.

A Google Cloud

Para autenticar uma carga de trabalho em execução no Google Cloud, usa as credenciais da conta de serviço anexada ao recurso de computação onde o seu código está a ser executado, como uma instância de máquina virtual (VM) do Compute Engine. Esta abordagem é o método de autenticação preferencial para o código executado num Google Cloud recurso de computação.

Para a maioria dos serviços, tem de anexar a conta de serviço quando cria o recurso que vai executar o seu código. Não pode adicionar nem substituir a conta de serviço posteriormente. O Compute Engine é uma exceção, pois permite associar uma conta de serviço a uma instância de VM em qualquer altura.

Use a CLI gcloud para criar uma conta de serviço e anexá-la ao seu recurso:

  1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

    gcloud init

    Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  2. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. To provide access to your project and your resources, grant a role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
    3. To grant another role to the service account, run the command as you did in the previous step.
    4. Grant the required role to the principal that will attach the service account to other resources.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • USER_EMAIL: the email address for a Google Account
  3. Crie o recurso que vai executar o seu código e anexe a conta de serviço a esse recurso. Por exemplo, se usar o Compute Engine:

    Create a Compute Engine instance. Configure the instance as follows:
    • Substitua INSTANCE_NAME pelo nome da instância que preferir.
    • Defina a flag --zone para a zona na qual quer criar a sua instância.
    • Defina a flag --service-account para o endereço de email da conta de serviço que criou.
    • gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL

Para mais informações sobre a autenticação nas APIs Google, consulte os Métodos de autenticação.

Nas instalações ou num fornecedor de nuvem diferente

O método preferencial para configurar a autenticação a partir de fora do Google Cloud é usar a federação de identidade da carga de trabalho. Para mais informações, consulte o artigo Configure o ADC para um ambiente no local ou outro fornecedor de nuvem na documentação de autenticação.

Controlo de acesso para a API Transcoder

Depois de se autenticar na API Transcoder, tem de ter autorização para aceder aos Google Cloud recursos. A Transcoder API usa a gestão de identidade e de acesso (IAM) para autorização.

Para mais informações sobre as funções da API Transcoder, consulte o artigo Controlo de acesso com a IAM. Para mais informações sobre o IAM e a autorização, consulte a vista geral do IAM.

O que se segue?