Configura Acceso al SO

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

    1. Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init

      Si 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.
  • 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.

    1. Instala la Google Cloud CLI.

    2. Si usas un proveedor de identidad (IdP) externo, primero debes acceder a la gcloud CLI con tu identidad federada.

    3. 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.

    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 compute.projects.get.

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:

  1. Expanda la sección Opciones avanzadas.
  2. Expande la sección Seguridad.
  3. Expande la sección Administrar acceso.
  4. Selecciona Controlar el acceso a la VM mediante permisos de IAM.
  5. Haz clic en Crear para crear e iniciar la VM.

gcloud

  1. En la Google Cloud consola, activa Cloud Shell.

    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.

  2. Crea una VM que habilite Acceso al SO durante el inicio mediante la ejecución del siguiente gcloud compute instance create comando:

    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-oslogin en los metadatos de todo el proyecto para que se apliquen a todas las VM del proyecto.

    Usa el google_compute_project_metadata recurso de Terraform y establece un valor de metadatos en el que oslogin=TRUE:

    resource "google_compute_project_metadata" "default" {
      metadata = {
        enable-oslogin = "TRUE"
      }
    }

    También puedes establecer enable-oslogin en FALSE para inhabilitar el Acceso al SO.

  • Opción 2: Configura enable-oslogin en los metadatos de una VM nueva o existente.

    Usa el recurso google_compute_instance de Terraform y configura oslogin=TRUE. Reemplaza oslogin_instance_name por el nombre de tu VM.

    resource "google_compute_instance" "oslogin_instance" {
      name         = "oslogin-instance-name"
      machine_type = "f1-micro"
      zone         = "us-central1-c"
      metadata = {
        enable-oslogin : "TRUE"
      }
      boot_disk {
        initialize_params {
          image = "debian-cloud/debian-11"
        }
      }
      network_interface {
        # A default network is created for all GCP projects
        network = "default"
        access_config {
        }
      }
    }

    También puedes establecer enable-oslogin en FALSE para 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?