En este documento se describe cómo puedes usar OS Login para gestionar el acceso a instancias de máquinas virtuales en toda tu organización.
En este tema se tratan las siguientes tareas:
- Habilita OS Login en una organización mediante una política de organización: usa una política de organización para asegurarte de que todas las instancias de VM nuevas de tu organización tengan habilitado OS Login.
- Conceder acceso a instancias a usuarios ajenos a tu organización: permite que las cuentas de usuario ajenas a tu organización usen SSH para conectarse a tus instancias.
- Gestionar la API OS Login: permite o deniega el acceso de los usuarios a la API OS Login. También puedes habilitar o inhabilitar funciones de la API OS Login.
- Auditar eventos de inicio de sesión del SO: monitoriza los eventos y las actividades relacionados con el inicio de sesión del SO, como añadir, eliminar o actualizar una clave SSH, o eliminar información POSIX.
- Modificar cuentas de usuario con la API Directory: actualiza las propiedades de los usuarios, como el nombre de usuario y la información de la cuenta POSIX, mediante la API Directory.
- Usar grupos de Linux con OS Login (obsoleto): gestiona los permisos de los usuarios en las VMs mediante grupos de Linux con OS Login.
- Usar OS Login con la federación de identidades de Workforce (vista previa): conéctate a las VMs que tengan habilitado OS Login cuando tu organización use un proveedor de identidades (IdP) externo.
Antes de empezar
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Política de organización de OS Login
Puedes configurar una restricción de OS Login en tu organización para asegurarte de que todos los proyectos nuevos y las instancias de VM creadas en ellos tengan OS Login habilitado.
Cuando se configura esta restricción, se aplican las siguientes condiciones:
enable-oslogin=true
se incluye en los metadatos de todos los proyectos nuevos.- Las solicitudes que asignan el valor
enable-oslogin
afalse
en los metadatos de instancias o proyectos se rechazan, tanto en las VMs como en los proyectos nuevos y en los ya creados.
Limitaciones
OS Login no se admite en los siguientes productos, funciones y máquinas virtuales:- Versiones de Cloud Data Fusion 6.1.4 y anteriores
- Cloud Composer 1
- Máquinas virtuales de Windows Server y SQL Server
- Máquinas virtuales de Fedora CoreOS. Para gestionar el acceso a las instancias de las VMs creadas con estas imágenes, usa el sistema de Ignition de Fedora CoreOS.
Soluciones alternativas para Cloud Data Fusion y Cloud Composer
Para usar OS Login en organizaciones que utilizan Cloud Data Fusion y Cloud Composer, puedes habilitar la restricción de OS Login a nivel de organización y, a continuación, inhabilitar selectivamente la restricción en proyectos o carpetas de los proyectos afectados.
Para obtener más información sobre cómo editar políticas de la organización, consulta Crear y editar políticas.
Habilitar la política de organización
Para habilitar la política OS Login, puedes definir la restricción OS Login en proyectos y carpetas específicos mediante la CLI de Google Cloud. También puedes definir la restricción de inicio de sesión del SO en toda la organización mediante la Google Cloud consola o la CLI de Google Cloud.
Consola
Para definir la política de la organización de inicio de sesión con SO desde la consola, sigue estos pasos:
- En la Google Cloud consola, ve a la página Políticas de la organización.
- En la lista de políticas, haz clic en Requerir OS Login para ver las restricciones de OS Login.
- Haz clic en Editar para modificar las restricciones de inicio de sesión con SO.
- En la página Editar, selecciona Personalizar.
- Para habilitar la aplicación obligatoria de esta restricción, selecciona Activada.
- Haz clic en Guardar para aplicar la configuración de la restricción.
gcloud
Para definir la política de la organización de OS Login, usa el comando
gcloud beta resource-manager org-policies enable-enforce
.Busca el ID de tu organización.
gcloud organizations list
Define la restricción en tu organización. Sustituye
organization-id
por tu ID de organización.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
También puedes aplicar la política de organización de inicio de sesión del SO a una carpeta o a un proyecto con las marcas
--folder
o--project
, y el ID de la carpeta y el ID del proyecto, respectivamente.En el caso de las carpetas, ejecuta el siguiente comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
En el caso de los proyectos, ejecuta el siguiente comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Haz los cambios siguientes:
folder-id
: el ID de tu carpeta.project-id
: tu ID de proyecto.
Conceder acceso a instancias a usuarios ajenos a tu organización
De forma predeterminada, los usuarios ajenos a tu organización no pueden definir claves SSH para las instancias de tu organización ni se les puede conceder acceso a ellas. En algunas situaciones, es posible que tengas que conceder acceso a la instancia a usuarios que formen parte de otra organización o que tengan una cuenta de consumidor de Google
gmail.com
.El rol de gestión de identidades y accesos
roles/compute.osLoginExternalUser
permite que las cuentas de Google externas interactúen con los demás roles de inicio de sesión del SO, ya que les permite configurar la información de la cuenta POSIX.Para conceder
roles/compute.osLoginExternalUser
y otros roles de acceso de instancia de inicio de sesión del SO necesarios a usuarios ajenos a tu organización, sigue estos pasos:- En la Google Cloud consola, ve a la página IAM y administración.
- Haz clic en el menú desplegable Seleccionar un proyecto. En el cuadro de diálogo Selecciona un recurso que aparece, selecciona tu organización haciendo lo siguiente:
- Haz clic en el menú desplegable de la organización para ver todas tus organizaciones.
- Selecciona tu organización en el menú desplegable.
- Haz clic en Conceder acceso para añadir un nuevo rol a un usuario.
- En el campo Nuevos principales, añade la dirección de correo del usuario al que quieras configurar el acceso a la instancia.
- En el menú desplegable Rol, selecciona el rol Usuario externo de inicio de sesión de SO de Compute.
- Haz clic en Guardar.
- Si aún no lo has hecho, concede al usuario los demás roles de acceso de instancia de Inicio de sesión del SO a nivel de proyecto u organización.
Ahora, el usuario puede conectarse a las instancias de tu proyecto que tengan habilitada la función Inicio de sesión del SO.
Gestionar la API OS Login
A nivel de organización, puedes restringir el acceso a la API OS Login configurando los controles de administrador de Google Workspace. Para configurar los controles de administrador de Google Workspace o ver las opciones de configuración, consulta el artículo Controlar quién usa Google Cloud en tu organización. Como administrador de Google Workspace, también puedes activar o desactivar determinadas funciones de la API OS Login. Esto incluye las siguientes opciones:
- Elige si quieres incluir el sufijo del dominio en los nombres de usuario generados por la API OS Login. Por ejemplo, en el dominio
example.com
, el usuariouser@example.com
tendrá el nombre de usuariouser
si no se ha marcado el ajuste para incluir el sufijo de dominio. - Decide si los miembros de tu organización pueden gestionar las claves SSH mediante la API OS Login.
- Restringe o permite el acceso a las VMs a usuarios ajenos a tu organización.
Para obtener más información sobre cómo activar o desactivar los ajustes de la API OS Login, consulta Elegir la configuración de Google Cloud Platform.
Auditar eventos de inicio de sesión del SO
Como administrador de Google Workspace, puedes usar el SDK de administrador de Google Workspace para auditar las acciones realizadas con la API OS Login. Al revisar estos eventos, puede hacer un seguimiento de cuándo añade, elimina o actualiza un usuario una clave SSH, o cuándo elimina información de la cuenta POSIX.
Puedes recuperar eventos de actividad de auditoría de la API OS Login desde el SDK de administrador de Google Workspace llamando a
Activities.list()
conapplicationName=gcp
. Para obtener más información, consulta los eventos de actividad deGoogle Cloud en la documentación de la API Reports del SDK de administrador de Google Workspace.Modificar cuentas de usuario con la API Directory
Inicio de sesión del SO usa la configuración de usuario de Cloud Identity o Google Workspace al conectarse a una instancia. Si eres superadministrador de Google Workspace, puedes usar la API Directory para completar las siguientes tareas en tus cuentas de usuario de Google Workspace o Cloud Identity:
- Modificar la configuración de inicio de sesión de la instancia
- Convertir a un usuario en administrador
- Modificar las propiedades de usuario, como el nombre y el correo de la cuenta
- Añadir y quitar claves SSH de un usuario
- Modificar la información de la cuenta POSIX
- Cambiar el nombre de usuario con el que los usuarios se conectan a la instancia
En los siguientes ejemplos se muestra cómo modificar o eliminar cuentas de usuario mediante la API Directory. Para obtener más información sobre las propiedades de la cuenta que puede editar, consulte la referencia de la API Directory.
Modificar las propiedades de una cuenta
Para modificar la información de la cuenta POSIX de un usuario o gestionar sus claves SSH, envía una solicitud
PUT
al métododirectory.users.update
y especifica una o varias propiedades que quieras cambiar en la cuenta del usuario.Si modifica las propiedades
posixAccounts
de un usuario, debe especificar los valores actuales o nuevos deusername
,uid
ygid
en la solicitud.Si modifica las propiedades
sshPublicKeys
del usuario, debe especificar el valorkey
en la solicitud.A continuación, se muestra un ejemplo de solicitud
PUT
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": [ { "username": "USERNAME", "uid": "UID", "gid": "GID", "homeDirectory": "USER_HOME_PATH", "shell": "SHELL_PATH" } ], "sshPublicKeys": [ { "key": "KEY_VALUE", "expirationTimeUsec": EXPIRATION_TIME } ], }
Haz los cambios siguientes:
USER_KEY
: la dirección de correo principal del usuario, la dirección de correo del alias o el ID de usuario único.USERNAME
: el nombre de usuario que Compute Engine añade a la VM para el usuario. Este valor debe ser único en tu organización y no debe terminar con una virgulilla ("~") ni contener un punto (".").UID
: el ID de usuario de la VM de este usuario. El valor de esta propiedad debe estar entre1001
y60000
o entre65535
y2147483647
. Para acceder a un sistema operativo optimizado para contenedores, elUID
debe tener un valor entre65536
y214748646
. ElUID
debe ser único en tu organización.GID
: el ID de grupo de la máquina virtual a la que pertenece el usuario.USER_HOME_PATH
: (opcional) el directorio principal de la máquina virtual del usuario. Por ejemplo,/home/example_username
.SHELL_PATH
: (Opcional) Ruta al shell predeterminado del usuario después de conectarse a la instancia. Por ejemplo,/bin/bash
o/bin/sh
.KEY_VALUE
: el valor de la clave pública SSH.EXPIRATION_TIME
: (opcional) tiempo de vencimiento de la clave en microsegundos desde el inicio del registro de tiempo (1 segundo = 106 microsegundos).
Quitar propiedades de una cuenta
Para borrar los datos de
posixAccounts
ysshPublicKeys
de un usuario, envía una solicitudPUT
al métododirectory.users.update
y asigna el valornull
a los camposposixAccounts
ysshPublicKeys
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Sustituye
USER_KEY
por la dirección de correo principal, la dirección de correo del alias o el ID de usuario único del usuario.Usar grupos de Linux con OS Login (obsoleto)
Los administradores de la organización pueden usar la API Groups de Cloud Identity para configurar grupos de Linux complementarios para los usuarios de OS Login creando y gestionando grupos POSIX. Inicio de sesión con SO vincula grupos POSIX con grupos de Linux complementarios en las VMs de tu organización para que puedas gestionar los permisos que tienen los usuarios en tus VMs.
Gestionar la pertenencia de los usuarios a grupos de Linux
Para crear un grupo POSIX, consulta el artículo Crear y actualizar grupos POSIX.
Para añadir usuarios a un grupo, consulta el artículo Añadir o invitar a usuarios a un grupo.
Los cambios en la suscripción se aplican en un plazo de 10 minutos. Los cambios en el grupo se reflejan en todas las VMs que se creen. Las actualizaciones de grupos POSIX pueden tardar hasta seis horas en aplicarse a todas las máquinas virtuales en ejecución. Es posible que los usuarios tengan que cerrar sesión o usar el comando
newgrp
para ver los cambios en los grupos.Eliminar configuraciones de grupos POSIX
La compatibilidad con grupos POSIX de Inicio de sesión del SO está obsoleta. Te recomendamos que elimines las configuraciones de grupos POSIX de OS Login.
Para eliminar configuraciones de grupos POSIX de inicio de sesión del SO, debes ser administrador de la organización.
- Si no sabes cuál es el ID de recurso de tu organización, obtén el ID de recurso de tu organización.
- Lista de todos los grupos POSIX de tu organización. Anota la dirección de correo de cada grupo.
- Sigue estos pasos con cada grupo POSIX de tu organización:
- Recupera la información del grupo. Ten en cuenta la
posixGroups.gid
. - Elimina el grupo POSIX.
- Recupera la información del grupo. Ten en cuenta la
- También puedes verificar que se han eliminado todos los grupos POSIX de tu organización. Si todos los grupos se han eliminado correctamente, la respuesta estará vacía.
Límites de frecuencia de grupos de Linux con OS Login
Los grupos de Linux con OS Login usan una cuota de
oslogin.googleapis.com/metadata_server_groups_requests
. De forma predeterminada, el límite de cuota es de 60 solicitudes por minuto por proyecto en una región concreta.Si necesitas un límite de frecuencia mayor, puedes solicitar un ajuste de cuota en la página Cuotas de la Google Cloud consola.
Usar la federación de identidades para los trabajadores con OS Login
Las organizaciones que usan la federación de identidades de Workforce pueden usar el inicio de sesión en el SO para gestionar el acceso a sus VMs. Cuando la federación de identidades para los trabajadores está habilitada en una organización, Inicio de sesión del SO usa la autenticación basada en certificados en lugar de la autenticación basada en claves para verificar las identidades de los usuarios.
Antes de empezar
- Crea un grupo de identidades de Workforce.
- Configura las asignaciones de atributos
google.posix_username
. Configura tu VM para que use OS Login con la federación de identidades de trabajadores siguiendo estos pasos:
Confirma que la VM tiene instalada la versión 7.4 de OpenSSH o una posterior. Para ello, ejecuta el siguiente comando en la VM:
ssh -V
Limitaciones
- No puedes usar Workforce Identity Federation con la autenticación de dos factores (2FA) de OS Login.
- La VM a la que te conectes debe tener la versión 7.4 o posterior de OpenSSH para usar la federación de identidades de la plantilla con el inicio de sesión del SO.
- Si tu organización usa la federación de identidades de la fuerza de trabajo, no podrás acceder a los puertos serie de las VMs.
Conectarse a VMs que usan OS Login y la federación de identidades de Workforce
Conéctate a las VMs que usan el inicio de sesión del SO con la federación de identidades de la plantilla mediante laGoogle Cloud consola, la CLI de gcloud u otros clientes SSH.
Consola
Cuando te conectas a máquinas virtuales que usan OS Login con la federación de identidades de Workforce mediante SSH en el navegador, Compute Engine configura el certificado SSH en tu nombre cuando intentas conectarte.
Para conectarte a las VMs, sigue estos pasos:
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
gcloud
Cuando te conectas a máquinas virtuales que usan OS Login con la federación de identidades de Workforce mediante la CLI de gcloud, Compute Engine configura el certificado SSH en tu nombre cuando intentas conectarte.
Para conectarte a una VM mediante SSH, ejecuta el comando
gcloud beta compute ssh
:Ejecuta el siguiente comando:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene la VMZONE
: nombre de la zona en la que se encuentra la VMVM_NAME
: el nombre de la VM
Si has definido propiedades predeterminadas para la CLI de Google Cloud, puedes omitir las marcas
--project
y--zone
de este comando. Por ejemplo:gcloud compute ssh VM_NAME
-
Instala IAP Desktop en tu estación de trabajo si aún no lo has hecho.
-
Abre IAP Desktop. Se abrirá la ventana Añadir proyectos.
-
Cuando se te solicite, inicia sesión con la federación de identidades para los trabajadores.
-
En la ventana Añadir proyectos, introduce el ID o el nombre del proyecto que contiene las VMs a las que quieres conectarte.
-
En la ventana Explorador de proyectos, vuelve a hacer clic con el botón derecho en el nombre de la VM y selecciona Conectar para conectarte a la VM.
- Crea una clave SSH si aún no tienes una.
Firma tu clave SSH pública con el método
users.projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/users/USER/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" }
Haz los cambios siguientes:
USER
: una sola identidad de un grupo de Workforce, con el siguiente formato:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Haz los cambios siguientes:
POOL_ID
: el grupo de trabajadores al que pertenece el usuario.SUBJECT_ATTRIBUTE_VALUE
: el valor de la asignación de atributosgoogle.posix_username
del usuario.
PROJECT_ID
: el ID del proyecto que contiene la máquina virtual a la que quieres conectarte.LOCATION
: la zona en la que se encuentra la VM a la que quieres conectarte.PUBLIC_KEY
: el contenido de tu archivo de clave pública SSH.
Copia el certificado SSH de la salida del método
user.signSshPublicKey
y guarda el contenido en un archivo nuevo.Define los permisos del archivo de certificado SSH ejecutando el siguiente comando:
sudo chmod 600 FILE_NAME
Sustituye
FILE_NAME
por el nombre del archivo.Conéctate a la máquina virtual con el siguiente comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Haz los cambios siguientes:
PATH_TO_PRIVATE_KEY
: la ruta a tu archivo de clave privada SSH.PATH_TO_SSH_CERTIFICATE
: la ruta al archivo de certificado SSH.USERNAME
: el valor de lagoogle.posix_username
asignación de atributos del usuario.EXTERNAL_IP
: la dirección IP externa de la VM.
In the Google Cloud console, 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.
IAP Desktop
Cuando te conectas a máquinas virtuales que usan OS Login con la federación de identidades de Workforce mediante IAP Desktop, Compute Engine configura el certificado SSH en tu nombre cuando intentas conectarte.
Para conectarte a una VM mediante IAP Desktop, haz lo siguiente:
Cliente SSH
Para conectarte a una VM que usa OS Login con la federación de identidades de la plantilla mediante un cliente SSH, haz lo siguiente:
Siguientes pasos
- Consulta cómo configurar OS Login.
- Consulta cómo configurar OS Login con la verificación en dos pasos.
- Consulta una descripción general de la función OS Login.
- Solucionar problemas de OS Login.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-