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:
- Credenciais do utilizador para bibliotecas cliente ou ferramentas de terceiros
- Credenciais do utilizador para pedidos REST a partir da linha de comandos
- Utilização da identidade de uma conta de serviço
Bibliotecas de cliente ou ferramentas de terceiros
Configure as Credenciais padrão da aplicação (ADC) no seu ambiente local:
-
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.
-
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:
-
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.
-
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
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 accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grant
- To grant another role to the service account, run the command as you did in the previous step.
-
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 accountPROJECT_ID
: the project ID where you created the service accountUSER_EMAIL
: the email address for a Google Account
-
-
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
-
Substitua
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?
- Saiba mais acerca dos Google Cloud métodos de autenticação.
- Consulte uma lista de exemplos de utilização da autenticação.