Patrones y prácticas para la administración de identidades y accesos en Google Cloud

Last reviewed 2022-09-27 UTC

Hay una serie de productos y servicios de Google Cloud que puedes usar a fin de ayudar a tu organización a desarrollar un enfoque para la administración de identidades y accesos de aplicaciones y cargas de trabajo que se ejecutan en Google Cloud. Este documento está dirigido a los administradores de seguridad, administradores de operaciones y arquitectos empresariales que trabajan en equipos de clientes y que desean obtener información sobre estos controles y herramientas, y sobre cómo usarlos.

En esta guía de inicio rápido, suponemos que ya tienes lo siguiente:

  • Un proyecto de Google Cloud,
  • Una cuenta de usuario con acceso de administrador para administrar grupos y usuarios de Cloud Identity. Necesitas este acceso para ejecutar los procedimientos de ejemplo de este documento.
  • Una cuenta de usuario sin acceso de administrador para administrar grupos y usuarios de Cloud Identity. Necesitas esta cuenta para probar algunos de los controles que configuraste en los procedimientos de ejemplo de este documento.

    Si aún no tienes acceso a un proyecto de Google Cloud y acceso de administrador a Cloud Identity, consultaCrea un proyecto de Google Cloud yConfigura Cloud Identity.

Descubre permisos y cuentas que no se usan

Se recomienda quitar las cuentas de usuario cuando ya no sean necesarias, ya que las cuentas de usuario y de servicio sin usar (huérfanas) pueden representar un riesgo de seguridad. Puedes usar la Inteligencia de políticas de Google Cloud de las siguientes maneras para ayudar a tu empresa a comprender los riesgos y reducirlos:

  • Ayuda a los administradores de tu empresa a descubrir cuentas y permisos que ya no se usan, por razones como que un empleado abandonó la empresa o cambios de función.
  • Ayuda a identificar las cuentas de servicio que se abandonaron después de completar las tareas.

Consulta y aplica recomendaciones de IAM

El recomendador de IAM es parte del conjunto de herramientas y servicios de Policy Intelligence. Usa aprendizaje automático (AA) para hacer recomendaciones de control de acceso inteligentes a fin de ayudarte a identificar cuentas que ya no necesitan acceso a los recursos de Google Cloud. Luego, puedes revisar las recomendaciones y decidir si aplicarlas. El recomendador de IAM también te ayuda a mantener el principio de privilegio mínimo en todos los miembros de la organización. Además de proporcionar recomendaciones, el servicio de recomendador usa AA para proporcionar estadísticas detalladas. Las estadísticas son hallazgos que destacan patrones notables en el uso de recursos. Por ejemplo, puedes recopilar información adicional sobre el uso de permisos en el proyecto, identificar los permisos que no se usan y ya no son necesarios, y, además, identificar las cuentas de servicio sin usar.

Es posible ver y aplicar recomendaciones de IAM en la consola de Google Cloud a escala empresarial. En el siguiente procedimiento de ejemplo, usarás BigQuery para revisar y redimensionar los permisos de acceso de tu organización. Para configurar la integración de BigQuery, configura una exportación de recomendaciones del recomendador de IAM a un conjunto de datos de BigQuery. Estos datos se pueden consultar y revisar mediante herramientas de visualización como Looker Studio y Looker.

Implementación

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

  2. BigQuery se habilita automáticamente en proyectos nuevos. Para activar BigQuery en un proyecto preexistente, habilita la API de BigQuery.

    Habilitación de la API

  3. Configura el Servicio de transferencia de datos de BigQuery para extraer datos del recomendador de IAM. Para obtener más información, consulta Exporta recomendaciones a BigQuery.

  4. Dirígete a la página de BigQuery.

    Ir a BigQuery

  5. Copia y pega la siguiente búsqueda en el campo Editor:

    SELECT
       recommendation_details
    FROM PROJECT_ID.DATASET.TABLE_NAME
    WHERE recommender = "google.iam.policy.Recommender"
    AND recommender_subtype = "REMOVE_ROLE"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto de Google Cloud que usas para ejecutar este ejemplo.
    • DATASET: El nombre del conjunto de datos que seleccionaste cuando configuraste el trabajo del Servicio de transferencia de datos de BigQuery.
    • TABLE_NAME: El nombre de la tabla que creó el trabajo del Servicio de transferencia de datos de BigQuery.

    Ejecuta esta consulta para identificar el subtipo recommender_subtype de recomendaciones REMOVE_ROLE del recomendador de IAM.

  6. Haga clic en Ejecutar. Usa el resultado de la búsqueda para identificar las funciones que no se usan y las vinculaciones de las funciones de IAM del tamaño correcto.

    Puedes guardar los resultados de las consultas en hojas de cálculo. Para obtener más información, consulta la sección sobre cómo guardar los resultados de las consultas en hojas de cálculo.

