En esta página se explica cómo eliminar y restaurar cuentas de servicio mediante la API Identity and Access Management (IAM), la consola y la herramienta de línea de comandos gcloud
. Trusted Cloud
Antes de empezar
Enable the IAM API.
Configura la autenticación.
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
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada. Después de iniciar sesión, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
C#
Para usar las .NET muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad 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 obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
C++
Para usar las C++ muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad 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 obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad 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 obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad 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 obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad 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 obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Para obtener más información, consulta el artículo Autenticación para usar REST de la documentación sobre autenticación de Trusted Cloud .
Información sobre las cuentas de servicio de gestión de identidades y accesos
Roles obligatorios
Para obtener los permisos que necesitas para eliminar y restaurar cuentas de servicio, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:
-
Para eliminar cuentas de servicio, sigue estos pasos:
Eliminar cuentas de servicio (
roles/iam.serviceAccountDeleter
) -
Para eliminar y restaurar cuentas de servicio, sigue estos pasos:
Administrador de cuentas de servicio (
roles/iam.serviceAccountAdmin
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para obtener más información sobre estos roles, consulta Roles de cuentas de servicio.
Los roles básicos de gestión de identidades y accesos también contienen permisos para gestionar cuentas de servicio. No debes conceder roles básicos en un entorno de producción, pero sí puedes hacerlo en un entorno de desarrollo o de pruebas.
Eliminar una cuenta de servicio
Cuando eliminas una cuenta de servicio, las aplicaciones dejan de tener acceso a los recursos deTrusted Cloud by S3NS a través de esa cuenta. Si eliminas la cuenta de servicio predeterminada de Compute Engine, las instancias de VM de Compute Engine que usen esa cuenta de servicio ya no tendrán acceso a los recursos del proyecto.
Elimina las cuentas de servicio con precaución. Asegúrate de que tus aplicaciones críticas ya no usen una cuenta de servicio antes de eliminarla. Si no sabes si se está usando una cuenta de servicio, Google recomienda inhabilitarla en lugar de eliminarla. Las cuentas de servicio inhabilitadas se pueden volver a habilitar si siguen siendo necesarias.
Si quieres restaurar una cuenta de servicio eliminada, puedes recuperarla si no han pasado más de 30 días desde que la eliminaste. Al cabo de 30 días, IAM elimina permanentemente la cuenta de servicio. Trusted Cloud No podrás recuperar la cuenta de servicio una vez que se haya eliminado permanentemente, aunque envíes una solicitud de asistencia.
Para reducir aún más el riesgo de eliminar una cuenta de servicio necesaria, también puede habilitar las recomendaciones de riesgo de cambio. Las recomendaciones de riesgo de cambios generan advertencias cuando intentas eliminar cuentas de servicio que Trusted Cloud ha identificado como importantes.
Si eliminas una cuenta de servicio y creas otra con el mismo nombre, la nueva cuenta de servicio se tratará como una identidad independiente y no heredará los roles concedidos a la cuenta de servicio eliminada. Por el contrario, si eliminas una cuenta de servicio y luego la restauras, su identidad no cambia y conserva sus roles.
Cuando se elimina una cuenta de servicio, sus vinculaciones de rol no se quitan inmediatamente, sino que se purgan automáticamente del sistema en un plazo máximo de 60 días. Hasta entonces, la cuenta de servicio aparece en las vinculaciones de roles con el prefijo
deleted:
y el sufijo?uid=NUMERIC_ID
, dondeNUMERIC_ID
es un ID numérico único de la cuenta de servicio.Las cuentas de servicio eliminadas no se tienen en cuenta para la cuota de cuentas de servicio.
Consola
En la Trusted Cloud consola, ve a la página Cuentas de servicio.
Selecciona un proyecto.
Selecciona la cuenta de servicio que quieras eliminar y, a continuación, haz clic en 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.
-
Ejecuta el comando
gcloud iam service-accounts delete
para eliminar una cuenta de servicio.Comando:
gcloud iam service-accounts delete \ SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
Resultado:
Deleted service account SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
PROJECT_ID
: tu ID de proyecto. Trusted Cloud Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.SA_ID
: el ID de tu cuenta de servicio. Puede ser la dirección de correo de la cuenta de servicio con el formatoSA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
o el ID numérico único de la cuenta de servicio.
C++
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C++ de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.C#
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C# de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
serviceAccounts.delete
elimina una cuenta de servicio.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
Método HTTP y URL:
DELETE https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
Para enviar tu solicitud, despliega una de estas opciones:
Si la acción se realiza correctamente, el cuerpo de la respuesta estará vacío.
Restaurar una cuenta de servicio
En algunos casos, puedes usar el comando
undelete
para restaurar una cuenta de servicio eliminada. Por lo general, puedes restaurar una cuenta de servicio eliminada si cumple estos criterios:La cuenta de servicio se eliminó hace menos de 30 días.
Al cabo de 30 días, IAM elimina permanentemente la cuenta de servicio. Trusted Cloud No puedes recuperar la cuenta de servicio una vez que se haya eliminado permanentemente, aunque envíes una solicitud de asistencia.
No hay ninguna cuenta de servicio con el mismo nombre que la cuenta de servicio eliminada.
Por ejemplo, supongamos que eliminas por error la cuenta de servicio
my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
. Aun así, necesitas una cuenta de servicio con ese nombre, por lo que creas una cuenta de servicio con el mismo nombre,my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
.La nueva cuenta de servicio no hereda los permisos de la cuenta de servicio eliminada. De hecho, es completamente independiente de la cuenta de servicio eliminada. Sin embargo, no puedes restaurar la cuenta de servicio original porque la nueva cuenta de servicio tiene el mismo nombre.
Para solucionar este problema, elimina la nueva cuenta de servicio y, a continuación, intenta restaurar la cuenta de servicio original.
Si no puedes restaurar la cuenta de servicio, puedes crear una nueva con el mismo nombre, revocar todos los roles de la cuenta de servicio eliminada y conceder los mismos roles a la nueva cuenta de servicio. Para obtener más información, consulta Políticas con principales eliminados.
Buscar el ID numérico de una cuenta de servicio eliminada
Cuando restauras una cuenta de servicio, debes proporcionar su ID numérico. El ID numérico es un número de 21 dígitos, como
123456789012345678901
, que identifica de forma única la cuenta de servicio. Por ejemplo, si eliminas una cuenta de servicio y, a continuación, creas otra con el mismo nombre, la cuenta de servicio original y la nueva tendrán IDs numéricos diferentes.Si sabes que un enlace de una política de permiso incluye la cuenta de servicio eliminada, puedes obtener la política de permiso y, a continuación, buscar el ID numérico en la política de permiso. El ID numérico se añade al nombre de la cuenta de servicio eliminada. Por ejemplo, en esta política de permiso, el ID numérico de la cuenta de servicio eliminada es
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" }, ] }
Los IDs numéricos solo se añaden a los nombres de las entidades eliminadas.
También puedes buscar en tus registros de auditoría la operación
DeleteServiceAccount
que eliminó la cuenta de servicio:En la Trusted Cloud consola, ve a la página Explorador de registros.
En el editor de consultas, introduce la siguiente consulta y sustituye
SERVICE_ACCOUNT_EMAIL
por la dirección de correo de tu cuenta de servicio (por ejemplo,my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
):resource.type="service_account" resource.labels.email_id="SERVICE_ACCOUNT_EMAIL" "DeleteServiceAccount"
Si la cuenta de servicio se eliminó hace más de una hora, haz clic en
Última hora, selecciona un periodo más largo en la lista desplegable y, a continuación, haz clic en Aplicar.Haz clic en Realizar una consulta. El Explorador de registros muestra las
DeleteServiceAccount
operaciones que han afectado a las cuentas de servicio con el nombre que has especificado.Busca y anota el ID numérico de la cuenta de servicio eliminada de una de las siguientes formas:
- Si los resultados de búsqueda incluyen solo una operación
DeleteServiceAccount
, busca el ID numérico en el campo ID único del panel Campos de registro.
Si los resultados de búsqueda muestran más de un registro, haz lo siguiente:
Busca la entrada de registro correcta. Para encontrar la entrada de registro correcta, haz clic en la
flecha de expansión situada junto a una entrada de registro. Revisa los detalles de la entrada de registro y determina si muestra la operación que quieres deshacer. Repite este proceso hasta que encuentres la entrada de registro correcta.En la entrada de registro correcta, busca el ID numérico de la cuenta de servicio. Para localizar el ID numérico, despliega el campo
protoPayload
de la entrada de registro y, a continuación, busca el camporesourceName
.
El ID numérico es todo lo que hay después de
serviceAccounts
en el camporesourceName
.
- Si los resultados de búsqueda incluyen solo una operación
Restaurar la cuenta de servicio por ID numérico
Una vez que hayas encontrado el ID numérico de la cuenta de servicio eliminada, puedes intentar restaurarla.
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.
-
Ejecuta el comando
gcloud beta iam service-accounts undelete
para restaurar una cuenta de servicio.Comando:
gcloud beta iam service-accounts undelete ACCOUNT_ID
Resultado:
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
: tu ID de proyecto. Trusted Cloud Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.SA_NUMERIC_ID
: ID numérico único de la cuenta de servicio.
REST
El método
serviceAccounts.undelete
restaura una cuenta de servicio eliminada.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
Método HTTP y URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NUMERIC_ID:undelete
Para enviar tu solicitud, despliega una de estas opciones:
Si se puede restaurar la cuenta, recibirás un código de respuesta
200 OK
con detalles sobre la cuenta de servicio restaurada, como los siguientes:{ "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" } }
Siguientes pasos
- Consulta cómo listar y editar cuentas de servicio.
- Consulta el proceso para conceder roles de gestión de identidades y accesos a todos los tipos de principales, incluidas las cuentas de servicio.
- Consulta cómo asignar cuentas de servicio a recursos.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-20 (UTC).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Me falta la información que necesito","missingTheInformationINeed","thumb-down"],["Es demasiado complicado o hay demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Está obsoleto","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema de muestras o código","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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,[]]