Administra el Acceso al SO en una organización


Si usas Acceso al SO para administrar el acceso a tus instancias, puedes establecer la configuración a nivel de la organización en la cuenta de Cloud Identity. Por ejemplo, puedes controlar quién puede usar la API de Acceso al SO de forma directa, habilitar el Acceso al SO para todas las instancias de máquina virtual (VM) de una organización y otorgar acceso a usuarios externos.

En este tema, se cubren las siguientes tareas:

Antes de comenzar

Política de la organización de Acceso al SO

Puedes configurar una restricción de acceso a SO en tu organización para asegurarte de que todos los proyectos nuevos y las instancias de VM creadas en estos tengan habilitado acceso a SO.

Cuando se establece esta restricción, se aplican las siguientes condiciones:

  • enable-oslogin=true se incluye en los metadatos del proyecto de todos los proyectos nuevos.
  • Las solicitudes que configuran enable-oslogin en false en los metadatos de proyecto o VM se rechazan, en VM y proyectos nuevos y existentes.

Limitaciones

Acceso al SO no es compatible con los siguientes productos:

  • Versiones 6.1.4 y anteriores de Cloud Data Fusion
  • Cloud Composer
  • Clústeres públicos de Google Kubernetes Engine (GKE) o clústeres privados que ejecutan versiones de grupos de nodos anteriores a la 1.20.5

Soluciones alternativas para Cloud Data Fusion, Cloud Composer y GKE

Para usar el Acceso al SO en organizaciones que usan estos productos, puedes habilitar la restricción de este servicio a nivel de organización y, luego, inhabilitar de forma selectiva la restricción en los proyectos o las carpetas de los proyectos afectados.

Para obtener más información sobre cómo editar las políticas de la organización, consulta cómo crear y editar políticas.

Habilita la política de la organización

Para habilitar la política de Acceso al SO, puedes configurar la restricción de este servicio en carpetas y proyectos específicos mediante la herramienta de línea de comandos de gcloud. También puedes establecer la restricción de Acceso al SO en toda la organización con Google Cloud Console o la herramienta de línea de comandos de gcloud.

Console

Para configurar la política de la organización de Acceso al SO desde la consola, haz lo siguiente:

  1. En Google Cloud Console, ve a la página Políticas de la organización.

    Ir a la página Políticas de la organización

  2. En la lista de políticas, haz clic en Requiere Acceso al SO para ver las restricciones de este servicio.
  3. Haz clic en Editar para editar las restricciones existentes de Acceso al SO.
  4. En la página Editar, selecciona Personalizar.
  5. Para habilitar la aplicación forzosa de esta restricción, selecciona Habilitado.
  6. Haz clic en Guardar para aplicar la configuración de restricción.

gcloud

Para configurar la política de la organización de Acceso al SO, usa el comando gcloud beta resource-manager org-policies enable-enforce.

  1. Busca el ID de tu organización.

    gcloud organizations list
  2. Establece la restricción en la organización. Reemplaza organization-id por el ID de la organización.

    gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \
        --organization=organization-id
    

También puedes aplicar la política de la organización de Acceso al SO en una carpeta o un proyecto con las marcas --folder o --project, y con el ID de la carpeta y del proyecto, respectivamente.

Para las carpetas, ejecuta el siguiente comando:

gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \
    --folder=folder-id

Para los proyectos, ejecuta el siguiente comando:

gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \
    --project=project-id

Reemplaza los siguientes valores:

Otorga acceso a instancias a los usuarios que no pertenecen a la organización

De forma predeterminada, los usuarios fuera de tu organización no pueden configurar llaves SSH para las instancias de la organización y no se les puede otorgar acceso a ellas. En algunos casos, puede que debas otorgar acceso a instancias a los usuarios que forman parte de otra organización o que tienen una Cuenta de gmail.com personal de Google.

Con la función de IAM roles/compute.osLoginExternalUser, las Cuentas de Google externas pueden interactuar con las otras funciones del Acceso al SO, ya que les permite configurar la información de la cuenta POSIX.

Para otorgar roles/compute.osLoginExternalUser y otras funciones necesarias de acceso a instancias de Acceso a SO a usuarios fuera de la organización, completa los siguientes pasos:

  1. En Google Cloud Console, ve a la página de selección de proyecto y organización.

    Ir a la página Selección del proyecto y la organización

  2. En el menú desplegable Organización, selecciona tu organización.
    1. Haz clic en Todas para ver todas tus organizaciones.
    2. Haz clic en el nombre de la organización.
  3. Haz clic en Agregar para agregarle una función nueva a un usuario.
  4. Especifica el nombre de usuario del usuario para el que deseas configurar el acceso a instancias.
  5. Haz clic en Seleccionar una función para especificar qué funciones deseas otorgarle a los usuarios.
  6. En la lista de funciones de Compute Engine, selecciona la función Usuario externo del acceso al SO de Compute.
  7. Haz clic en Agregar para confirmar que deseas otorgar la función seleccionada al usuario.
  8. Si aún no lo hiciste, otorga las otras funciones de acceso a instancias de Acceso al SO al usuario a nivel de proyecto o de la organización.

