Configura Acceso al SO


En este documento, se describe cómo configurar Acceso al SO y Acceso al SO con autenticación de dos factores (2FA).

Acceso al SO te permite controlar el acceso a las instancias de máquina virtual (VM) según los permisos de IAM. Puedes usar Acceso al SO con o sin 2FA, pero no puedes usar 2FA sin usar Acceso al SO. Para obtener más información sobre Acceso al SO y Acceso al SO 2FA, incluidos los tipos de desafío que admite Acceso al SO, consulta Información sobre Acceso al SO.

Antes de comenzar

  • Si deseas usar Acceso al SO 2FA, habilita 2FA en tu dominio o cuenta:
  • 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 API de Google Cloud. Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Selecciona la pestaña sobre cómo planeas usar las muestras en esta página:

    Consola

    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

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    Terraform

    Para usar las muestras de Terraform de esta página desde un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

    1. Instala Google Cloud CLI.
    2. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

      gcloud init
    3. Crea credenciales de autenticación locales para tu Cuenta de Google:

      gcloud auth application-default login

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

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 la CLI de Google Cloud, 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.

Habilita Acceso al SO.

Puedes habilitar el Acceso al SO o el Acceso al SO con la autenticación de dos factores para una sola VM o todas las VM de un proyecto si configuras los metadatos del Acceso al SO.

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 los siguientes valores en los metadatos del proyecto:

  1. Habilita Acceso al SO:
    • Clave: enable-oslogin
    • Valor: TRUE
  2. Habilita la autenticación de dos factores (opcional):
    • Clave: enable-oslogin-2fa
    • Valor: TRUE

Habilita el Acceso al SO para una sola VM

Para habilitar el Acceso al SO para una sola VM, configura los siguientes valores en los metadatos de la instancia:

  1. Habilita Acceso al SO:
    • Clave: enable-oslogin
    • Valor: TRUE
  2. Habilita la autenticación de dos factores (opcional):
    • Clave: enable-oslogin-2fa
    • Valor: TRUE

Habilita Acceso al SO durante la creación de la VM

Habilita Acceso al SO (opcional, con verificación en dos pasos) mientras creas una VM mediante la consola de Google Cloud o la CLI de gcloud.

Consola

Crea una VM que habilite Acceso al SO y Acceso al SO 2FA de forma opcional 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. En la sección Herramientas de redes, discos, seguridad, administración, usuario único, expande la sección Administración.
  2. Expande la sección Administrar acceso.
  3. Selecciona Controlar el acceso a la VM mediante permisos de IAM.
  4. Opcional: Si deseas habilitar la Acceso al SO 2FA, selecciona Solicitar la verificación en dos pasos.
  5. Haz clic en Crear para crear e iniciar la VM.

gcloud

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

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, 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 y, de manera opcional, la Acceso al SO 2FA al inicio mediante la ejecución de uno de los siguientes comandos de gcloud compute instance create:

    • Para habilitar solo Acceso al SO, ejecuta el siguiente comando:

      gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE
      
    • Para habilitar la Acceso al SO 2FA, ejecuta el siguiente comando:

      gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE,enable-oslogin-2fa=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 recurso google_compute_project_metadata 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.

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?