Este documento describe cómo puede utilizar el inicio de sesión del sistema operativo para administrar el acceso a instancias de VM en toda su organización.
Este tema cubre las siguientes tareas:
- Habilite el inicio de sesión del sistema operativo para una organización mediante una política de la organización : use una política de la organización para garantizar que todas las instancias de VM nuevas en su organización tengan el inicio de sesión del sistema operativo habilitado.
- Conceder acceso a la instancia a usuarios fuera de su organización : permita que las cuentas de usuario fuera de su organización utilicen SSH para conectarse a sus instancias.
- Administrar la API de inicio de sesión del sistema operativo : permita o deniegue a los usuarios el acceso para utilizar la API de inicio de sesión del sistema operativo. También habilite o deshabilite las funciones de la API de inicio de sesión del sistema operativo.
- Auditar eventos de inicio de sesión del sistema operativo : realice un seguimiento de eventos y actividades relacionados con el inicio de sesión del sistema operativo, como agregar, eliminar o actualizar una clave SSH o eliminar información POSIX.
- Modificar cuentas de usuario mediante Directory API : actualice las propiedades del usuario, como el nombre de usuario y la información de la cuenta POSIX, mediante Directory API.
- Usar grupos de Linux con inicio de sesión en el sistema operativo (en desuso) : administre los permisos de usuario dentro de las máquinas virtuales mediante el uso de grupos de Linux con inicio de sesión en el sistema operativo.
- Utilice el inicio de sesión del sistema operativo con la federación de identidades de la fuerza laboral ( versión preliminar ): conéctese a máquinas virtuales que tengan el inicio de sesión del sistema operativo habilitado cuando su organización utilice un proveedor de identidad (IdP) externo.
Antes de comenzar
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
enable-oslogin=true
se incluye en los metadatos del proyecto para todos los proyectos nuevos. - Las solicitudes que configuran
enable-oslogin
enfalse
en metadatos de instancia o proyecto se rechazan para máquinas virtuales y proyectos nuevos y existentes. - Versiones 6.1.4 y anteriores de Cloud Data Fusion
- Compositor de la nube 1
- Clústeres públicos de Google Kubernetes Engine (GKE) que ejecutan versiones anteriores a la 1.23.5
- Clústeres privados de GKE que ejecutan versiones del grupo de nodos anteriores a la 1.20.5
- Dataproc sin servidor
- Máquinas virtuales Windows Server y SQL Server
- Máquinas virtuales Fedora CoreOS. Para administrar el acceso de instancia a las máquinas virtuales creadas con estas imágenes, use el sistema de encendido Fedora CoreOS
- En la consola de Google Cloud, vaya a la página de políticas de la organización .
- En la lista de políticas, haga clic en Requerir inicio de sesión en el sistema operativo para ver las restricciones de inicio de sesión en el sistema operativo.
- Haga clic en Editar para editar las restricciones de inicio de sesión del sistema operativo existentes.
- En la página Editar , seleccione Personalizar .
- Para habilitar la aplicación de esta restricción, seleccione Activado .
- Haga clic en Guardar para aplicar la configuración de restricción.
Busque el ID de su organización.
gcloud organizations list
Establezca la restricción en su organización. Reemplace
organization-id
con el ID de su organización .gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
-
folder-id
: su ID de carpeta . -
project-id
: el ID de su proyecto . - En la consola de Google Cloud, vaya a la página IAM y administración .
- Haga clic en el menú desplegable Seleccionar un proyecto . En el cuadro de diálogo Seleccionar un recurso que aparece, seleccione su organización haciendo lo siguiente:
- Haga clic en el menú desplegable de organizaciones para ver todas sus organizaciones.
- Seleccione su organización en el menú desplegable.
- Haga clic en Conceder acceso para agregar una nueva función a un usuario.
- En el campo Nuevos directores , agregue la dirección de correo electrónico del usuario para quien desea configurar el acceso a la instancia.
- En el menú desplegable Función , seleccione la función Usuario externo de inicio de sesión de Compute OS .
- Haga clic en Guardar .
- Si aún no lo ha hecho, otorgue las otras funciones de acceso a la instancia de inicio de sesión del sistema operativo al usuario en el nivel de proyecto u organización.
- Elija si desea incluir el sufijo de dominio en los nombres de usuario generados por la API de inicio de sesión del sistema operativo. Por ejemplo, en el dominio
example.com
, el usuariouser@example.com
tendrá el nombre de usuariouser
si la configuración para incluir el sufijo del dominio no está marcada. - Decida si los miembros de su organización pueden administrar claves SSH utilizando la API de inicio de sesión del sistema operativo.
- Restrinja o permita el acceso a VM a usuarios fuera de su organización.
- Modifique la configuración de inicio de sesión de la instancia.
- Convertir a un usuario en administrador
- Modificar las propiedades del usuario, como el nombre de la cuenta y el correo electrónico.
- Agregar y eliminar claves SSH para un usuario
- Modificar la información de la cuenta POSIX
- Cambie el nombre de usuario al que se conectan los usuarios en la instancia.
-
USER_KEY
: la dirección de correo electrónico principal del usuario, la dirección de correo electrónico alias o el ID de usuario único. -
USERNAME
: el nombre de usuario que Compute Engine agrega a la VM para el usuario. Este valor debe ser único dentro de su organización y no debe terminar en tilde ("~") ni contener un punto ("."). -
UID
: el ID de usuario en la VM para este usuario. Esta propiedad debe tener un valor entre1001
y60000
, o un valor entre65535
y2147483647
. Para acceder a un sistema operativo optimizado para contenedores, elUID
debe tener un valor entre65536
y214748646
. ElUID
debe ser único dentro de su organización. -
GID
: el ID del grupo en la VM al que pertenece el usuario. -
USER_HOME_PATH
: (opcional) el directorio de inicio en la VM para el usuario. Por ejemplo,/home/example_username
. -
SHELL_PATH
: (opcional) la ruta al shell predeterminado para el usuario después de conectarse a la instancia. Por ejemplo,/bin/bash
o/bin/sh
. -
KEY_VALUE
: el valor de la clave SSH pública. -
EXPIRATION_TIME
: (Opcional) el tiempo de vencimiento de la clave en microsegundos desde la época (1 segundo = 10 6 microsegundos). - Si no conoce el ID de recurso de su organización, obtenga el ID de recurso de su organización .
- Enumere todos los grupos POSIX de su organización. Anote la dirección de correo electrónico de cada grupo.
- Para cada grupo POSIX de su organización, haga lo siguiente:
- Recuperar la información del grupo . Tenga en cuenta el
posixGroups.gid
. - Eliminar el grupo POSIX .
- Recuperar la información del grupo . Tenga en cuenta el
- Opcionalmente, verifique que todos los grupos se hayan eliminado enumerando todos los grupos POSIX de su organización. Si todos los grupos se han eliminado correctamente, la respuesta está vacía.
- Cree un grupo de identidades de la fuerza laboral .
- Configure las asignaciones de atributos
google.posix_username
. Configure su máquina virtual para usar el inicio de sesión del sistema operativo con la federación de identidades de la fuerza laboral haciendo lo siguiente:
Confirme que la VM tenga instalado OpenSSH 7.4 o posterior ejecutando el siguiente comando en la VM:
ssh -V
- La máquina virtual a la que se está conectando debe tener OpenSSH versión 7.4 o posterior para usar la federación de identidades de la fuerza laboral con el inicio de sesión en el sistema operativo.
- Si su organización utiliza la federación de identidades de la fuerza laboral, no podrá acceder a los puertos serie de la máquina virtual.
- Los certificados SSH solo se admiten para máquinas virtuales en las siguientes regiones:
-
asia-east1
-
asia-northeast1
-
asia-southeast1
-
australia-southeast1
-
europe-north1
-
europe-west1
-
europe-west4
-
northamerica-northeast1
-
southamerica-west1
-
us-central1
-
us-central2
-
us-east1
-
us-east4
-
us-east5
-
us-east7
-
us-south1
-
us-west1
-
us-west4
-
us-west8
-
- 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.
-
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.
Ejecute el siguiente comando:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto que contiene la VM -
ZONE
: el nombre de la zona en la que se encuentra la VM -
VM_NAME
: el nombre de la VM
Si ha configurado propiedades predeterminadas para la CLI de Google Cloud, puede omitir los indicadores
--project
y--zone
de este comando. Por ejemplo:gcloud compute ssh VM_NAME
-
Instale IAP Desktop en su estación de trabajo si aún no lo ha hecho.
Abra el escritorio IAP. Se abre la ventana Agregar proyectos .
Cuando se le solicite, inicie sesión en la federación de identidad laboral .
En la ventana Agregar proyectos , ingrese el ID del proyecto o el nombre del proyecto que contiene las máquinas virtuales a las que desea conectarse.
En la ventana del Explorador de proyectos , haga clic con el botón derecho en el nombre de la VM nuevamente y seleccione Conectar para conectarse a la VM.
- Cree una clave SSH si aún no tiene una.
Firme su clave SSH pública utilizando 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" }
Reemplace lo siguiente:
USER
: una identidad única en un grupo de fuerza laboral, en el siguiente formato:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Reemplace lo siguiente:
-
POOL_ID
: el grupo de fuerza laboral al que pertenece el usuario. -
SUBJECT_ATTRIBUTE_VALUE
: el valor de la asignación del atributogoogle.posix_username
del usuario.
-
PROJECT_ID
: el ID del proyecto que contiene la VM a la que desea conectarse.LOCATION
: la zona donde se encuentra la VM a la que desea conectarse.PUBLIC_KEY
: el contenido de su archivo de clave pública SSH.
Copie el certificado SSH de la salida del método
user.signSshPublicKey
y guarde el contenido en un archivo nuevo.Establezca permisos en el archivo de certificado SSH ejecutando el siguiente comando:
sudo chmod 600 FILE_NAME
Reemplace
FILE_NAME
con el nombre del archivo.Conéctese a la VM usando el siguiente comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Reemplace lo siguiente:
-
PATH_TO_PRIVATE_KEY
: la ruta a su archivo de clave SSH privada. -
PATH_TO_SSH_CERTIFICATE
: la ruta a su archivo de certificado SSH. -
USERNAME
: el valor de la asignación del atributogoogle.posix_username
del usuario. -
EXTERNAL_IP
: la dirección IP externa de la VM.
-
- Aprenda cómo configurar el inicio de sesión en el sistema operativo .
- Aprenda cómo configurar el inicio de sesión en el sistema operativo con verificación en dos pasos .
- Lea una descripción general de la función de inicio de sesión del sistema operativo .
- Solucionar problemas de inicio de sesión del sistema operativo.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Política de organización de inicio de sesión del sistema operativo
Puede configurar una restricción de inicio de sesión en el sistema operativo en su organización para garantizar que todos los proyectos nuevos y las instancias de VM creadas en estos nuevos proyectos tengan habilitado el inicio de sesión en el sistema operativo.
Cuando se establece esta restricción, se aplican las siguientes condiciones:
Limitaciones
El inicio de sesión en el sistema operativo no es compatible con los siguientes productos, funciones y máquinas virtuales:Soluciones alternativas para Cloud Data Fusion, Cloud Composer y GKE
Para usar el inicio de sesión del sistema operativo en organizaciones que usan Cloud Data Fusion, Cloud Composer y GKE, puede habilitar la restricción de inicio de sesión del sistema operativo a nivel de organización y luego deshabilitar selectivamente la restricción en proyectos o carpetas para los proyectos afectados.
Para obtener más información sobre la edición de políticas de la organización, consulte creación y edición de políticas .
Habilitar la política de la organización
Para habilitar la política de inicio de sesión del sistema operativo, puede establecer la restricción de inicio de sesión del sistema operativo en proyectos y carpetas específicos mediante la CLI de Google Cloud. También puede establecer la restricción de inicio de sesión del sistema operativo en toda la organización mediante la consola de Google Cloud o la CLI de Google Cloud.
Consola
Para configurar la política de organización de inicio de sesión del sistema operativo desde la consola, complete los siguientes pasos:
nube de gcloud
Para configurar la política de organización de inicio de sesión en el sistema operativo, usa el comando
gcloud beta resource-manager org-policies enable-enforce
.También puede aplicar la política de organización de inicio de sesión del sistema operativo a una carpeta o un proyecto con los indicadores
--folder
o--project
, y el ID de la carpeta y el ID del proyecto, respectivamente.Para carpetas, ejecute el siguiente comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Para proyectos, ejecute el siguiente comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Reemplace lo siguiente:
Conceder acceso a la instancia a usuarios fuera de su organización
De forma predeterminada, los usuarios fuera de su organización no pueden configurar claves SSH para instancias de su organización ni recibir acceso a instancias de su organización. En algunas situaciones, es posible que deba otorgar acceso a la instancia a usuarios que forman parte de una organización diferente o que tienen una cuenta de consumidor de Google
gmail.com
.La función IAM
roles/compute.osLoginExternalUser
permite que las cuentas externas de Google interactúen con otras funciones de inicio de sesión del sistema operativo permitiéndoles configurar la información de la cuenta POSIX.Para otorgar
roles/compute.osLoginExternalUser
y otros roles de acceso necesarios a la instancia de inicio de sesión del sistema operativo a usuarios fuera de su organización, complete los siguientes pasos:El usuario ahora puede conectarse a instancias de su proyecto que tengan habilitado el inicio de sesión en el sistema operativo.
Administrar la API de inicio de sesión del sistema operativo
A nivel de organización, puede restringir el acceso a la API de inicio de sesión del sistema operativo configurando los controles administrativos de Google Workspace. Para configurar los controles de administración de Google Workspace o ver las opciones de configuración, consulte Controlar quién usa Google Cloud en su organización . Como administrador de Google Workspace, también puedes activar o desactivar determinadas funciones de la API de inicio de sesión del sistema operativo. Esto incluye las siguientes opciones:
Para obtener más información sobre cómo activar o desactivar la configuración de la API de inicio de sesión del sistema operativo, consulte Elegir configuración para Google Cloud Platform .
Auditar eventos de inicio de sesión del sistema operativo
Como administrador de Google Workspace, puede utilizar el SDK de administrador de Google Workspace para auditar las acciones realizadas con la API de inicio de sesión del sistema operativo. Al revisar estos eventos, puede realizar un seguimiento de cuándo un usuario agrega, elimina o actualiza una clave SSH, o elimina información de la cuenta POSIX.
Puedes recuperar eventos de actividad de auditoría de la API de inicio de sesión del sistema operativo desde el SDK de administración de Google Workspace llamando a
Activities.list()
conapplicationName=gcp
. Para obtener más información, consulte Google Cloud eventos de actividad en la documentación de la API de informes del SDK de administración de Google Workspace.Modificar cuentas de usuario utilizando la API del directorio
El inicio de sesión del sistema operativo utiliza su configuración de usuario de Cloud Identity o Google Workspace cuando se conecta a una instancia. Si eres administrador de una organización, puedes usar la API de Directory para completar las siguientes tareas para tus cuentas de usuario de Google Workspace o Cloud Identity:
Los siguientes ejemplos muestran cómo modificar o eliminar cuentas de usuario utilizando Directory API. Para obtener más información sobre las propiedades de la cuenta que puede editar, consulte la referencia de Directory API .
Modificar propiedades de la cuenta
Para modificar la información de la cuenta POSIX de un usuario o administrar las claves SSH del usuario, emita una solicitud
PUT
al métododirectory.users.update
y especifique una o más propiedades para cambiar en la cuenta de usuario.Si modifica las propiedades
posixAccounts
de un usuario, debe especificar los valores deusername
,uid
ygid
actuales o nuevos en la solicitud.Si modifica las propiedades
sshPublicKeys
del usuario, debe especificar el valorkey
en la solicitud.El siguiente es un ejemplo de una 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 } ], }
Reemplace lo siguiente:
Eliminar propiedades de la cuenta
Para borrar los datos
posixAccounts
ysshPublicKeys
de un usuario, emita una solicitudPUT
al métododirectory.users.update
, configurando los camposposixAccounts
ysshPublicKeys
ennull
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Reemplace
USER_KEY
con la dirección de correo electrónico principal del usuario, la dirección de correo electrónico alias o la identificación de usuario única.Utilice grupos de Linux con inicio de sesión en el sistema operativo (obsoleto)
Los administradores de la organización pueden usar la API de Cloud Identity Groups para configurar grupos de Linux complementarios para los usuarios de inicio de sesión del sistema operativo mediante la creación y administración de grupos POSIX. El inicio de sesión del sistema operativo vincula grupos POSIX con grupos de Linux complementarios en las máquinas virtuales de su organización para que pueda administrar los permisos que los usuarios tienen en sus máquinas virtuales.
Administrar la membresía de usuarios en grupos de Linux
Para crear un grupo POSIX, consulte Creación y actualización de grupos POSIX .
Para agregar usuarios a un grupo, consulte Agregar o invitar usuarios a un grupo .
Las actualizaciones de membresía entran en vigor en 10 minutos. Los cambios de grupo se reflejan en todas las máquinas virtuales recién creadas. Las actualizaciones del grupo POSIX pueden tardar hasta seis horas en propagarse 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 observar los cambios del grupo.Eliminar configuraciones de grupos POSIX
La compatibilidad con el grupo POSIX de inicio de sesión en el sistema operativo está obsoleta. Le recomendamos que elimine las configuraciones de los grupos POSIX de inicio de sesión del sistema operativo.
Debe ser administrador de la organización para eliminar las configuraciones del grupo POSIX de inicio de sesión del sistema operativo.
Límites de velocidad para grupos de Linux con sistema operativo
Los grupos de Linux con inicio de sesión en el sistema operativo utilizan la cuota
oslogin.googleapis.com/metadata_server_groups_requests
. De forma predeterminada, el límite de cuota es de 60 solicitudes/minuto por proyecto para una región en particular.Si necesita un límite de tarifa más alto, puede solicitar una cuota adicional desde la página Cuotas en la consola de Google Cloud.
Utilice la federación de identidades de la fuerza laboral con el inicio de sesión del sistema operativo
Las organizaciones que utilizan la federación de identidades de la fuerza laboral pueden usar OS Login para administrar el acceso a sus máquinas virtuales. Cuando la federación de identidades de la fuerza laboral está habilitada para una organización, OS Login usa autenticación basada en certificados en lugar de autenticación basada en claves para verificar las identidades de los usuarios.
Antes de comenzar
Limitaciones
Conéctese a máquinas virtuales que utilizan el inicio de sesión del sistema operativo y la federación de identidades de la fuerza laboral
Conéctese a máquinas virtuales que usan el inicio de sesión del sistema operativo con la federación de identidades de la fuerza laboral mediante la consola de Google Cloud, la CLI de gcloud u otros clientes SSH.
Consola
Cuando te conectas a máquinas virtuales que usan el inicio de sesión en el sistema operativo con la federación de identidad de la fuerza laboral mediante SSH en el navegador , Compute Engine configura el certificado SSH en tu nombre cuando intentas conectarte.
Para conectarse a máquinas virtuales, haga lo siguiente:
nube de gcloud
Cuando te conectas a máquinas virtuales que usan el inicio de sesión en el sistema operativo con la federación de identidad de la fuerza laboral mediante la CLI de gcloud , Compute Engine configura el certificado SSH en tu nombre cuando intentas conectarte.
Conéctate a una máquina virtual mediante SSH ejecutando el comando
gcloud beta compute ssh
:Escritorio IAP
Cuando te conectas a máquinas virtuales que usan el inicio de sesión en el sistema operativo con la federación de identidades de la fuerza laboral usando IAP Desktop , Compute Engine configura el certificado SSH en tu nombre cuando intentas conectarte.
Para conectarse a una máquina virtual mediante IAP Desktop, haga lo siguiente:
Cliente SSH
Para conectarse a una máquina virtual que utiliza el inicio de sesión en el sistema operativo con la federación de identidades de la fuerza laboral mediante un cliente SSH, haga lo siguiente:
¿Qué sigue?
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-04-17 (UTC).
-