En este documento, se explica cómo configurar el Acceso al SO.
Acceso al SO te permite controlar el acceso a las instancias de máquina virtual (VM) según los permisos de IAM. Para obtener más información sobre Acceso al SO, consulta Información sobre Acceso al SO.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los Google Cloud servicios y las APIs. Para ejecutar
código o muestras desde un entorno de desarrollo local, puedes autenticarte en
Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña según cómo planeas usar las muestras en esta página:
Console
Cuando usas la Google Cloud consola para acceder a los Google Cloud servicios y las APIs, no necesitas configurar la autenticación.
gcloud
-
Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
-
Instala la Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a la gcloud CLI con tu identidad federada.
-
Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se muestra un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a gcloud CLI con tu identidad federada.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Limitaciones
Acceso al SO no es compatible con las siguientes VMs:- VMs de Windows Server y SQL Server
- VMs de Fedora CoreOS Para administrar el acceso de las instancias a las VMs creadas mediante estas imágenes, usa el sistema de encendido Fedora CoreOS.
- VMs de SLES-16 Para administrar el acceso de las instancias a las VMs creadas con estas imágenes, usa el SSH basado en metadatos.
Para verificar la compatibilidad de Acceso al SO con distribuciones específicas de Linux, consulta Detalles de los sistemas operativos.
Asigna roles de IAM de Acceso al SO
Asigna todos los roles de IAM necesarios a los usuarios que se conectan a las VMs que tienen habilitado Acceso al SO.
| Rol | Usuarios obligatorios | Nivel de concesión |
|---|---|---|
roles/compute.osLogin
o roles/compute.osAdminLogin |
Todos los usuarios | En el Proyecto o la instancia. Si un usuario requiere acceso SSH desde Google Cloud la consola o Google Cloud CLI, debes otorgar estos roles a nivel de proyecto o, además, otorgar un rol a nivel de proyecto que contenga el permiso |
roles/iam.serviceAccountUser |
Todos los usuarios, si la VM tiene una cuenta de servicio | En Cuenta de servicio. |
roles/compute.osLoginExternalUser |
Usuarios de una organización diferente a la de la VM a la que se conectan | En la organización. Un administrador de la organización debe otorgar este rol. |
Habilitar el Acceso al SO
Puedes habilitar el Acceso al SO para una sola VM o todas las VMs de un proyecto si configuras
enable-oslogin en TRUE en los metadatos del proyecto o la instancia.
Cuando configuras los metadatos del Acceso al SO, Compute Engine borra los archivos authorized_keys de la VM y ya no acepta conexiones de claves SSH almacenadas en metadatos del proyecto o la instancia.
Habilita el Acceso al SO para todas las VMs de un proyecto.
Para habilitar el Acceso al SO para todas las VMs de un proyecto, configura el siguiente valor en los metadatos del proyecto:
- Clave:
enable-oslogin - Valor:
TRUE
Habilita el Acceso al SO para una sola VM
Para habilitar el Acceso al SO para una sola VM, configura el siguiente valor en los metadatos de la instancia:
- Clave:
enable-oslogin - Valor:
TRUE
Habilita Acceso al SO durante la creación de la VM
Habilita Acceso al SO mientras creas una VM con la Google Cloud consola o gcloud CLI.
Console
Crea una VM que habilite Acceso al SO durante el inicio mediante la creación de una VM a partir de una imagen pública y especifica las siguientes opciones de configuración:
- Expanda la sección Opciones avanzadas.
- Expande la sección Seguridad.
- Expande la sección Administrar acceso.
- Selecciona Controlar el acceso a la VM mediante permisos de IAM.
- Haz clic en Crear para crear e iniciar la VM.
gcloud
-
En la Google Cloud consola, activa Cloud Shell.
En la parte inferior de la Google Cloud consola, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Crea una VM que habilite Acceso al SO durante el inicio mediante la ejecución del siguiente
gcloud compute instance createcomando:gcloud compute instances create VM_NAME \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata enable-oslogin=TRUE
Reemplaza lo siguiente:
VM_NAME: es el nombre de la VM nueva.IMAGE_FAMILY: es la familia de imágenes de un SO Linux. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Para todas las familias de imágenes públicas, consulta Detalles de los sistemas operativos.IMAGE_PROJECT: es el proyecto de imagen que contiene la familia de imágenes. Cada SO tiene su propio proyecto de imagen. Para todos los proyectos de imágenes públicas, consulta Detalles de los sistemas operativos.
Terraform
Puedes aplicar los valores de metadatos a tus proyectos o VMs mediante una de las siguientes opciones:
Opción 1: Configura
enable-osloginen los metadatos de todo el proyecto para que se apliquen a todas las VM del proyecto.Usa el
google_compute_project_metadatarecurso de Terraform y establece un valor de metadatos en el queoslogin=TRUE:También puedes establecer
enable-osloginenFALSEpara inhabilitar el Acceso al SO.Opción 2: Configura
enable-osloginen los metadatos de una VM nueva o existente.Usa el recurso
google_compute_instancede Terraform y configuraoslogin=TRUE. Reemplazaoslogin_instance_namepor el nombre de tu VM.También puedes establecer
enable-osloginenFALSEpara excluir tu VM del uso del Acceso al SO.
Conéctate a las VMs que tienen Acceso al SO habilitado.
Conéctate a las VMs que tienen el acceso a SO habilitado mediante los métodos descritos en Conéctate a las VMs de Linux.
Cuando te conectas a las VMs que tienen Acceso al SO habilitado, Compute Engine usa el nombre de usuario que el administrador de tu organización configuró para ti.
Si el administrador de la organización no configuró un nombre de usuario, Compute Engine genera un nombre de usuario con el formato USERNAME_DOMAIN_SUFFIX.
Para obtener más información sobre los nombres de usuario, consulta Cómo funciona Acceso al SO.
Habilita Acceso al SO con 2FA
Para mayor seguridad, puedes requerir que los usuarios usen la autenticación de dos factores (2FA) cuando se conecten a VMs que tienen habilitado Acceso al SO. Si planeas usar Acceso al SO con la autenticación de dos factores, los usuarios deben configurar la verificación en 2 pasos en sus cuentas. Para obtener información sobre los métodos de 2FA compatibles, consulta Información sobre Acceso al SO.
Antes de habilitar la 2FA, asegúrate de que Acceso al SO esté habilitado como se describe en Habilita el Acceso al SO. Para habilitar Acceso al SO 2FA, configura el siguiente valor de metadatos en los metadatos de la instancia o el proyecto:
- Clave:
enable-oslogin-2fa - Valor:
TRUE
Para que se aplique Acceso al SO 2FA, los metadatos de Acceso al SO (enable-oslogin)
y Acceso al SO 2FA (enable-oslogin-2fa) deben establecerse en TRUE.
Cuando te conectes a las VMs que tienen habilitada la Acceso al SO 2FA, también verás un mensaje basado en el método de verificación en dos pasos o el tipo de verificación que seleccionaste. Para el método de mensaje telefónico, acepta los mensajes en tu teléfono o tablet a fin de continuar. Para otros métodos, ingresa tu código de seguridad o contraseña de un solo uso.
Soluciona problemas de Acceso al SO
Si deseas encontrar métodos para diagnosticar y resolver errores de Acceso al SO, consulta Soluciona problemas de Acceso al SO.
¿Qué sigue?
- Obtén información sobre cómo funcionan las conexiones SSH a las VM de Linux en Compute Engine.
- Obtén información para usar certificados SSH (vista previa) para conectarte a las VMs.
- Obtén más información para usar SSH con llaves de seguridad (vista previa) para restringir aún más el acceso a las VMs.