Esta página explica como eliminar e restaurar contas de serviço através da API
Identity and Access Management (IAM), da Trusted Cloud consola e da ferramenta de linha de comandosgcloud
.
Antes de começar
Enable the IAM API.
Configurar autenticação.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
C#
Para usar os .NET exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
C++
Para usar os C++ exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Ir
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Compreenda as contas de serviço do IAM
Funções necessárias
Para receber as autorizações de que precisa para eliminar e restaurar contas de serviço, peça ao seu administrador que lhe conceda as seguintes funções do IAM no projeto:
-
Para eliminar contas de serviço:
Eliminar contas de serviço (
roles/iam.serviceAccountDeleter
) -
Para eliminar e restaurar contas de serviço:
Administrador da conta de serviço (
roles/iam.serviceAccountAdmin
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para saber mais sobre estas funções, consulte o artigo Funções das contas de serviço.
As funções básicas do IAM também contêm autorizações para gerir contas de serviço. Não deve conceder funções básicas num ambiente de produção, mas pode concedê-las num ambiente de desenvolvimento ou teste.
Elimine uma conta de serviço
Quando elimina uma conta de serviço, as aplicações deixam de ter acesso aos Trusted Cloud by S3NS recursos através dessa conta de serviço. Se eliminar a conta de serviço do Compute Engine predefinida, as instâncias de VM do Compute Engine que usam essa conta de serviço deixam de ter acesso aos recursos no projeto.
Elimine contas de serviço com cuidado. Certifique-se de que as suas aplicações críticas já não estão a usar uma conta de serviço antes de a eliminar. Se não tiver a certeza de que está a ser usada uma conta de serviço, a Google recomenda que desative a conta de serviço em vez de a eliminar. As contas de serviço desativadas podem ser reativadas se ainda forem necessárias.
Se quiser restaurar uma conta de serviço eliminada, pode anular a eliminação se tiverem passado 30 dias ou menos desde que eliminou a conta de serviço. Após 30 dias, o IAM remove permanentemente a conta de serviço. Trusted Cloud Não é possível recuperar a conta de serviço após a remoção permanente, mesmo que apresente um pedido de apoio técnico.
Para reduzir ainda mais o risco de eliminar uma conta de serviço necessária, também pode ativar as recomendações de risco de alterações. As recomendações de risco de alteração geram avisos quando tenta eliminar contas de serviço que o sistema Trusted Cloud identificou como importantes.
Se eliminar uma conta de serviço e, em seguida, criar uma nova conta de serviço com o mesmo nome, a nova conta de serviço é tratada como uma identidade separada. Não herda as funções concedidas à conta de serviço eliminada. Por outro lado, quando elimina uma conta de serviço e, em seguida, anula a eliminação, a identidade da conta de serviço não se altera, e a conta de serviço mantém as respetivas funções.
Quando uma conta de serviço é eliminada, as respetivas associações de funções não são removidas imediatamente. São automaticamente anuladas do sistema após um máximo de 60 dias. Até lá, a conta de serviço aparece nas associações de funções com o prefixo
deleted:
e o sufixo?uid=NUMERIC_ID
, em queNUMERIC_ID
é um ID numérico exclusivo para a conta de serviço.As contas de serviço eliminadas não contam para a sua quota de contas de serviço.
Consola
Na Trusted Cloud consola, aceda à página Contas de serviço.
Selecione um projeto.
Selecione a conta de serviço que quer eliminar e, de seguida, clique em Eliminar
.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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.
-
Execute o comando
gcloud iam service-accounts delete
para eliminar uma conta de serviço.Comando:
gcloud iam service-accounts delete \ SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
Saída:
Deleted service account SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
PROJECT_ID
: O ID do seu Trusted Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_ID
: o ID da sua conta de serviço. Este pode ser o endereço de email da conta de serviço no formatoSA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
ou o ID numérico exclusivo da conta de serviço.
C++
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API C++ IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.C#
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API C# IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Go
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
serviceAccounts.delete
elimina uma conta de serviço.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
Método HTTP e URL:
DELETE https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
Para enviar o seu pedido, expanda uma destas opções:
Se for bem-sucedido, o corpo da resposta fica vazio.
Anule a eliminação de uma conta de serviço
Em alguns casos, pode usar o comando
undelete
para anular a eliminação de uma conta de serviço eliminada. Normalmente, pode anular a eliminação de uma conta de serviço eliminada se esta cumprir os seguintes critérios:A conta de serviço foi eliminada há menos de 30 dias.
Após 30 dias, o IAM remove permanentemente a conta de serviço. Trusted Cloud Não é possível recuperar a conta de serviço depois de ser removida permanentemente, mesmo que apresente um pedido de apoio técnico.
Não existe nenhuma conta de serviço com o mesmo nome da conta de serviço eliminada.
Por exemplo, suponha que elimina acidentalmente a conta de serviço
my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
. Continua a precisar de uma conta de serviço com esse nome, pelo que cria uma nova conta de serviço com o mesmo nome,my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
.A nova conta de serviço não herda as autorizações da conta de serviço eliminada. Na prática, é completamente separada da conta de serviço eliminada. No entanto, não pode anular a eliminação da conta de serviço original, porque a nova conta de serviço tem o mesmo nome.
Para resolver este problema, elimine a nova conta de serviço e, em seguida, tente anular a eliminação da conta de serviço original.
Se não conseguir anular a eliminação da conta de serviço, pode criar uma nova conta de serviço com o mesmo nome, revogar todas as funções da conta de serviço eliminada e conceder as mesmas funções à nova conta de serviço. Para ver detalhes, consulte o artigo Políticas com responsáveis eliminados.
Encontre o ID numérico de uma conta de serviço eliminada
Quando anula a eliminação de uma conta de serviço, tem de indicar o respetivo ID numérico. O ID numérico é um número de 21 dígitos, como
123456789012345678901
, que identifica exclusivamente a conta de serviço. Por exemplo, se eliminar uma conta de serviço e, em seguida, criar uma nova conta de serviço com o mesmo nome, a conta de serviço original e a nova conta de serviço têm IDs numéricos diferentes.Se souber que uma associação numa política de permissão inclui a conta de serviço eliminada, pode obter a política de permissão e, em seguida, encontrar o ID numérico na política de permissão. O ID numérico é anexado ao nome da conta de serviço eliminada. Por exemplo, nesta política de autorização, o ID numérico da conta de serviço eliminada é
123456789012345678901
:{ "version": 1, "etag": "BwUjMhCsNvY=", "bindings": [ { "members": [ "deleted:serviceAccount:my-service-account@project-id.s3ns-system.iam.gserviceaccount.com?uid=123456789012345678901" ], "role": "roles/iam.serviceAccountUser" }, ] }
Os IDs numéricos só são anexados aos nomes dos diretores eliminados.
Em alternativa, pode pesquisar nos registos de auditoria a
DeleteServiceAccount
operação que eliminou a conta de serviço:Na Trusted Cloud consola, aceda à página Explorador de registos.
No editor de consultas, introduza a seguinte consulta, substituindo
SERVICE_ACCOUNT_EMAIL
pelo endereço de email da sua conta de serviço (por exemplo,my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
):resource.type="service_account" resource.labels.email_id="SERVICE_ACCOUNT_EMAIL" "DeleteServiceAccount"
Se a conta de serviço foi eliminada há mais de uma hora, clique em
Última hora, selecione um período mais longo na lista pendente e, de seguida, clique em Aplicar.Clique em Executar consulta. O Logs Explorer apresenta as
DeleteServiceAccount
operações que afetaram as contas de serviço com o nome que especificou.Encontre e anote o ID numérico da conta de serviço eliminada através de uma das seguintes ações:
- Se os resultados da pesquisa incluírem apenas uma operação
DeleteServiceAccount
, encontre o ID numérico no campo ID único do painel Campos de registo.
Se os resultados da pesquisa mostrarem mais do que um registo, faça o seguinte:
Encontre a entrada de registo correta. Para encontrar a entrada de registo correta, clique na
seta do expansor junto a uma entrada de registo. Reveja os detalhes da entrada do registo e determine se a entrada do registo mostra a operação que quer anular. Repita este processo até encontrar a entrada de registo correta.Na entrada de registo correta, localize o ID numérico da conta de serviço. Para localizar o ID numérico, expanda o campo
protoPayload
da entrada do registo e, em seguida, encontre o camporesourceName
.
O ID numérico é tudo o que se encontra após
serviceAccounts
no camporesourceName
.
- Se os resultados da pesquisa incluírem apenas uma operação
Anule a eliminação da conta de serviço através do ID numérico
Depois de encontrar o ID numérico da conta de serviço eliminada, pode tentar restaurar a conta de serviço.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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.
-
Execute o comando
gcloud beta iam service-accounts undelete
para anular a eliminação de uma conta de serviço.Comando:
gcloud beta iam service-accounts undelete ACCOUNT_ID
Saída:
restoredAccount: email: SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com etag: BwWWE7zpApg= name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com oauth2ClientId: '123456789012345678901' projectId: PROJECT_ID uniqueId: 'ACCOUNT_ID'
PROJECT_ID
: O ID do seu Trusted Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_NUMERIC_ID
: o ID numérico exclusivo da conta de serviço.
REST
O método
serviceAccounts.undelete
restaura uma conta de serviço eliminada.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NUMERIC_ID:undelete
Para enviar o seu pedido, expanda uma destas opções:
Se for possível anular a eliminação da conta, recebe um código de resposta
200 OK
com detalhes sobre a conta de serviço restaurada, como o seguinte:{ "restoredAccount": { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.s3ns-system.iam.gserviceaccount.com", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" } }
O que se segue?
- Saiba como listar e editar contas de serviço.
- Reveja o processo de concessão de funções de IAM a todos os tipos de principais, incluindo contas de serviço.
- Compreenda como anexar contas de serviço a recursos.
Exceto 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 2025-08-20 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-20 UTC."],[[["\u003cp\u003eThis guide explains how to delete and undelete service accounts using the IAM API, the Google Cloud console, and the \u003ccode\u003egcloud\u003c/code\u003e command-line tool.\u003c/p\u003e\n"],["\u003cp\u003eDeleting a service account removes its access to Google Cloud resources, and permanently removes it after 30 days, with disabled service accounts being recommended over deletion if uncertainty about its use exists.\u003c/p\u003e\n"],["\u003cp\u003eUndeleting a service account is possible within 30 days of deletion, provided no other service account has been created with the same name, and requires its unique numeric ID.\u003c/p\u003e\n"],["\u003cp\u003eThe document provides instructions for setting up authentication for various methods, including the Google Cloud console, \u003ccode\u003egcloud\u003c/code\u003e, and multiple programming languages like C#, C++, Go, Java, Python, and REST.\u003c/p\u003e\n"],["\u003cp\u003eSpecific IAM roles, like \u003ccode\u003eroles/iam.serviceAccountDeleter\u003c/code\u003e and \u003ccode\u003eroles/iam.serviceAccountAdmin\u003c/code\u003e, are required to delete or delete and undelete service accounts respectively, and are explained in the content.\u003c/p\u003e\n"]]],[],null,[]]