Proporciona a los usuarios la capacidad de solicitar acceso a los recursos

Los administradores de la empresa necesitan la capacidad de permitir que los usuarios soliciten acceso a los recursos. Por lo general, estas solicitudes pasan por un proceso de aprobación en el que un responsable de aprobación designado o un grupo de responsables de aprobación deben aprobar la solicitud antes de que se otorgue acceso. Grupos de Google te permite aplicar una política de acceso a un grupo de usuarios, lo que te permite seguir la práctica recomendada de administración de políticas relativa a otorgar acceso a los recursos según la pertenencia a un grupo. Mediante este enfoque, se mantienen las políticas relevantes a medida que se unen, mueven y dejan eventos durante los cambios de pertenencia a un grupo.

Puedes dar y cambiar los controles de acceso para un grupo completo con Grupos de Google, en lugar de dar o cambiar los controles de acceso uno por uno para usuarios individuales o cuentas de servicio. También puedes agregar o quitar miembros de un Grupo de Google con facilidad, en lugar de actualizar una política de IAM para agregar o quitar usuarios.

Configura el acceso a recursos con Grupos de Google

Puedes crear y administrar un Grupo de Google con Cloud Identity. Cloud Identity es una solución de Identidad como servicio (IDaaS) que administra usuarios y grupos. También puedes configurar Cloud Identity para federar identidades entre Google y otros proveedores de identidad, como Active Directory y Azure Active Directory. Los Grupos de Google también permiten que un usuario solicite una pertenencia a un grupo. Esta solicitud se enruta a los administradores de grupo que pueden aprobar o rechazar esa solicitud. Para obtener más información, consulta Crea un grupo y elige una configuración de grupo.

Cuando crees y administres un Grupo de Google para otorgar acceso a los recursos de Google Cloud, asegúrate de considerar las implicaciones de la configuración que selecciones. Aunque te recomendamos que minimices la cantidad de usuarios que pueden administrar el grupo, te recomendamos que configures más de un administrador de grupo para que siempre tenga acceso al grupo. También recomendamos que restrinjas la pertenencia a un grupo de los usuarios de tu organización.

Implementación

En este procedimiento de ejemplo, debes crear un Grupo de Google y otorgarle al grupo de visualizadores acceso a un proyecto de Google Cloud de muestra. Los miembros que agregues a este grupo (o a quienes otorgues acceso cuando se solicite) podrán ver el proyecto de Google Cloud de muestra.

Crear un Grupo de Google de muestra

En los siguientes pasos, se da por hecho que tienes Cloud Identity configurado. Para obtener más información, consulta Configura Cloud Identity. Asegúrate de tener los permisos que necesitas para administrar los grupos.

  1. En la consola de Google Cloud, ve a la página Grupos.

    Vaya a Grupos.

  2. Haga clic en Crear.

  3. Completa los detalles de tu grupo.

    Para agregar miembros al grupo, haz clic en Agregar miembro, ingresa la dirección de correo electrónico del miembro y elige su función en Grupo de Google.

    Cuando hayas terminado, haz clic en Enviar para crear el grupo.

    La configuración del grupo solo se puede administrar en Grupos de Google. Haz clic en Administrar este grupo en Grupos de Google para configurar los grupos. Para seleccionar quién puede unirse al grupo, en el menú Quién puede unirse al grupo, selecciona Solo usuarios de la organización.

  4. Haz clic en Crear grupo.

