Nesta página, explicamos como listar e editar 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 a 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 receber as permissões necessárias para gerenciar contas de serviço, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Para ver contas de serviço:
Ver contas de serviço (
roles/iam.serviceAccountViewer) -
Para editar contas de serviço:
Administrador de contas de serviço (
roles/iam.serviceAccountAdmin)
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 usando papéis personalizados ou outros papéis predefinidos.
Os papéis básicos do IAM também contêm permissões para gerenciar as contas de serviço. Não conceda papéis básicos em um ambiente de produção, recomendamos que você faça isso em um ambiente de desenvolvimento ou teste.
Como listar contas de serviço
É possível listar as contas de serviço gerenciadas pelo usuário em um projeto para ajudar a auditar contas de serviço e chaves ou como parte de uma ferramenta personalizada para gerenciar contas de serviço.
Não é possível listar os agentes de serviço que podem aparecer nos registros de auditoria e políticas do projeto. Os agentes de serviço não estão localizados no projeto e não é possível acessá-los diretamente.
Console
No console Cloud de Confiance , acesse a página Contas de serviço.
Selecione um projeto.
A página Contas de serviço lista todas as contas de serviço gerenciadas pelo usuário no projeto selecionado.
gcloud
O comando
gcloud iam service-accounts list
lista todas as conta de serviço gerenciadas pelo usuário no projeto especificado.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto do Cloud de Confiance . Os IDs do projeto são strings alfanuméricas, comomy-project.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud iam service-accounts list --project=PROJECT_ID
Windows (PowerShell)
gcloud iam service-accounts list --project=PROJECT_ID
Windows (cmd.exe)
gcloud iam service-accounts list --project=PROJECT_ID
Você receberá uma resposta semelhante a esta:
DISPLAY NAME: SA_DISPLAY_NAME_1 EMAIL: SA_NAME_1@PROJECT_ID.s3ns.iam.gserviceaccount.com DISABLED: False DISPLAY NAME: SA_DISPLAY_NAME_2 EMAIL: SA_NAME_2@PROJECT_ID.s3ns.iam.gserviceaccount.com DISABLED: False
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 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 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 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 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.list
lista todas as conta de serviço gerenciadas pelo usuário no projeto especificado.
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.
Método HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"accounts": [
{
"name": "projects/my-project/serviceAccounts/sa-1@my-project.s3ns.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "sa-1@my-project.s3ns.iam.gserviceaccount.com",
"description": "My first service account",
"displayName": "Service account 1",
"etag": "BwUpTsLVUkQ=",
"oauth2ClientId": "987654321098765432109"
},
{
"name": "projects/my-project/serviceAccounts/sa-2@my-project.s3ns.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "234567890123456789012",
"email": "sa-2@my-project.s3ns.iam.gserviceaccount.com",
"description": "My second service account",
"displayName": "Service account 2",
"etag": "UkQpTwBVUsL=",
"oauth2ClientId": "876543210987654321098"
}
]
}
Editar uma conta de serviço
O nome de exibição (nome intuitivo) e a descrição de uma conta de serviço geralmente são usados para capturar mais informações sobre ela, como o objetivo da conta de serviço ou uma pessoa de contato dela.
Console
No console Cloud de Confiance , acesse a página Contas de serviço.
Selecione um projeto.
Clique no endereço de e-mail da conta de serviço que você quer renomear.
Insira o novo nome na caixa Nome e clique em Salvar.
gcloud
O comando
gcloud iam service-accounts update
atualiza uma conta de serviço.
Antes de usar os dados do comando abaixo, faça estas substituições:
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.PROJECT_ID: o ID do projeto do Cloud de Confiance . Os IDs do projeto são strings alfanuméricas, comomy-project.- Substitua pelo menos uma das seguintes opções:
UPDATED_DISPLAY_NAME: um novo nome de exibição para sua conta de serviço.UPDATED_DESCRIPTION: uma nova descrição para a conta de serviço.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud iam service-accounts update \ SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com \ --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" \ --display-name="UPDATED_DISPLAY_NAME"
Windows (PowerShell)
gcloud iam service-accounts update ` SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com ` --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" ` --display-name="UPDATED_DISPLAY_NAME"
Windows (cmd.exe)
gcloud iam service-accounts update ^ SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com ^ --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" ^ --display-name="UPDATED_DISPLAY_NAME"
Você receberá uma resposta semelhante a esta:
Updated serviceAccount [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]. description: UPDATED_SA_DESCRIPTION displayName: UPDATED_DISPLAY_NAME name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com
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 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 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 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 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 exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
REST
O método
serviceAccounts.patch
atualiza 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_ID: o ID da sua conta de serviço. Pode ser o endereço de e-mail da conta de serviço no formatoSA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.comou o ID numérico exclusivo da conta de serviço.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.- Substitua pelo menos uma das seguintes opções:
UPDATED_DISPLAY_NAME: um novo nome de exibição para sua conta de serviço.UPDATED_DESCRIPTION: uma nova descrição para a conta de serviço.
Método HTTP e URL:
PATCH https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
Corpo JSON da solicitação:
{
"serviceAccount": {
"email": "SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com",
"displayName": "UPDATED_DISPLAY_NAME",
"description": "UPDATED_DESCRIPTION"
},
"updateMask": "displayName,description"
}
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",
"displayName": "My updated service account",
"description": "An updated description of my service account"
}
A seguir
- Saiba como desativar e ativar 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.