Si usas acceso a SO para administrar el acceso a tus instancias, puedes establecer configuraciones a nivel de la organización para tu cuenta de Cloud Identity. Por ejemplo, puedes controlar quién puede usar la API de acceso a SO de forma directa, habilitar acceso a SO para todas las instancias de VM en una organización, otorgar acceso a los usuarios externos y mucho más.
En este tema, se cubren las siguientes tareas:
- Habilita acceso a SO para una organización mediante una política de la organización: usa una política de la organización para garantizar que todas las instancias de VM nuevas en tu organización tengan habilitado acceso a SO.
- Otorga acceso a instancias a los usuarios fuera de tu organización: permite que las cuentas de usuario fuera de tu organización accedan con SSH a tus instancias.
- Controla el acceso a la API de acceso a SO: permite o niega a los usuarios el acceso para que usen la API de acceso a SO.
- Audita eventos de acceso a SO: realiza un seguimiento de los eventos y actividades relacionados con acceso a SO; como agregar, borrar o actualizar una Llave SSH, o borrar información POSIX.
- Modifica cuentas de usuario mediante la API de Directorio: actualiza las propiedades del usuario, como el nombre de usuario y la información de la cuenta POSIX, mediante la API de Directorio.
Antes de comenzar
- Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:
- Instala la herramienta de línea de comandos de gcloud o actualízala a la última versión.
- Configura una región y una zona predeterminadas.
- Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
Habilita acceso a SO mediante una política de la organización
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
se establece entrue
en los metadatos del proyecto para todos los proyectos nuevos.- Se rechazan las solicitudes de actualización para establecer
enable-oslogin
enfalse
en metadatos del proyecto o de la instancia.
Limitaciones
- No puedes aplicar esta restricción de forma retroactiva. Acceso a SO no se habilita de forma automática en las instancias y los proyectos que se crean antes de que se aplique la restricción.
- Las instancias que se ejecutan en Google Kubernetes Engine no son compatibles con acceso a SO. Si habilitas la restricción de acceso a SO en un proyecto que ejecuta instancias de Google Kubernetes Engine, es posible que esas instancias no funcionen de forma adecuada.
Para habilitar la política de acceso a SO, puedes establecer la restricción de acceso a SO en proyectos y carpetas específicos mediante la herramienta de línea de comandos de gcloud
. También puedes establecer la restricción de acceso a SO en toda la organización mediante Google Cloud Platform Console o la herramienta de línea de comandos de gcloud
.
Console
Para configurar la política de la organización de acceso a SO desde Console, completa los siguientes pasos:
- Ve a la página Políticas de la organización.
- En la lista de políticas, haz clic en Requerir acceso a SO para ver las restricciones de acceso a SO.
- Haz clic en Editar para editar las restricciones existentes de acceso a SO.
- En la página Editar, selecciona Personalizar.
- Para habilitar la aplicación forzosa de esta restricción, selecciona Habilitado.
- Haz clic en Guardar para aplicar la configuración de restricción.
gcloud
Para configurar la política de la organización de acceso a SO, usa el comando gcloud beta resource-manager org-policies enable-enforce
.
Busca el ID de tu organización.
gcloud organizations list
Establece la restricción en tu organización.
gcloud beta resource-manager org-policies enable-enforce \ compute.requireOsLogin --organization=[ORGANIZATION_ID]
en la que
[ORGANIZATION_ID]
es el ID de tu organización.
También puedes aplicar la política de la organización de acceso a SO a una carpeta o un proyecto con las marcas --folder
o --project
, y 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]
en los que:
[FOLDER_ID]
es el ID de tu carpeta.[PROJECT_ID]
es el ID de tu proyecto
Otorga acceso a instancias a los usuarios fuera de tu 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
de consumidor de Google.
La función roles/compute.osLoginExternalUser
de IAM permite que las Cuentas de Google externas interactúen con las otras funciones de acceso a SO, ya que les permitir 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:
- Ve a la página de selección del proyecto y la organización.
- En el menú desplegable Organización, selecciona tu organización.
- Haz clic en Todas para ver todas tus organizaciones.
- Haz clic en el nombre de la organización.
- Haz clic en Agregar para agregarle una función nueva a un usuario.
- Especifica el nombre de usuario del usuario para el que deseas configurar el acceso a instancias.
- Haz clic en Seleccionar una función para especificar qué funciones deseas otorgarle a los usuarios.
- En la lista de funciones de Compute Engine, selecciona la función Usuario externo del acceso al SO de Compute.
- Haz clic en Agregar para confirmar que deseas otorgar la función seleccionada al usuario.
- Si aún no lo hiciste, otorga las otras funciones de acceso a instancias de acceso a SO al usuario a nivel de proyecto o de la organización.
Ahora el usuario puede conectarse a instancias en tu proyecto que tengan habilitado acceso a SO.
Controla el acceso a la API de acceso a SO
Los miembros de tu organización pueden usar la API de acceso a SO para modificar sus cuentas. A nivel de la organización, puedes restringir el acceso a la API de acceso a SO si configuras los controles de administrador de G Suite. Para configurar los controles de administrador de G Suite o ver las opciones de configuración, consulta la página sobre cómo controlar qué miembros de tu organización usan Google Cloud Platform.
Audita eventos de acceso a SO
Como administrador de G Suite, puedes usar el SDK de administrador de G Suite para auditar las acciones realizadas con la API de acceso a SO. Mediante la revisión de estos eventos, puedes realizar un seguimiento de cuándo un usuario agrega, borra o actualiza una Llave SSH, o borra la información de la cuenta POSIX.
Si llamas a la Activities.list()
con applicationName=gcp
, puedes recuperar eventos de actividad de auditoría de la API de acceso a SO desde el SDK de administración de G Suite. Para obtener más información, consulta la sección sobre los eventos de actividad de acceso a SO de Cloud en la documentación sobre los informes del SDK de administración de G Suite.
Modifica cuentas de usuario mediante la API de Directorio
Acceso a SO usa la configuración del usuario de Cloud Identity o G Suite 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 tus cuentas de usuario de G Suite 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 cuáles son 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://www.googleapis.com/admin/directory/v1/users/[USER_ID_KEY]
{
"posixAccounts": [
{
"username": "[USER_NAME]",
"uid": "[UID]",
"gid": "[GID]",
"homeDirectory": "[USER_HOME_PATH]",
"shell": "[SHELL_PATH]"
}
],
}
en la que:
[USER_ID_KEY]
es un ID inmutable para el usuario.[USER_NAME]
es el nombre de usuario que Compute Engine agrega a la instancia del usuario. Este valor debe ser único dentro de la organización.[UID]
es el ID de usuario en la instancia de este usuario. Esta propiedad debe ser un valor entre1001
y60000
, o un valor entre65535
y2147483647
. A fin de acceder a un Container-Optimized OS, elUID
debe tener un valor entre65536
y214748646
. ElUID
debe ser único dentro de la organización.[GID]
es el ID del grupo en la instancia a la que pertenece este usuario.[USER_HOME_PATH]
es el directorio de inicio en 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 conecte a la instancia. Por ejemplo,/bin/bash
o/bin/sh
.
Próximos pasos
- Obtén información sobre cómo configurar acceso a SO.
- Obtén información sobre cómo configurar acceso a SO con la autenticación de dos factores.
- Lee una descripción general de la función acceso a SO.