Otorga al grupo acceso a un proyecto de Google Cloud

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
  2. Abre Cloud Shell:

    Ir a Cloud Shell

  3. Ejecuta el siguiente comando para otorgar acceso de visualizador de grupo al proyecto:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_EMAIL --role=roles/viewer
    

    Reemplaza lo siguiente:

    • GROUP_EMAIL: La dirección de correo electrónico del grupo que creaste.
    • PROJECT_IDEl ID de tu proyecto de Google Cloud.

Prueba el proceso de solicitud de acceso de los usuarios de tu organización

En el siguiente procedimiento, usarás una cuenta de usuario de prueba para demostrar los pasos que usan los usuarios de tu organización a fin de solicitar acceso a un Grupo de Google.

  1. Accede a Grupos de Google como un usuario no administrativo. El grupo que creaste en Crea un grupo de Google de muestra aparece en Todos los grupos. Si el grupo no aparece, usa la búsqueda para encontrarlo.
  2. Para solicitar acceso al grupo, haz clic en Solicitar unirse al grupo.

    Una vez que se otorga el acceso, la cuenta de usuario no administrativa que usaste para realizar la solicitud debería poder ver el proyecto PROJECT_ID de Google Cloud al que el grupo tiene acceso de visualizador.

Otorga acceso con límite de tiempo a los recursos de Google Cloud

Puede haber situaciones en las que los usuarios de tu empresa requieran acceso temporal y a corto plazo a los recursos de Google Cloud. El acceso a corto plazo es útil cuando los desarrolladores necesitan acceso temporal a los recursos de Google Cloud para realizar ciertas tareas. El acceso a corto plazo también ofrece las siguientes ventajas:

  • Reducir la sobrecarga administrativa
  • Asegurarse de seguir el principio de privilegio mínimo y acceso oportuno.

Poder otorgar este tipo de acceso es útil para los administradores cuando los usuarios necesitan acceso a recursos en situaciones de emergencia que requieren una intervención rápida y directa. Sin embargo, puede ser difícil hacer un seguimiento manual de los permisos de acceso a corto plazo y garantizar que se quiten de manera oportuna. Las políticas de acceso condicional de Identity and Access Management (IAM) te permiten configurar el acceso temporal (por vencer) a los recursos de Google Cloud mediante vinculaciones de funciones condicionales, lo que ayuda a reducir esta sobrecarga para los administradores.

Usa vinculaciones de funciones condicionales y el vencimiento de la pertenencia a un grupo

Puedes agregar vinculaciones de funciones condicionales a políticas de IAM nuevas o existentes para controlar aún más el acceso a los recursos de Google Cloud. Estos son algunos ejemplos de cuándo puedes usar vinculaciones de funciones condicionales para otorgar acceso temporal a un usuario o a un grupo:

  • Acceso a un proyecto que vence después de una hora específica.
  • Acceso a un proyecto recurrente cada mes o trimestre.
  • Acceso a instancias de Compute Engine para administrar tareas como detener instancias.

Cuando usas Grupos de Google a fin de otorgar a los usuarios acceso a los recursos de Google Cloud, puedes usar la función de vencimiento de pertenencia a un grupo para establecer vencimientos de la pertenencia a un grupo mediante la API de Cloud Identity Groups. Cuando finalice el período que especifiques, se quitará automáticamente a los usuarios del grupo.

Implementación

Puedes usar una vinculación de función condicional para otorgar a los desarrolladores acceso temporal a fin de administrar una instancia específica de Compute Engine. En este ejemplo, la vinculación de la función está configurada para vencer el 31 de diciembre de 2021.

  1. En Cloud Shell, configura las variables de entorno.

    export INSTANCE=create example-instance-1
    export ZONE=us-west1-b
    export USER=USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
    

    Reemplaza USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO por el nombre de usuario del usuario de la organización al que deseas otorgarle acceso temporal.

  2. Crea una instancia de Compute Engine de muestra:

    gcloud compute instances create $INSTANCE \
        --zone $ZONE \
        --machine-type g1-small
    

    Debes otorgar acceso temporal a esta instancia a un usuario de tu organización en los siguientes pasos.

  3. Otorga acceso temporal al usuario que seleccionaste:

    gcloud compute instances add-iam-policy-binding $INSTANCE \
        --zone=$ZONE \
        --member="user:$USER" \
        --role='roles/compute.instanceAdmin.v1' \
        --condition='expression=request.time < timestamp("2022-01-01T00:00:00Z"),title=expires_end_of_2021,description=Expires at midnight on 2021-12-31'
    
  4. Conserva la instancia de Compute Engine que creaste. Usarás esta instancia más adelante en este documento, en Administra el acceso con privilegios.

    Como alternativa, puedes borrar la instancia example-instance-1 con el siguiente comando:

    gcloud compute instances delete $INSTANCE
    

