Tipos de cuentas de servicio

Las cuentas de servicio se pueden dividir en dos categorías: las cuentas de servicio que administras y las cuentas de servicio que administra Google. En esta página, se describe cómo se crea y usa cada tipo de cuenta de servicio.

Cuentas de servicio administradas por el usuario

Las cuentas de servicio administradas por el usuario son cuentas de servicio que creas en tus proyectos. Puedes actualizar, inhabilitar, habilitar y borrar estas cuentas de servicio a tu discreción. También puedes administrar el acceso de otras principales a estas cuentas de servicio.

Puedes crear cuentas de servicio administradas por el usuario en tu proyecto con la API de IAM, la consola de Google Cloud o Google Cloud CLI.

De forma predeterminada, puedes crear hasta 100 cuentas de servicio administradas por el usuario en un proyecto. Si esta cuota no satisface tus necesidades, puedes usar la consola de Google Cloud para solicitar un aumento de cuota. Solo las cuentas de servicio creadas por el usuario se tienen en cuenta en esta cuota; las cuentas de servicio predeterminadas y las cuentas de servicio administradas por Google no lo hacen.

Cuando creas una cuenta de servicio administrada por el usuario en tu proyecto, debes elegir un nombre para esta. Este nombre aparecerá en la dirección de correo electrónico que identifica a la cuenta de servicio, en el que se usa el siguiente formato:

service-account-name@project-id.iam.gserviceaccount.com

Para aprender a crear una cuenta de servicio, consulta Crea cuentas de servicio.

Cuentas de servicio predeterminadas

Las cuentas de servicio predeterminadas son cuentas de servicio administradas por el usuario que se crean de forma automática cuando habilitas o usas ciertos servicios de Google Cloud. Estas cuentas de servicio permiten que el servicio implemente trabajos que acceden a otros recursos de Google Cloud. Eres responsable de administrar las cuentas de servicio predeterminadas después de crearlas.

Si tu aplicación se ejecuta en un entorno de Google Cloud que tiene una cuenta de servicio predeterminada, puede usar las credenciales para que la cuenta de servicio predeterminada llame a las APIs de Google Cloud. De forma alternativa, puedes crear tu propia cuenta de servicio administrada por el usuario y usarla para autenticar. Para obtener más información, consulta Configura credenciales predeterminadas de la aplicación.

En la siguiente tabla, se enumeran los servicios que crean cuentas de servicio predeterminadas:

Servicio Nombre de la cuenta de servicio Dirección de correo electrónico
App Engine y cualquier servicio de Google Cloud que use App Engine Cuenta de servicio predeterminada de App Engine project-id@appspot.gserviceaccount.com
Compute Engine y cualquier servicio de Google Cloud que use Compute Engine Cuenta de servicio predeterminada de Compute Engine project-number-compute@developer.gserviceaccount.com

Cuentas de servicio administradas por Google

Algunos servicios de Google Cloud necesitan acceso a tus recursos para actuar en tu nombre. Por ejemplo, cuando usas Cloud Run para ejecutar un contenedor, el servicio necesita acceder a cualquier tema de Pub/Sub que pueda activarlo.

A fin de satisfacer esta necesidad, Google crea y administra cuentas de servicio para muchos servicios de Google Cloud. Estas cuentas de servicio se conocen como cuentas de servicio administradas por Google. Es posible que veas cuentas de servicio administradas por Google en la política de permisos de tu proyecto, en los registros de auditoría o en la página de IAM en la consola de Google Cloud.

Las cuentas de servicio administradas por Google no se crean en tus proyectos, por lo que no las verás cuando veas las cuentas de servicio de tus proyectos.

Google tiene los siguientes tipos de cuentas de servicio administradas por Google:

Visibilidad

Las cuentas de servicio administradas por Google no se enumeran en la página Cuentas de servicio en la consola de Google Cloud. Estas cuentas de servicio no se encuentran en tu proyecto y no puedes acceder a ellas directamente.

De forma predeterminada, las cuentas de servicio administradas por Google tampoco se enumeran en la página IAM de la consola de Google Cloud, incluso si se les otorgó un rol en tu proyecto. Para ver las asignaciones de roles de las cuentas de servicio administradas por Google, selecciona la casilla de verificación Incluir asignaciones de roles proporcionadas por Google.

Agentes de servicio específicos del servicio

Los agentes de servicio son cuentas de servicio administradas por Google que actúan en nombre de servicios individuales. En muchos casos, estos agentes de servicio son necesarios para que los servicios funcionen de forma correcta. Por ejemplo, los agentes de servicio son lo que permite que los receptores de Cloud Logging escriban registros en buckets de Cloud Storage.

