Nesta página, explicamos como criar contas de serviço usando a
API Identity and Access Management (IAM), o console do Google Cloud e a ferramenta de linha de
comando gcloud
.
Por padrão, cada projeto pode ter até 100 contas de serviço que controlam o acesso aos seus recursos. Se necessário, é possível solicitar um aumento de cota. Saiba mais sobre cotas e limites.
Antes de começar
Ative a IAM API.
Configure a autenticação.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.
gcloud
É possível usar as amostras da CLI do gcloud nesta página de um dos seguintes ambientes de desenvolvimento:
-
Cloud Shell: para usar um terminal on-line com a CLI gcloud já configurada, ative o Cloud Shell.
Na parte de baixo desta página, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. A inicialização da sessão pode levar alguns segundos.
-
Shell local: para usar a CLI da gcloud em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud.
C++
Para usar as amostras de C++ nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
C#
Para usar as amostras de .NET nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
Go
Para usar as amostras de Go nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
Java
Para usar as amostras de Java nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
Python
Para usar as amostras de Python nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Entenda as contas de serviço do IAM
Funções exigidas
Para conseguir as permissões necessárias para criar contas de serviço,
peça ao administrador para conceder a você o papel para
Criar contas de serviço (roles/iam.serviceAccountCreator
) do IAM projeto.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Se você quer conceder acesso às contas de serviço recém-criadas ao projeto, também
precisa do papel de administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin
).
Crie uma conta de serviço
Ao criar uma conta de serviço, é necessário fornecer um código alfanumérico (SERVICE_ACCOUNT_NAME
nos exemplos abaixo), como my-service-account
. O código precisa ter entre 6 e 30 caracteres e pode conter caracteres alfanuméricos minúsculos e traços. Depois de criar uma conta de serviço, não é possível alterar o nome dela.
O nome da conta de serviço aparece no endereço de e-mail provisionado
durante a criação, no formato
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.
Cada conta de serviço também tem um código numérico exclusivo e permanente, que é gerado automaticamente.
Você também fornece as seguintes informações ao criar uma conta de serviço:
DESCRIPTION
é uma descrição opcional da conta de serviço.DISPLAY_NAME
é um nome intuitivo para a conta de serviço.PROJECT_ID
é o ID do seu projeto do Google Cloud.
Depois de criar uma conta de serviço, talvez seja necessário aguardar 60 segundos ou mais para usar essa conta. Esse comportamento ocorre porque as operações de leitura têm consistência eventual e pode levar algum tempo para a nova conta de serviço ficar visível. Se você tentar ler ou usar uma conta de serviço imediatamente depois de criá-la e receber um erro, será possível repetir a solicitação com espera exponencial.
Console
- No Console do Google Cloud, acesse a página Criar conta de serviço.
Acesse "Criar conta de serviço"
As etapas restantes serão exibidas automaticamente no console do Google Cloud.
- Selecione um projeto do Google Cloud.
- Insira um nome de conta de serviço a ser exibido no Console do Google Cloud.
O console do Google Cloud gerará um ID de conta de serviço com base nesse nome. Edite o ID se for necessário. Não será possível alterar o ID depois.
- Opcional: digite uma descrição da conta de serviço.
- Se você não quiser definir controles de acesso agora, clique em Concluído para finalizar a criação da conta de serviço. Para definir os controles de acesso agora, clique em Criar e continuar e avance para a próxima etapa.
- Opcional: escolha um ou mais papéis do IAM para conceder à conta de serviço no projeto.
- Quando você terminar de adicionar papéis, clique em Continuar.
- Opcional: no campo Papel de usuários da conta de serviço, adicione participantes que precisam anexar a conta de serviço a outros recursos.
- Opcional: no campo Papel de administrador da conta de serviço, adicione membros que precisam gerenciar a conta de serviço.
- Clique em Concluído para terminar a criação da conta de serviço.
gcloud
-
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
-
Para criar a conta de serviço, execute o comando
gcloud iam service-accounts create
.gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Substitua os seguintes valores:
-
SERVICE_ACCOUNT_NAME
: o nome da conta de serviço. -
DESCRIPTION
: uma descrição opcional da conta de serviço. -
DISPLAY_NAME
: um nome de conta de serviço a ser exibido no Console do Google Cloud
-
-
Opcional: para conceder à conta de serviço um papel do IAM no projeto, execute o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Substitua os seguintes valores:
-
PROJECT_ID
: o ID do projeto -
SERVICE_ACCOUNT_NAME
: o nome da conta de serviço. -
ROLE_NAME
: um nome de papel, comoroles/compute.osLogin
-
-
Opcional: para permitir que os usuários anexem a conta de serviço a outros recursos, execute o comando
gcloud iam service-accounts add-iam-policy-binding
para conceder a um usuário o papel de usuário da conta de serviço (roles/iam.serviceAccountUser
) na conta de serviço:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Substitua os seguintes valores:
PROJECT_ID
: o ID do projetoSERVICE_ACCOUNT_NAME
: o nome da conta de serviço.USER_EMAIL
: o endereço de e-mail do usuário
C++
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API C++ do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
C#
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API C# do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
Go
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API Go do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
Java
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API Java do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
Python
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API Python do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
REST
O método
serviceAccounts.create
cria uma conta de serviço.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud. Os IDs do projeto são strings alfanuméricas, comomy-project
.SA_NAME
: o ID alfanumérico da sua conta de serviço. Esse nome precisa ter entre 6 e 30 caracteres e pode conter caracteres alfanuméricos minúsculos e traços.SA_DESCRIPTION
: opcional. Uma descrição da conta de serviço.SA_DISPLAY_NAME
: um nome legível para a conta de serviço.
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Corpo JSON da solicitação:
{ "accountId": "SA_NAME", "serviceAccount": { "description": "SA_DESCRIPTION", "displayName": "SA_DISPLAY_NAME" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/my-project/serviceAccounts/[email protected]", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "[email protected]", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" }
Depois de criar uma conta de serviço, atribua a ela um ou mais papéis para que ela possa atuar em seu nome.
Além disso, se a conta de serviço precisar acessar recursos em outros projetos, geralmente é necessário ativar as APIs desses recursos no projeto em que você criou a conta de serviço.
A seguir
- Saiba como listar e editar contas de serviço.
- Analise o processo para conceder papéis do IAM a todos os tipos de principais, incluindo contas de serviço.
- Entenda como anexar contas de serviço a recursos.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Comece a usar gratuitamente