Google Cloud proporciona cuentas de servicio que actúan como identidades para las cargas de trabajo en entornos de producción. En lugar de otorgar acceso a una carga de trabajo directamente, debes hacerlo a una cuenta de servicio y, luego, hacer que la carga de trabajo use la cuenta de servicio como su identidad.
Hay varias formas de configurar cuentas de servicio como identidades para las cargas de trabajo. Los métodos que puedes usar dependen de dónde se ejecutan tus cargas de trabajo.
Cargas de trabajo en Google Cloud
Si ejecutas cargas de trabajo en Google Cloud, puedes usar los siguientes métodos a fin de configurar identidades para tus cargas de trabajo:
- Cuentas de servicio conectadas
- Identidades para cargas de trabajo administradas (solo para cargas de trabajo que se ejecutan en Compute Engine)
- Workload Identity (solo para cargas de trabajo que se ejecutan en Google Kubernetes Engine)
- Claves de cuenta de servicio
Cuentas de servicio conectadas
Para algunos recursos de Google Cloud, puedes especificar una cuenta de servicio administrada por el usuario que el recurso use como su identidad predeterminada. Este proceso se conoce como conectar la cuenta de servicio al recurso o asociar la cuenta de servicio al recurso.
Cuando el código que se ejecuta en el recurso accede a los servicios y recursos de Google Cloud, utiliza la cuenta de servicio adjunta al recurso como su identidad. Por ejemplo, si conectas una cuenta de servicio a una instancia de Compute Engine, y las aplicaciones en la instancia usan una biblioteca cliente para llamar a las API de Google Cloud, esas aplicaciones utilizan automáticamente la cuenta de servicio conectada para la autenticación y la autorización.
En la mayoría de los casos, debes conectar una cuenta de servicio a un recurso cuando lo creas. Después de crear el recurso, no puedes cambiar qué cuenta de servicio está conectada al recurso. Las instancias de Compute Engine son una excepción a esta regla. Puedes cambiar la cuenta de servicio conectada a una instancia según sea necesario.
Para obtener más información, consulta Conecta una cuenta de servicio a un recurso.
Identidades para cargas de trabajo administradas
Las identidades para cargas de trabajo administradas te permiten vincular identidades certificadas a tus cargas de trabajo de Compute Engine. Puedes usar identidades para cargas de trabajo administradas para autenticar tus cargas de trabajo en otras cargas de trabajo a través de mTLS, pero no se pueden usar para autenticar en las APIs de Google Cloud.
Para obtener más información sobre la identidad para cargas de trabajo administradas, consulta Descripción general de las identidades para cargas de trabajo administradas.
Para obtener más información sobre el uso de identidades para cargas de trabajo administradas con cargas de trabajo de Compute Engine, consulta Autentica cargas de trabajo en otras cargas de trabajo con mTLS.
Workload Identity en GKE
Para las cargas de trabajo que se ejecutan en GKE, Workload Identity permite que una cuenta de servicio de Kubernetes en el clúster de GKE actúe como una cuenta de servicio de IAM. Los pods que usan la cuenta de servicio de Kubernetes configurada usan de forma automática la cuenta de servicio de IAM como su identidad cuando acceden a las API de Google Cloud. El uso de Workload Identity te permite asignar identidades y autorizaciones distintas y detalladas para cada aplicación en el clúster.
Para obtener más información sobre Workload Identity de GKE, consulta federación de identidades para cargas de trabajo para GKE.
Claves de cuenta de servicio
Una clave de cuenta de servicio permite que una carga de trabajo se autentique como una cuenta de servicio y, luego, use la identidad de la cuenta de servicio para su autorización. Las claves de cuenta de servicio son un riesgo de seguridad si no se administran de forma adecuada. Debes elegir una alternativa más segura a las claves de la cuenta de servicio siempre que sea posible. Si te debes autenticar con una clave de cuenta de servicio, eres responsable de la seguridad de la clave privada y de otras operaciones que se describen en Prácticas recomendadas para administrar claves de cuenta de servicio. Si no se te permite crear una clave de cuenta de servicio, es posible que la creación de claves de cuentas de servicio esté inhabilitada para tu organización. Para obtener más información, consulta Administra los recursos de la organización con seguridad de forma predeterminada.
Cargas de trabajo externas
Si ejecutas cargas de trabajo fuera de Google Cloud, puedes usar los siguientes métodos para asignarles identidades:
- Federación de Workload Identity
- Claves de cuenta de servicio
Federación de Workload Identity
La federación de identidades para cargas de trabajo te permite usar credenciales de proveedores de identidad externos, como AWS y Azure Active Directory, a fin de generar credenciales de corta duración, que las cargas de trabajo pueden usar para actuar en nombre de las cuentas de servicio de forma temporal. Luego, las cargas de trabajo pueden acceder a los recursos de Google Cloud mediante la cuenta de servicio como su identidad.
La federación de Workload Identity es la forma preferida de configurar las identidades para las cargas de trabajo externas.
Para obtener más información sobre la federación de identidades para cargas de trabajo, consulta este documento.
Claves de cuenta de servicio
Una clave de cuenta de servicio permite que una carga de trabajo se autentique como una cuenta de servicio y, luego, use la identidad de la cuenta de servicio para su autorización. Las claves de cuenta de servicio son un riesgo de seguridad si no se administran de forma adecuada. Debes elegir una alternativa más segura a las claves de la cuenta de servicio siempre que sea posible. Si te debes autenticar con una clave de cuenta de servicio, eres responsable de la seguridad de la clave privada y de otras operaciones que se describen en Prácticas recomendadas para administrar claves de cuenta de servicio. Si no se te permite crear una clave de cuenta de servicio, es posible que la creación de claves de cuentas de servicio esté inhabilitada para tu organización. Para obtener más información, consulta Administra los recursos de la organización con seguridad de forma predeterminada.
Desarrollo local
Si desarrollas en un entorno local, puedes configurar cargas de trabajo a fin de usar tus credenciales de usuario para la autenticación y autorización. Para obtener más información, consulta Entorno de desarrollo local en la documentación de autenticación.
¿Qué sigue?
- Obtén información sobre cómo configurar la autenticación mediante cuentas de servicio.
- Obtén información sobre cómo configurar la autenticación para un entorno de desarrollo local.
- Obtén información sobre cómo otorgar a las cuentas de servicio acceso a los recursos.