Nesta página, explicamos como criar contas de serviço usando a
API Identity and Access Management (IAM), o console Cloud de Confiance e a ferramenta de linha de
comando gcloud.
Antes de começar
Ative a API IAM.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.Configure a autenticação.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Cloud de Confiance para acessar serviços Cloud de Confiance by S3NS e APIs, não é necessário configurar a autenticação.
gcloud
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initC#
Para usar os exemplos do .NET nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Cloud de Confiance .
C++
Para usar os exemplos de C++ nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Cloud de Confiance .
Go
Para usar os exemplos de Go nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Cloud de Confiance .
Java
Para usar os exemplos em Java desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Cloud de Confiance .
Python
Para usar os exemplos do Python nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Cloud de Confiance .
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
-
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), 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.s3ns.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 projeto do Cloud de Confiance by S3NS .
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.
O número de contas de serviço que você pode ter em cada projeto depende do seu projeto. Para conferir a cota de um projeto, acesse as cotas do projeto no console doCloud de Confiance e pesquise Contagem de contas de serviço.
Console
- No console Cloud de Confiance , acesse a página Criar conta de serviço.
- Selecionar um projeto do Cloud de Confiance
- Insira um nome de conta de serviço a ser exibido no console Cloud de Confiance .
O console Cloud de Confiance 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 Cloud de Confiance , ative o Cloud Shell.
Na parte de baixo do console Cloud de Confiance , 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 Cloud de Confiance .
-
-
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.s3ns.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-bindingpara 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.s3ns.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.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
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.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
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.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
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.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
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.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
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 Cloud de Confiance . 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.s3ns.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "my-service-account@my-project.s3ns.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.
- Confira as práticas recomendadas para trabalhar com contas de serviço.