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 código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

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

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Para obtener más información, consulta Set up authentication for a local development environment.

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.

Console

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. Expande 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. Opcional: Si deseas habilitar la Acceso al SO 2FA, selecciona Solicitar la verificación en dos pasos.
  6. Haz clic en Crear para crear e iniciar la VM.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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 el 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?