Ahora el usuario puede conectarse a instancias del proyecto que tengan habilitado el Acceso al SO.

Administra la API de Acceso al SO

A nivel de la organización, puedes restringir el acceso a la API de Acceso al SO si configuras los controles de administrador de Google Workspace. Para configurar los controles de administrador de Google Workspace o ver las opciones de configuración, consulta Controla qué miembros de la organización usan Google Cloud. Como administrador de Google Workspace, también puedes activar o desactivar ciertas funciones de la API de Acceso al SO. Dentro de las opciones que puedes modificar, se incluyen las siguientes:

  • Elige si deseas incluir el sufijo de dominio en los nombres de usuario generados por la API de Acceso al SO. Por ejemplo, en el dominio example.com, el usuario user@example.com tendrá el nombre de usuario user si no se seleccionó la configuración para incluir el sufijo de dominio.
  • Decide si los miembros de la organización pueden administrar llaves SSH mediante la API de Acceso al SO.
  • Restringe o permite que los usuarios fuera de la organización tengan acceso a las VM.

Para obtener más información sobre cómo activar o desactivar la configuración de la API de Acceso al SO, consulta Elige la configuración de Google Cloud Platform.

Audita eventos de Acceso al SO

Como administrador de Google Workspace, puedes usar el SDK de Admin de Google Workspace para auditar las acciones realizadas con la API de Acceso al SO. Puedes revisar estos eventos para hacer un seguimiento de cuándo un usuario agrega, borra o actualiza una clave SSH, o borra la información de la cuenta POSIX.

Si llamas a Activities.list() con applicationName=gcp, puedes recuperar los eventos de actividad de auditoría de la API de Acceso al SO desde el SDK de Admin de Google Workspace. Para obtener más información, consulta los eventos de actividad de Google Cloud en la documentación de la API de informes del SDK de Admin de Google Workspace.

Modifica cuentas de usuario mediante la API de Directory

El Acceso al SO usa la configuración de usuario de Cloud Identity o de Google Workspace cuando se conecta a una instancia. Si eres administrador de una organización, puedes usar la API de Directorio a fin de completar las siguientes tareas para las cuentas de usuario de Google Workspace o Cloud Identity:

  • Modifica la configuración de acceso de la instancia.
  • Convierte a un usuario en administrador.
  • Modifica las propiedades del usuario, como el correo electrónico y el nombre de la cuenta.
  • Agrega y quita las Llaves SSH de un usuario.
  • Modifica la información de la cuenta POSIX.
  • Cambia el nombre de usuario al que se conectan los usuarios en la instancia.

Para obtener más información sobre las propiedades de la cuenta que puedes editar, consulta la referencia de la API de Directorio.

Por ejemplo, crea una solicitud PUT al método directory.users.update y especifica una o más propiedades de la cuenta de usuario que quieras cambiar:

PUT https://admin.googleapis.com/admin/directory/v1/users/user-key

{
 "posixAccounts": [
   {
    "username": "user-name",
    "uid": "uid",
    "gid": "gid",
    "homeDirectory": "user-home-path",
    "shell": "shell-path"
   }
  ],
}

Reemplaza lo siguiente:

  • user-key: La dirección de correo electrónico principal del usuario, su dirección de correo electrónico de alias o el ID de usuario único.
  • user-name: Es el nombre de usuario que agrega Compute Engine a la instancia del usuario. Este valor debe ser único dentro de la organización. Este user-name no debe terminar en una virgulilla (“~”) ni contener un punto (“.”), ya que esto podría causar problemas durante la ejecución de comandos sudo en la VM.
  • uid: Es el ID que tiene el usuario en la instancia. Esta propiedad debe ser un valor entre 100160000, o entre 655352147483647. A fin de acceder a un Container-Optimized OS, el UID debe tener un valor entre 65536 y 214748646. El UID debe ser único dentro de la organización.
  • gid: Es el ID del grupo de la instancia a la que pertenece este usuario.
  • user-home-path: Es el directorio principal de la instancia de este usuario. Por ejemplo, /home/example_username.
  • shell-path: Es la ruta al shell predeterminado para el usuario luego de que se conecta a la instancia. Por ejemplo, /bin/bash o /bin/sh.

Usa grupos de Linux con Acceso al SO

Los administradores de la organización pueden usar la API de Cloud Identity Groups a fin de configurar grupos de Linux complementarios para usuarios del Acceso al SO mediante la creación y administración de grupos POSIX. El Acceso al SO vincula los grupos POSIX con grupos de Linux complementarios en las VM de la organización para que puedas administrar los permisos que tienen los usuarios en tus VM.

Administra la membresía de los usuarios en grupos de Linux

Para crear un grupo POSIX, consulta Crea y actualiza grupos POSIX.

Para agregar usuarios a un grupo, consulta Agrega o invita usuarios a un grupo.

Las actualizaciones de la membresía se aplican en un plazo de 10 minutos. Los cambios en el grupo se reflejan en todas las VM recién creadas. Las actualizaciones de grupos POSIX pueden tardar hasta seis horas en propagarse a todas las VM en ejecución. Es posible que los usuarios tengan que salir o usar el comando newgrp para observar los cambios en el grupo.

¿Qué sigue?