En este documento, se describe cómo usar una cuenta de servicio para conectarse a instancias de máquina virtual (VM) de Compute Engine mediante SSH. Cuando configuras SSH para una cuenta de servicio, puedes configurar apps para que usen SSH, lo que puede ayudarte a automatizar tus cargas de trabajo.
Antes de comenzar
- Crea una cuenta de servicio.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud .
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Conéctate de forma manual a VMs como una cuenta de servicio
Para conectarte a las VMs como una cuenta de servicio, usa uno de los siguientes métodos:
Permisos necesarios para esta tarea
Para realizar esta tarea, debes tener los siguientes permisos:
- Todos los permisos incluidos en el rol de creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) en la cuenta de servicio. Para obtener detalles sobre cómo otorgar este rol en una cuenta de servicio única, consulta Administra el acceso a las cuentas de servicio. - Si usas Acceso al SO, necesitas todos los permisos incluidos en uno de los roles de IAM de Acceso al SO en la cuenta de servicio.
- Si no usas el Acceso al SO, la cuenta de servicio también requerirá el permiso
compute.projects.setCommonInstanceMetadata
.
Usa la marca --impersonate-service-account
de gcloud CLI para conectarte directamente a una VM a través de la identidad de una cuenta de servicio. Ejecuta el siguiente comando para conectarte a una VM como una cuenta de servicio:
gcloud compute sshVM_NAME \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
Reemplaza lo siguiente:
VM_NAME
: El nombre de la VM que deseas conectar a la cuenta de servicio.SERVICE_ACCOUNT_EMAIL
: Es la dirección de correo electrónico asociada con la cuenta de servicio.
Permisos necesarios para esta tarea
Para realizar esta tarea, debes tener los siguientes permisos:
- Todos los permisos incluidos en el rol de usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio y en tu cuenta de usuario. Para obtener detalles sobre cómo otorgar este rol en una cuenta de servicio única, consulta Administra el acceso a las cuentas de servicio. - Si usas el Acceso al SO, necesitas todos los permisos incluidos en uno de los roles de IAM del Acceso al SO en la cuenta de servicio y tu cuenta de usuario.
- Si no usas el Acceso al SO, también necesitas el permiso
compute.projects.setCommonInstanceMetadata
en la cuenta de servicio y en la cuenta de usuario.
Además, debes asignar tu cuenta de servicio a una VM y configurar el permiso de acceso cloud-platform
en la VM.
Para actuar en nombre de una cuenta de servicio desde otra VM, haz lo siguiente:
- Conéctate a la VM que se ejecuta como cuenta de servicio
Desde la VM que se ejecuta como una cuenta de servicio, conéctate a otras VMs con los mismos métodos.
¿Qué sigue?
- Obtén más información para configurar apps para que usen SSH.
- Obtén más información sobre cómo funcionan las conexiones SSH en Compute Engine, incluida la configuración y el almacenamiento de claves SSH.