Si necesitas revisar los eventos del ciclo de vida de IAM, como los cambios en las políticas, la creación de cuentas de servicio y las asignaciones de cuentas de servicio para la auditoría, los Registros de auditoría de Cloud pueden ayudarte. Los administradores pueden usar los registros de auditoría de Cloud para observar los datos históricos de la detección de intrusiones y el análisis. El análisis de los registros de auditoría puede ayudarte a comprender los patrones y las anomalías de acceso. El análisis de registro de auditoría también puede ser importante para las siguientes situaciones:

  • Analizar permisos y acceso a los recursos durante una violación de la seguridad de los datos
  • Analizar los problemas de producción causados por un cambio en la política de IAM, en especial si deseas verificar qué usuario o qué proceso realizó el cambio

Los registros de auditoría de Cloud almacenan información sobre las acciones que realizan los usuarios, dónde ocurrieron las actividades y cuándo. Los registros de auditoría se clasifican de la siguiente manera:

Te recomendamos que uses los siguientes registros de auditoría para el registro administrativo relacionado con la identidad y el acceso:

  • Registros de auditoría de actividad del administrador
  • Registros de auditoría de política denegada

Los registros de auditoría de actividad del administrador almacenan los cambios realizados en los recursos de Google Cloud, como los proyectos, las instancias de Compute Engine y las cuentas de servicio. Los siguientes son ejemplos de eventos que almacenan los registros de auditoría de actividad del administrador:

  • La creación de una cuenta de servicio
  • Un cambio en una política de IAM.
  • La descarga de una clave de cuenta de servicio.

Los registros de auditoría de política denegada registran cuándo un usuario o una cuenta de servicio no pueden acceder a un servicio de Google Cloud debido a un incumplimiento de política.

Configura registros de auditoría de Cloud para eventos del ciclo de vida de la identidad

Puedes ver los registros de auditoría en la consola de Google Cloud o consultar los registros mediante la API de Cloud Logging o la interfaz de línea de comandos.

Todos los registros de auditoría tienen un período de retención. Si tu empresa necesita almacenar registros de auditoría por más tiempo que el período de retención predeterminado, debes exportar los registros a BigQuery o a otros destinos de receptor mediante la creación de un receptor de registros. Exportar registros a BigQuery te permite ver un subconjunto de columnas de datos y datos seleccionados (en el tiempo u otras dimensiones), y realizar análisis agregados.

Implementación

En el siguiente procedimiento de ejemplo, se muestra cómo consultar los registros de proyectos de Google Cloud para comprobar si ocurrió alguno de los siguientes eventos:

  • Se produjeron cambios en la política de IAM.
  • Se crearon cuentas de servicio nuevas.
  • Se generaron claves de cuenta de servicio nuevas.