Cada agente de servicio está asociado con un recurso. Este recurso suele ser un proyecto, una carpeta o una organización, aunque también puede ser un recurso específico del servicio, por ejemplo, una instancia de Cloud SQL. Este recurso define el permiso de las acciones del agente de servicio. Por ejemplo, si un agente de servicio está asociado con un proyecto, actuará en nombre de un servicio para el proyecto y sus recursos subordinados.

Puedes determinar con qué tipo de recurso se asocia un agente de servicio si observas su dirección de correo electrónico:

  • Si el agente de servicio está asociado con un proyecto, una carpeta o una organización, su dirección de correo electrónico contiene el ID numérico para ese proyecto, organización o carpeta.
  • Si el agente de servicio está asociado con un recurso específico del servicio, su dirección de correo electrónico contiene un ID del proyecto numérico y un identificador único. El ID numérico del proyecto indica con qué proyecto es propietario del recurso con el que está asociado el agente de servicio. El identificador único distingue al agente de servicio de otros agentes de servicio similares en el mismo proyecto.

Creación del agente de servicio

La hora exacta a la que se crea un agente de servicio depende del tipo de recurso con el que está asociado.

Los agentes de servicio que están asociados a un recurso específico del servicio se crean cuando creas el recurso. Para obtener más información sobre cómo identificar y configurar estos agentes de servicio, revisa la documentación del recurso asociado.

Los agentes de servicio que están asociados con proyectos, carpetas y organizaciones se crean como los necesitas, por lo general, cuando usas un servicio por primera vez. Si es necesario, también puedes pedirle a Google Cloud que cree agentes de servicio para un servicio antes de usarlo. Para obtener más información, consulta Crea y otorga funciones a agentes de servicio.

Funciones del Agente de servicio

Algunas acciones en Google Cloud requieren que los agentes de servicio creen recursos y accedan a ellos en tu nombre. Por ejemplo, cuando creas un clúster de Dataproc, el agente de servicio de Dataproc necesita permiso para crear instancias de Compute Engine en tu proyecto a fin de crear el clúster.

Para obtener este acceso, los agentes de servicio necesitan roles de IAM específicos. A muchos agentes de servicio a nivel de proyecto se les otorgan los roles que necesitan de forma automática. Los nombres de estas funciones otorgadas de forma automática suelen terminar en serviceAgent o ServiceAgent. Para otros agentes de servicio, debes otorgarles funciones a fin de que el servicio funcione correctamente. Para saber a qué agentes de servicio se les otorgan funciones de forma automática, consulta la referencia del agente de servicio.

Si le pides a Google Cloud que cree agentes de servicio antes de usar un servicio, debes otorgarles los roles que por lo general se le otorgan de forma automática. Esto se debe a que a los agentes de servicio que se crean a solicitud de un usuario no se les otorgan funciones de forma automática. Si no otorgas a estos agentes de servicio estas funciones, es posible que algunos servicios no funcionen de forma adecuada. Para obtener información sobre cómo otorgar estas funciones a agentes de servicio, consulta Crea y otorga funciones a agentes de servicio.

Agentes de servicio principales

En la referencia del agente de servicio, algunos agentes de servicio se identifican como agentes de servicio principales. Los agentes de servicio principales son agentes de servicio cuya dirección de correo electrónico se muestra cuando activas la creación del agente de servicio para un servicio.

Agente de servicios de las APIs de Google

Es probable que la política de permisos de tu proyecto haga referencia a una cuenta de servicio llamada Agente de servicio de las APIs de Google, con una dirección de correo electrónico que usa el siguiente formato: project-number@cloudservices.gserviceaccount.com

Esta cuenta de servicio ejecuta procesos internos de Google en tu nombre. Se le otorga de forma automática la función de editor (roles/editor) en el proyecto.

Administrador de roles para cuentas de servicio administradas por Google.

Tus registros de auditoría para IAM pueden hacer referencia a la cuenta de servicio service-agent-manager@system.gserviceaccount.com.

Esta cuenta de servicio administra las funciones que se otorgan a los agentes de servicio. Solo se puede ver en los registros de auditoría.

Por ejemplo, si usas una API nueva, Google puede crear automáticamente un agente de servicio nuevo y otorgarle funciones en tu proyecto. Si otorgas estos roles, se genera una entrada de registro de auditoría, que muestra que service-agent-manager@system.gserviceaccount.com estableció la política de permisos para el proyecto.

¿Qué sigue?

Pruébalo tú mismo

Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Empezar gratis