Neste documento, descrevemos como autenticar no Cloud Workstations de maneira programática. A forma como você se autentica no Cloud Workstations depende da interface usada para acessar a API e do ambiente em que seu código está sendo executado.
Se você não conhece a API Cloud Workstations, leia primeiro as seções a seguir:- Antes de começar
- Controle de acesso com o IAM
- Autenticar e configurar o acesso à API em uma estação de trabalho
Para mais informações sobre a autenticação do Google Cloud, consulte a visão geral da autenticação.
Acesso à API
O Cloud Workstations é compatível com o acesso programático. É possível acessar a API das seguintes maneiras:
Bibliotecas de cliente
As bibliotecas de cliente do Cloud Workstations oferecem suporte de alto nível para a autenticação no Cloud Workstations de forma programática. Para autenticar as chamadas feitas às APIs do Google Cloud, as bibliotecas de cliente dão suporte ao Application Default Credentials (ADC). As bibliotecas procuram credenciais em um conjunto de locais definidos e as usam para autenticar as solicitações feitas à API. Com o ADC, é possível disponibilizar credenciais ao aplicativo em uma variedade de ambientes, como de desenvolvimento ou produção local, sem precisar modificar o código do aplicativo.
Google Cloud CLI
Ao usar a CLI gcloud
para acessar
os Cloud Workstations, você
faz login na CLI gcloud
com uma conta de
usuário, 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 usuário tenham as permissões necessárias, é possível usar a identidade temporária de conta de serviço.
Para mais informações, consulte
Autenticar para usar a CLI gcloud
.
Para mais informações sobre como usar a CLI gcloud
com o Cloud Workstations,
consulte gcloud workstations.
REST
É possível autenticar na
API Cloud Workstations
usando as credenciais da CLI gcloud
ou o
Application Default Credentials.
Para mais informações sobre a autenticação para solicitações REST, consulte
Autenticar para usar REST.
Para saber mais sobre os tipos de credenciais, consulte
credenciais da CLI gcloud
e do ADC.
Configurar a autenticação para Cloud Workstations
A configuração da autenticação depende do ambiente em que o código está sendo executado.
As opções a seguir para configuração da autenticação são as mais usadas. Para mais opções e informações sobre autenticação, consulte Métodos de autenticação.
Antes de seguir estas instruções, conclua a configuração básica do Cloud Workstations, conforme descrito em Antes de começar.
Para um ambiente de desenvolvimento local
É possível configurar credenciais para um ambiente de desenvolvimento local das seguintes maneiras:
- Credenciais de usuário para bibliotecas de cliente ou ferramentas de terceiros
- Credenciais do usuário para solicitações REST da linha de comando
Bibliotecas de cliente ou ferramentas de terceiros
Configure o Application Default Credentials (ADC) no ambiente local:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
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.
Uma tela de login será exibida. Após o login, suas credenciais são armazenadas no arquivo de credenciais local usado pelo ADC.
Para mais informações sobre como trabalhar com o ADC em um ambiente local, consulte Ambiente de desenvolvimento local.
Solicitações REST usando a linha de comando
Ao fazer uma solicitação REST usando a linha de comando,
use as credenciais da CLI gcloud
incluindo
gcloud auth print-access-token
como parte do comando que envia a solicitação.
No exemplo a seguir, listamos as contas de serviço do projeto especificado. É possível usar o mesmo padrão em qualquer solicitação REST.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID pelo ID do projeto no Google Cloud.
Para enviar a solicitação, expanda uma destas opções:
Para mais informações sobre como autenticar usando REST e gRPC,
consulte Autenticar para usar REST.
Para mais informações sobre a diferença entre as credenciais locais da ADC e as credenciais da CLI gcloud
, consulte Configuração de autenticação da CLI gcloud
e configuração do ADC.
No Google Cloud
Para autenticar uma carga de trabalho em execução no Google Cloud, use as credenciais da conta de serviço anexada ao recurso de computação em que seu código está sendo executado, como uma instância de máquina virtual (VM) do Compute Engine. Essa abordagem é o método de autenticação preferencial para códigos em execução em um recurso de computação do Google Cloud.
Para a maioria dos serviços, você precisa anexar a conta de serviço ao criar o recurso que executará o código. Não será possível adicionar ou substituir a conta de serviço mais tarde. O Compute Engine é uma exceção. Ele permite anexar uma conta de serviço a uma instância de VM a qualquer momento.
Use a CLI gcloud
para criar uma conta de serviço e anexá-la ao
recurso:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
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 executará o código e anexe a conta de serviço a ele. Por exemplo, se você usar o Compute Engine:
Create a Compute Engine instance. Configure the instance as follows:-
Substitua
INSTANCE_NAME
pelo nome de instância de sua preferência. -
Defina a sinalização
--zone
com a zona onde será criada a instância. -
Defina a sinalização
--service-account
como o endereço de e-mail da conta de serviço que você 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 do Google, consulte Métodos de autenticação.
No local ou em outro provedor de nuvem
O método preferencial para configurar a autenticação de fora do Google Cloud é usar a federação de identidade da carga de trabalho. Para mais informações, consulte No local ou em outro provedor de nuvem na documentação de autenticação.
Controle de acesso para o Cloud Workstations
Depois de autenticar o Cloud Workstations, você precisa ter autorização para acessar os recursos do Google Cloud. O Cloud Workstations usa o Identity and Access Management (IAM) para autorização.
Para mais informações sobre os papéis dos Cloud Workstations, consulte Controle de acesso com o IAM. Para mais informações sobre o IAM e a autorização, consulte Visão geral do IAM.
A seguir
- Configurar práticas recomendadas de segurança.
- Saiba mais sobre o suporte a SSH.
- Confira uma lista de parâmetros de configuração da estação de trabalho.
- Saiba mais sobre os métodos de autenticação do Google Cloud.
- Veja uma lista de casos de uso de autenticação.