Visualiza cambios en las políticas de IAM

  1. En la consola de Google Cloud, ve a la página Logging > Explorador de registros.
  2. En la página Explorador de registros, selecciona un proyecto de Google Cloud existente.
  3. Pega la siguiente consulta en el compilador de consultas:

    logName="projects/<PROJECT>/logs/cloudaudit.googleapis.com%2Factivity" AND
    (resource.type="project" OR resource.type="service_account") AND
    resource.labels.project_id="<PROJECT>" AND
    (protoPayload.methodName="SetIamPolicy" OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount"
    OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey")
    

    Reemplaza PROJECT por el ID del proyecto de Google Cloud.

  4. Haga clic en Ejecutar consulta.

Visualiza cambios en las membresías de grupo

Se realiza un seguimiento de los cambios en la pertenencia a un grupo de Google en los registros de actividad. Para obtener información sobre cómo acceder a estos registros, consulta Visualiza los registros de cambios de las pertenencias a un grupo.

Certificación de accesos

El Analizador de políticas se puede usar para ayudar a tu empresa a verificar que los usuarios tengan los derechos de acceso adecuados a los recursos de Google Cloud de forma periódica. Esta verificación es importante para fines de cumplimiento y auditoría. También es útil que el personal de seguridad y los auditores revisen qué usuarios tienen acceso a qué recurso y en qué capacidad. El Analizador de políticas te ayuda a identificar qué identidades o principales (usuarios, cuentas de servicio, grupos y dominios) tienen acceso a qué recursos de Google Cloud en la jerarquía de recursos de tu organización. También ayuda a identificar qué tipo de acceso tiene. A continuación, se muestran algunas preguntas de ejemplo que el Analizador de políticas puede ayudarte a responder:

  • Qué usuarios pueden acceder a una cuenta de servicio
  • Qué usuarios pueden leer datos en un conjunto de datos de BigQuery que contiene información de identificación personal (PII)

El Analizador de políticas se puede usar con los siguientes métodos:

Usa el Analizador de políticas para revisar el acceso de los usuarios

En las siguientes búsquedas de ejemplo, se muestran las estadísticas de tipo que puedes obtener en el acceso de los usuarios con el Analizador de políticas:

  • Qué funciones o permisos tiene un principal (usuario, cuenta de servicio, grupo y dominio); por ejemplo, verifica qué acceso tiene un exempleado a tu proyecto de producción.
  • Los recursos a los que tiene acceso un usuario; por ejemplo, el acceso que tiene un exempleado a los recursos de tu proyecto de producción.
  • Qué principales tienen un cierto nivel de acceso a un recurso; por ejemplo, qué buckets puede borrar un usuario específico de un proyecto.

Implementación

En el siguiente procedimiento de ejemplo, usas el Analizador de políticas para verificar los permisos que tiene un usuario.

  1. En Cloud Shell, habilita la API de Cloud Asset para el proyecto:

    Habilitación de la API

  2. Ingresa el siguiente comando para descubrir a qué recursos puede acceder un usuario:

    gcloud asset analyze-iam-policy --organization="YOUR_ORG_ID" \
        --identity="user:USERNAME_TO_CERTIFY"
    

    Realiza los siguientes reemplazos:

    • YOUR_ORG_ID: Es el ID de la organización de Google Cloud.
    • USERNAME_TO_CERTIFY: El nombre de usuario del usuario cuyos permisos de acceso a Google Cloud deseas verificar.
  3. Extrae los datos de la política de IAM a BigQuery. Para obtener más información, consulta Escribe análisis de políticas en BigQuery.

Administra el acceso privilegiado

Es posible que algunos usuarios de tu organización necesiten acceso con privilegios a ciertos recursos de Google Cloud para realizar tareas administrativas. Por ejemplo, es posible que estos usuarios necesiten administrar proyectos específicos de Google Cloud, configurar la facturación y los presupuestos de proyectos, o administrar instancias de Compute Engine.

En lugar de otorgar de manera permanente a los usuarios acceso con privilegios a los recursos, puedes permitir que los usuarios soliciten acceso con privilegios justo a tiempo. El uso de la administración de acceso con privilegios justo a tiempo puede ayudarte a hacer lo siguiente:

  • Reducir el riesgo de que alguien modifique o borre recursos por accidente. Por ejemplo, cuando los usuarios tienen acceso con privilegios solo cuando es necesario, ayuda a evitar que ejecuten secuencias de comandos en otros momentos que afectan de manera involuntaria los recursos que no deberían poder cambiar.
  • Crear un registro de auditoría que indique por qué se activaron los privilegios.
  • Realizar auditorías y revisiones para analizar la actividad pasada.

Como alternativa, puedes otorgar acceso con privilegios a una cuenta de servicio y permitir que los usuarios actúen en nombre de la cuenta de servicio.

Otorga acceso con privilegios a los usuarios

En términos generales, la administración del acceso con privilegios a usuarios empresariales en Google Cloud se puede resumir de la siguiente manera:

  • Brinda a los usuarios de la empresa la capacidad de solicitar acceso privilegiado.
  • Revisa los registros de auditoría de Cloud para analizar solicitudes de acceso y patrones de acceso con privilegios. Los administradores pueden revisar los patrones de acceso con privilegios y detectar anomalías mediante estos registros. Recomendamos que las empresas consideren exportar estos registros para conservarlos según sea necesario y adecuado con fines de auditoría.
  • Garantizar que el acceso con privilegios caduque de forma automática o se revise de forma periódica

Habilita la verificación en dos pasos (también llamada autenticación de varios factores) para todos los usuarios que tienen acceso privilegiado a los recursos. También puedes crear un control de acceso detallado basado en atributos con Access Context Manager, que aplica una capa de seguridad adicional cuando se usa el acceso con privilegios. Por ejemplo, puedes tener un nivel de acceso que especifique que los usuarios deben estar en la red corporativa cuando usan el acceso con privilegios a los recursos.

Implementación

En este procedimiento de ejemplo, tú (como administrador) creas un Grupo de Google para el acceso privilegiado a las instancias de Compute Engine. Crea una cuenta de servicio en Google Cloud a la que se le otorga acceso para administrar instancias de Compute Engine. Asocias el grupo a la cuenta de servicio para que los miembros del grupo puedan actuar en nombre de la cuenta de servicio por el período en que se otorgan a los miembros del grupo con privilegios.

Crea un Grupo de Google para acceder con privilegios

  1. Como administrador de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir a Administrar recursos

  2. Habilita la facturación para tu proyecto. Habilitar facturación

  3. Sigue los pasos que se indican en la sección sobre cómo otorgar a los usuarios la capacidad de solicitar acceso a recursos para crear un Grupo de Google nuevo.

    Asígnale un nombre al grupo de la siguiente manera: elevated-compute-access

Crea una cuenta de servicio de Google Cloud.

  1. En Cloud Shell, habilita las API de credenciales de la cuenta de servicio de IAM para el proyecto que creaste en Crea un Grupo de Google para obtener acceso privilegiado.

    Habilita las API

  2. Configura las siguientes variables:

    export PROJECT_ID=$DEVSHELL_PROJECT_ID
    export PRIV_SERVICE_ACCOUNT_NAME=elevated-compute-access
    export DELEGATE_GROUP=GROUP_EMAIL_ADDRESS
    

    Reemplaza GROUP_EMAIL_ADDRESS por el nombre completo del Grupo de Google que creaste.

  3. Cree la cuenta de servicio:

    gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \
        --description="Elevated compute access" \
        --display-name="Elevated compute access"
    
  4. Otorga a la cuenta de servicio la función de administrador de procesamiento:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/compute.admin"
    
  5. Otorga al Grupo de Google que creaste el acceso de consumidor de Service Usage para tu proyecto:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="group:$DELEGATE_GROUP" \
        --role="roles/serviceusage.serviceUsageConsumer"
    

    Este permiso permite a los miembros del Grupo de Google actuar en nombre de la cuenta de servicio que creaste.

  6. Otorga al Grupo de Google la posibilidad de robar la identidad de la cuenta de servicio que creaste:

    gcloud IAMservice-accounts add-iam-policy-binding
    $PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --member="group
    :$DELEGATE_GROUP" --role="roles/iam.serviceAccountTokenCreator"
    
  7. Omite este paso si creaste y conservaste una instancia de muestra de Compute Engine para el procedimiento en Otorga acceso con límite de tiempo a los recursos de Google Cloud. Puedes usar la instancia de muestra para ejecutar los pasos de este ejemplo.

    Como alternativa, usa el siguiente comando para crear una instancia de muestra de Compute Engine:

    gcloud compute instances create example-instance-1 \
        --zone us-west1-b \
        --machine-type g1-small
    

    Usa las instancias en este ejemplo para validar que los usuarios a los que se concede membresía al grupo con privilegios puedan acceder a la instancia.

Habilita registros de auditoría

Los administradores de tu empresa pueden habilitar los registros de auditoría de Cloud a fin de asegurarse de que el acceso con privilegios esté registrado y disponible para su revisión y análisis. En el procedimiento de esta sección se indica cómo habilitar el registro de auditoría.

  1. Obtén las políticas de IAM actuales para el proyecto:

    gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
    
  2. Modifica el archivo de política a fin de habilitar los registros de acceso a los datos para la API de Compute Engine:

    cat <<EOF >> /tmp/policy.yaml
    auditConfigs:
    - auditLogConfigs:
     - logType: ADMIN_READ
     - logType: DATA_READ
     - logType: DATA_WRITE
     service: compute.googleapis.com
    EOF
    
  3. Establece la nueva política:

    gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
    

Prueba actuar en nombre de la cuenta de usuario no administrativa

Puedes usar la cuenta de usuario no administrativa para probar la configuración solicitando una membresía al grupo y actúando en nombre de la cuenta de servicio una vez que se otorga la membresía.

En el procedimiento de esta sección, se muestra cómo los usuarios empresariales pueden solicitar acceso con privilegios a los recursos de Google Cloud. En este procedimiento de ejemplo, los recursos de Google Cloud son las instancias de Compute Engine para un proyecto de Google Cloud. Para demostrar cómo los usuarios de tu organización pueden actuar en nombre de una cuenta de servicio una vez que se les otorga membresía en el grupo, solicitas la membresía a Grupos de Google relevantes.

  1. Accede a los Grupos de Google con la cuenta de usuario no administrativa y solicita la membresía al grupo elevated-compute-access.
  2. Usa la misma cuenta para acceder a Google Cloud. Deberías tener acceso al grupo una vez que el administrador apruebe la solicitud. En este procedimiento de ejemplo, se da por hecho que la solicitud de pertenencia a un grupo está aprobada.

  3. En Cloud Shell, ejecuta el siguiente comando para establecer el proyecto predeterminado:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto que creaste antes en la sección Crea un Grupo de Google para el acceso con privilegios.

  4. Intenta mostrar las instancias de Compute Engine en este proyecto:

    gcloud compute instances list
    

    Verás un mensaje de error que te informa que tu usuario de Google Cloud no tiene permiso para acceder a los recursos de Compute Engine.

  5. Ejecuta el siguiente comando:

    gcloud compute instances list
    --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
    

    Este comando enumera las instancias de Compute Engine en el proyecto y le indica a la cuenta de servicio a la que obtuviste acceso cuando se te otorgó la membresía al Grupo de Google elevated-compute-access.

    Verás la instancia de Compute Engine example-instance-1 que creaste con tu cuenta de administrador.

Revisa los registros de auditoría

Como administrador de Google Cloud, puedes acceder a los registros de auditoría generados y revisarlos.

  1. Accede a la consola de Google Cloud con una cuenta de usuario que tenga privilegios administrativos para acceder a los registros de auditoría.

  2. En Cloud Logging, ingresa la siguiente búsqueda para revisar los registros de acceso a los datos:

    logName="projects/<PROJECT_ID>/logs/cloudaudit.googleapis.com%2Fdata_access"
    AND
    protoPayload.authenticationInfo.principalEmail="elevated-compute-access@PROJECT_ID.iam.gserviceaccount.com"
    

    Reemplaza PROJECT_ID por el ID del proyecto y, luego, ejecuta la búsqueda.

    En esta consulta, se muestra qué usuario del Grupo de Google suplantó la cuenta de servicio para acceder a la instancia de Compute Engine. También te muestra otros detalles relevantes, como cuándo se suplantó la cuenta de servicio y los detalles de los encabezados de la solicitud.

  3. Revisa la carga útil del registro de auditoría, en particular el objeto protoPayload.authenticationInfo en la carga útil. El nombre de usuario del usuario que suplantó la cuenta de servicio se registra como el valor de la clave principalEmail del objeto firstPartyPrincipal.

  4. Como administrador, también puedes revisar los resultados de eventos de amenazas en el panel de Security Command Center. Para obtener más información sobre Security Command Center, consulta Usa Event Threat Detection.

¿Qué sigue?