Identidades para las cargas de trabajo

Google Cloud proporciona los siguientes tipos de identidades para las cargas de trabajo:

  • La federación de identidades para cargas de trabajo y la Workload Identity Federation for GKE permiten que tus cargas de trabajo accedan a la mayoría de los servicios de Google Cloud mediante identidades federadas que se autentican a través de un proveedor de identidad externo (IdP). Después de que Google Cloud autentica la identidad como principal, este puede acceder a los recursos con los roles de IAM que otorgues.

    Puedes usar la federación de Workload Identity con cargas de trabajo en Google Cloud o cargas de trabajo externas que se ejecutan en plataformas como AWS, Azure, GitHub y GitLab.

    Puedes usar la Workload Identity Federation for GKE con cargas de trabajo que se ejecutan en clústeres de GKE para darles acceso a los recursos de Google Cloud.

  • Las cuentas de servicio de Google Cloud pueden actuar 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.

  • Las identidades para cargas de trabajo administradas (versión preliminar) 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 TLS mutua (mTLS), pero no se pueden usar para autenticar en las APIs de Google Cloud.

Los tipos de identidades que puedes usar para las cargas de trabajo y la forma en que las configuras 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
  • Workload Identity Federation for GKE (solo para cargas de trabajo que se ejecutan en Google Kubernetes Engine)
  • Identidades para cargas de trabajo administradas (solo para cargas de trabajo que se ejecutan en Compute 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.

Workload Identity Federation for GKE

En el caso de las cargas de trabajo que se ejecutan en GKE, Workload Identity Federation for GKE te permite otorgar roles de IAM a conjuntos distintos y detallados de principales para cada aplicación en el clúster. Workload Identity Federation for GKE permite que las cuentas de servicio de Kubernetes en tu clúster de GKE accedan a los recursos de Google Cloud directamente, a través de la federación de identidades de personal, o indirectamente, a través de la identidad temporal como cuenta de servicio de IAM.

Si usas el acceso directo a los recursos, puedes otorgar roles de IAM a la identidad de la cuenta de servicio de Kubernetes directamente en los recursos del servicio de Google Cloud. La mayoría de las APIs de Google Cloud admiten el acceso directo a los recursos. Sin embargo, cuando se usa la federación de identidades, es posible que ciertos métodos de la API tengan limitaciones. Para obtener una lista de estas limitaciones, consulta Productos admitidos y limitaciones.

Como alternativa, las cargas de trabajo también pueden usar la identidad temporal como cuenta de servicio, en el que la cuenta de servicio de Kubernetes configurada está vinculada a una cuenta de servicio de IAM, que funciona como la identidad cuando se accede a las APIs de Google Cloud.

Para obtener más información sobre Workload Identity Federation for GKE, consulta Workload Identity Federation for GKE.

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.

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 identidades para cargas de trabajo
  • Claves de cuenta de servicio

Federación de identidades para cargas de trabajo

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 identidades para cargas de trabajo 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.

Desarrollo local

Si desarrollas en un entorno local, puedes configurar cargas de trabajo para usar tus credenciales de usuario o una cuenta de servicio 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?