En esta página se explica cómo inhabilitar y habilitar cuentas de servicio mediante la API Identity and Access Management (IAM), la consola de Google Cloud y la CLI de gcloud. Google 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 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 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.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
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.
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. Google 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.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
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.
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. Google 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.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
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.
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. Google 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.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
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.
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. Google 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.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
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.
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. Google 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.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud 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 Google Cloud .
Información sobre las cuentas de servicio de gestión de identidades y accesos
Roles obligatorios
Para obtener los permisos que necesitas para gestionar cuentas de servicio, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de cuentas de servicio (roles/iam.serviceAccountAdmin
) en el proyecto.
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 este rol, 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.
Inhabilitar una cuenta de servicio
Al igual que cuando se elimina una cuenta de servicio, cuando se inhabilita una cuenta de servicio, las aplicaciones ya no tienen acceso a los recursos de Google Cloud a través de esa cuenta de servicio. Si inhabilitas las cuentas de servicio predeterminadas de App Engine y Compute Engine, las instancias ya no tendrán acceso a los recursos del proyecto. Si intentas inhabilitar una cuenta de servicio que ya está inhabilitada, no tendrá ningún efecto.
A diferencia de las cuentas de servicio eliminadas, las cuentas de servicio inhabilitadas se pueden volver a habilitar fácilmente cuando sea necesario. Te recomendamos que inhabilite una cuenta de servicio antes de eliminarla para asegurarse de que ninguna aplicación crítica la esté usando.
Consola
En la Google Cloud consola, ve a la página Cuentas de servicio.
Selecciona un proyecto.
Haga clic en el nombre de la cuenta de servicio que quiera inhabilitar.
En Estado de la cuenta de servicio, haz clic en Inhabilitar cuenta de servicio y, a continuación, en Inhabilitar para confirmar el cambio.
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.
-
Ejecuta el comando
gcloud iam service-accounts disable
para inhabilitar una cuenta de servicio.Comando:
gcloud iam service-accounts disable SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Resultado:
Disabled service account SA_NAME@PROJECT_ID.iam.gserviceaccount.com
PROJECT_ID
: tu ID de proyecto. Google 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.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.
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.
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.
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.
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.
REST
El método
serviceAccounts.disable
inhabilita inmediatamente una cuenta de servicio.
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_ID:disable
Para enviar tu solicitud, despliega una de estas opciones:
Si la acción se realiza correctamente, el cuerpo de la respuesta estará vacío.
Habilitar una cuenta de servicio
Después de habilitar una cuenta de servicio inhabilitada, las aplicaciones volverán a tener acceso a los recursos deGoogle Cloud a través de esa cuenta de servicio.
Puedes habilitar una cuenta de servicio inhabilitada cuando lo necesites. Si intentas habilitar una cuenta de servicio que ya está habilitada, no tendrá ningún efecto.
Consola
En la Google Cloud consola, ve a la página Cuentas de servicio.
Selecciona un proyecto.
Haz clic en el nombre de la cuenta de servicio que quieras habilitar.
En Estado de la cuenta de servicio, haz clic en Habilitar cuenta de servicio y, a continuación, en Habilitar para confirmar el cambio.
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.
-
Ejecuta el comando
gcloud iam service-accounts enable
para habilitar una cuenta de servicio.Comando:
gcloud iam service-accounts enable SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Resultado:
Enabled service account SA_NAME@PROJECT_ID.iam.gserviceaccount.com
PROJECT_ID
: tu ID de proyecto. Google 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.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.
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.
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.
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.
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.
REST
El método
serviceAccounts.enable
habilita una cuenta de servicio que se había inhabilitado anteriormente.
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_ID:enable
Para enviar tu solicitud, despliega una de estas opciones:
Si la acción se realiza correctamente, el cuerpo de la respuesta estará vacío.
Siguientes pasos
- Consulta cómo eliminar y restaurar 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 puedes usar las recomendaciones de roles para reducir el alcance de los permisos de todas las entidades, incluidas las cuentas de servicio.
- Consulta cómo asignar cuentas de servicio a recursos.
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Empezar gratis