En Compute Engine, puedes usar el acceso al SO para otorgar a los usuarios acceso a las VM y restringirlos con acceso de sudo
. Si deseas controlar qué usuarios pueden ver o ejecutar archivos y ejecutables específicos en las VMs, puedes usar las políticas del SO para implementar políticas que automatizan y centralizan la administración de archivos dentro de tu flota de VM.
En este instructivo, se muestra cómo otorgar acceso de lectura al archivo auth.log
(/var/log/auth.log
) en varias VMs a un grupo de usuarios que no tienen acceso sudo
, usando grupos de Acceso al SO y las políticas del SO.
En la mayoría de las configuraciones predeterminadas, los permisos del archivo auth.log
se establecen en 640
y el archivo es propiedad del grupo adm
. Un usuario al que no se le otorgó la función roles/compute.osAdminLogin
de IAM no está en el grupo adm
, no tiene acceso sudo
y, por lo tanto, no tiene acceso de lectura al archivo.
Si bien este instructivo se centra en la administración de los permisos del usuario en un archivo específico, el flujo de trabajo puede modificarse y usarse para configurar permisos en otros archivos o ejecutables en una VM.
Objetivos
En este instructivo, aprenderás lo siguiente:
- Cómo crear un grupo de Linux de Acceso al SO
- Cómo usar una asignación de política de SO para cambiar los permisos de grupo de un archivo en varias VM a la vez
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.Antes de comenzar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Instala Google Cloud CLI o actualízala a la última versión.
- Asegúrate de ser el administrador de Cloud Identity Groups de tu organización. Si no eres administrador de Grupos, haz que el administrador de Grupos de tu organización cree un grupo de Acceso al SO Linux.
- Habilitar VM Manager
Prepare el entorno
Antes de que puedas otorgar acceso al archivo auth.log
, debes crear algunas VM.
Crea tres VM con el comando gcloud compute instances bulk create
:
gcloud compute instances bulk create \ --name-pattern=tutorial-# \ --zone=us-west1-a \ --count=3 \ --labels=vm=tutorial \ --metadata=enable-oslogin=TRUE
Deberías ver un mensaje similar al siguiente:
`Bulk create request finished with status message: [VM instances created: 3, failed: 0.]`
Establece permisos de grupo para el archivo auth.log
Para otorgar a un usuario acceso de lectura al archivo auth.log
sin otorgarle la función de IAM roles/compute.osAdminLogin
, cambia el grupo que posee el archivo a un grupo de Linux del que es miembro.
Crea un grupo de Linux de Acceso al SO
Puedes crear un grupo de Linux de Acceso al SO para agregar un grupo de Linux complementario que aparezca en cada VM que tenga habilitado Acceso al SO. Si creas un grupo de Linux Login OS en lugar de un grupo Linux local complementario, puedes controlar el grupo de Linux en todas las VM de forma unificada.
Para crear un grupo de Linux de Acceso al SO, usa el comando gcloud beta identity groups create
:
gcloud beta identity groups create logaccess@ORGANIZATION_DOMAIN \ --organization=ORGANIZATION_DOMAIN \ --posix-group=gid=12345,name=logaccess
Reemplaza ORGANIZATION_DOMAIN
por el dominio (example.com
) asociado a tu organización.
Crea una asignación de política del SO
Puedes usar las políticas del SO para automatizar y centralizar la configuración de tus VMs. Debes aplicar políticas de SO a las VM mediante asignaciones de políticas del SO. Si creas una asignación de política de SO con una política de SO que cambie el grupo predeterminado del archivo auth.log
, puedes cambiar el grupo predeterminado del archivo auth.log
en varias VM a la vez en lugar de aplicar el cambio a una VM a la vez.
Para crear una asignación de política de SO, haz lo siguiente:
Abre una terminal en tu estación de trabajo.
Crea un archivo
.yaml
de asignación de política del SO mediante la ejecución del siguiente comando:touch tutorial-os-policy-assignment.yaml
Abre el archivo
tutorial-os-policy-assignment.yaml
en un editor de texto y agrega las siguientes especificaciones:
Aplica la asignación de política de SO a las VM
Para aplicar la asignación de política de SO a tus VM, haz lo siguiente:
Aplica la política de SO mediante el comando
gcloud compute os-config os-policy-assignments create
:gcloud compute os-config os-policy-assignments create log-access-assignment \ --location=us-west1-a \ --file=log-access-os-policy-assignment.yaml \ --async
La asignación de la política del SO se implementa en las VM según las especificaciones de lanzamiento mencionadas en el archivo
tutorial-os-policy-assignment.yaml
.Confirma que la asignación de política del SO se lanzó correctamente a las VM y que la asignación de la política del SO actualizó de forma correcta el grupo predeterminado con el comando
gcloud compute os-config os-policy-assignment-reports list
:gcloud compute os-config os-policy-assignment-reports list --location=us-west1-a
Agrega usuarios al grupo de Linux de Acceso al SO
Cuando agregas un usuario a un grupo de Linux Login OS, este hereda los permisos del grupo en todas las VM que tienen habilitado Acceso al SO.
Para este instructivo, cualquier usuario que agregues al grupo logaccess
puede ver el archivo auth.log
sin la función roles/compute.osAdminLogin
de IAM.
Consulta la documentación de ayuda de Cloud Identity para obtener información sobre cómo agregar un usuario al grupo logaccess
.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Borra los recursos individuales
Borra las VM que creaste con el comando gcloud compute instances delete
:
gcloud compute instances delete tutorial-1 tutorial-2 tutorial-3 \ --zone=us-west1-a
¿Qué sigue?
- Obtén más información sobre el Acceso al SO
- Más información sobre VM Manager
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.