En este documento, se describe 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 el Acceso al SO, consulta Información sobre el 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 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:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas una 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 devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la 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 con estas imágenes, usa el sistema de encendido Fedora CoreOS.
- VMs SLES-16 Para administrar el acceso de las instancias a las VMs creadas con estas imágenes, usa SSH basado en metadatos.
Para verificar la compatibilidad con Acceso al SO para 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 la consola de Google Cloud 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 como 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 el 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 creando una VM a partir de una imagen pública y especificando las siguientes configuraciones:
- 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 consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una 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 al inicio ejecutando el siguiente comando
gcloud compute instance create: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 recurso
google_compute_project_metadatade 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.
Inhabilita el Acceso al SO
Puedes inhabilitar el Acceso al SO si estableces enable-oslogin como FALSE en los metadatos del proyecto o la instancia.
Cuando el Acceso al SO está inhabilitado, puedes conectarte a tus VMs con claves SSH almacenadas en metadatos.
Inhabilita el Acceso al SO para todas las VMs de un proyecto
Para inhabilitar el Acceso al SO para todas las VMs de un proyecto, configura el siguiente valor en los metadatos del proyecto:
- Clave:
enable-oslogin - Valor:
FALSE
Inhabilita el Acceso al SO para una sola VM
Para inhabilitar el Acceso al SO para una sola VM, configura el siguiente valor en los metadatos de la instancia:
- Clave:
enable-oslogin - Valor:
FALSE
Si se configura enable-oslogin como FALSE en los metadatos de la instancia, se inhabilita el Acceso al SO para la VM, incluso si enable-oslogin se configura como TRUE en los metadatos del proyecto.
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 el acceso al SO.
Habilita el Acceso al SO con 2FA
Para mayor seguridad, puedes exigir que los usuarios usen la autenticación de dos factores (2FA) cuando se conecten a VMs que tengan habilitado el acceso al SO. Si planeas usar el Acceso al SO con 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 admitidos, consulta Información sobre Acceso al SO.
Antes de habilitar la 2FA, asegúrate de que el Acceso al SO esté habilitado como se describe en Habilita el Acceso al SO. Para habilitar la 2FA del Acceso al SO, establece el siguiente valor de metadatos en los metadatos de la instancia o del 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.
- Aprende a usar certificados SSH (versión preliminar) para conectarte a VMs.
- Obtén más información para usar SSH con llaves de seguridad (versión preliminar) y restringir aún más el acceso a las VMs.