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
Enable the IAM API.
Configure a autenticação.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Para usar os exemplos .NET desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run 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.
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 os exemplos C++ desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run 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.
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 os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run 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.
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 os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run 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.
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 os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run 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.
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 gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
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 a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de 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), comomy-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.
As etapas restantes aparecem 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
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
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/my-service-account@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.iam.gserviceaccount.com", "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 gratuitamenteExceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.