Cómo configurar funciones para Audit Logging

En este tema, se describe cómo configurar los permisos de Cloud Identity and Access Management para un conjunto de situaciones de auditoría de muestra. Proporciona una guía sobre qué funciones de IAM otorgar a las competencias funcionales relacionadas con la auditoría en tu empresa para cada situación. Los ejemplos en este tema están dirigidos en principal a los administradores de seguridad, auditores y empleados que administran las tareas de auditoría para una organización.

Información general

Google Cloud proporciona registros de auditoría de Cloud, que es una parte integral de Cloud Logging. Consta de dos transmisiones de registro para cada proyecto, Actividad de administrador y Acceso a datos, generadas por los servicios de Google Cloud a fin de ayudarte a responder la pregunta “¿quién hizo qué, dónde y cuándo?” dentro de tus proyectos de Google Cloud. Estos registros son distintos de los registros de tu aplicación y se describen a continuación:

  • Los registros de actividad de administrador contienen entradas de registro para llamadas a la API y otras acciones administrativas que modifican la configuración o los metadatos de los recursos. Los registros de actividad del administrador siempre están habilitados. No se te cobra por tus registros de auditoría de actividad del administrador.
  • Los registros de acceso a datos registran las llamadas a la API que crean, modifican o leen los datos proporcionados por el usuario. Estos registros de auditoría de acceso a los datos están inhabilitados de forma predeterminada, ya que pueden ser extensos.

Cada servicio que produce registros de auditoría se enumera en la sección Servicios de GCP que producen registros de auditoría.

Cloud Logging retiene entradas de registro por tiempo limitado, lo que se conoce como el período de retención. Después de eso, las entradas se borran. Para mantener las entradas de registro por más tiempo, deben exportarse fuera de Cloud Logging a Pub/Sub, BigQuery o un depósito de Cloud Storage.

En las situaciones de ejemplo en este tema, se supone que se ha configurado una organización de Cloud.

En este documento, no se describen en detalle las funciones y los permisos de registro. Si deseas obtener una descripción detallada, consulta Guía de control de acceso para Cloud Logging.

Situación: Supervisión operativa

En esta situación, una organización tiene un equipo de seguridad central que tiene la capacidad de revisar los registros que pueden contener información sensible tanto en Cloud Logging como en el almacenamiento a largo plazo.

Los datos históricos de auditoría se almacenan en Cloud Storage. La organización utiliza una aplicación para proporcionar acceso a los datos históricos de auditoría. La aplicación utiliza una cuenta de servicio para acceder a los datos de registro. Debido a la sensibilidad de algunos de los datos del registro de auditoría, estos se ocultan con Cloud Data Loss Prevention antes de que sean accesibles para tu visualización.

La tabla a continuación explica las funciones de Cloud IAM que se deben otorgar al director de Tecnología, al equipo de seguridad y a la cuenta de servicio, así como al nivel de recursos en el que se otorgan las funciones.

Función Recurso Miembro Descripción
resourcemanager.organizationAdmin Organización Director de Tecnología La función resourcemanager.organizationAdmin le otorga al director de Tecnología la capacidad de asignar permisos al equipo de seguridad y a la cuenta de servicio.
logging.viewer Organización Equipo de seguridad La función logging.viewer le da al equipo de administración de seguridad la capacidad de ver los registros de actividad de administrador.
logging.privateLogViewer Organización Equipo de seguridad La función logging.privateLogViewer te permite ver los registros de acceso a los datos.

Una vez que se exportan las entradas de registro, el acceso a las copias exportadas se controla en su totalidad con los permisos y las funciones de Cloud IAM en cualquiera de los siguientes destinos: Cloud Storage, BigQuery o Pub/Sub. En esta situación, Cloud Storage es el destino para el almacenamiento a largo plazo de los registros de auditoría.

Función Recurso Miembro Descripción
logging.viewer Organización Cuenta de servicio La función logging.viewer permite que la cuenta de servicio lea los registros de actividad de administrador en Cloud Logging.

Los datos en los registros de acceso a datos se consideran información de identificación personal (PII) para esta organización. La integración de la aplicación con Cloud DLP ofrece la posibilidad de ocultar datos confidenciales de PII cuando se ven los registros de acceso a los datos, ya sea que se encuentren en los registros de acceso a datos o en el archivo histórico en Cloud Storage.

Función Recurso Miembro Descripción
storage.objectViewer Depósito Cuenta de servicio La función storage.objectViewer permite que la cuenta de servicio lea los registros de actividad de administrador exportados.

La política de Cloud IAM vinculada al recurso de la organización para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:cto@example.com"
      ]
    },
    {
      "role": "roles/logging.viewer",
      "members": [
        "group:security-team@example.com",
        "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/logging.privateLogViewer",
      "members": [
        "group:security-team@example.com"
      ]
    }
  ]
}

La política de Cloud IAM vinculada al depósito configurado como el receptor de destino para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/storage.objectViewer",
    "members": [
      "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Situación: Equipos de desarrollo que supervisan sus registros de auditoría

En esta situación, los desarrolladores de la organización deben observar los registros de auditoría generados cuando se desarrollan sus aplicaciones. No se les permite revisar los registros de producción, a menos que se hayan ocultado con Cloud DLP. Los desarrolladores disponen de una aplicación del panel que proporciona acceso de solo lectura a los datos de producción exportados. El equipo de seguridad de la organización tiene acceso a todos los registros, tanto en el entorno de producción como en el entorno de desarrollo.

La tabla a continuación explica las funciones de Cloud IAM que se deben otorgar al equipo de seguridad, a los desarrolladores y a la cuenta de servicio, así como el nivel de recursos en el que se otorgan las funciones.

Función Recurso Miembro Descripción
logging.viewer Organización Equipo de seguridad La función logging.viewer le da al equipo de administración de seguridad la capacidad de ver los registros de actividad de administrador.
logging.privateLogViewer Organización Equipo de seguridad La función logging.privateLogViewer te permite ver los registros de acceso a los datos.
logging.viewer Carpeta Equipo desarrollador La función logging.viewer le brinda al equipo de desarrolladores la capacidad de ver los registros de actividad de administrador generados por los proyectos de desarrollador contenidos en una carpeta donde se ubican todos los proyectos de desarrollador.
logging.privateLogViewer Carpeta Equipo desarrollador La función logging.privateLogViewer te permite ver los registros de acceso a los datos.

El acceso a las copias exportadas se controla en su totalidad con los permisos y las funciones de Cloud IAM en cualquiera de los siguientes destinos: Cloud Storage, BigQuery o Pub/Sub. En esta situación, BigQuery es el destino para el almacenamiento de los registros de auditoría.

Función Recurso Miembro Descripción
bigquery.dataViewer Conjunto de datos de BigQuery Cuenta de servicio del panel La función bigquery.dataViewer permite que la cuenta de servicio utilizada por la aplicación del panel lea los registros de actividad de administrador exportados.

La política de Cloud IAM vinculada al recurso de carpeta del equipo de desarrollo para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "group:developer-team@example.com"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "group:developer-team@example.com"
    ]
  }]
}

La política de Cloud IAM vinculada al recurso de la organización para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "group:security-team@example.com"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "group:security-team@example.com"
    ]
  }]
}

La política de Cloud IAM vinculada al conjunto de datos de BigQuery configurado como el receptor de destino para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/bigquery.dataViewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Situación: Auditores externos

En esta situación, los registros de auditoría de una organización se agregan y exportan a una ubicación de receptor central. A un auditor de terceros se le otorga acceso varias veces al año para revisar los registros de auditoría de la organización. El auditor no está autorizado a ver datos de PII en los registros de actividad del administrador. Para cumplir con este requisito, hay un panel disponible que proporciona acceso a los registros históricos almacenados en BigQuery y, a pedido, a los registros de actividad del administrador de Cloud Logging.

La organización crea una cuenta de auditor temporal para cada período de auditoría. Esta cuenta se supervisa y, normalmente, se le otorga acceso a la aplicación del panel.

Durante el acceso normal, a los auditores solo se les concede acceso para ver los registros históricos almacenados en BigQuery. Si se detectan anomalías, el auditor tiene permiso para ver los registros de actividad reales del administrador de Cloud Logging mediante el modo de acceso con privilegios elevados del panel. Al final de cada período de auditoría, el acceso se revoca.

Los datos se ocultan mediante Cloud DLP antes de que se pueda acceder a ellos para verlos a través de la aplicación del panel.

La siguiente tabla explica las funciones de registro de Cloud IAM que un administrador de la organización puede otorgar a la cuenta de servicio utilizada por el panel, así como el nivel de recursos en el que se otorga la función.

Función Recurso Miembro Descripción
logging.viewer Organización Cuenta de servicio del panel La función logging.viewer permite que la cuenta de servicio lea los registros de actividad de administrador en Cloud Logging.
bigquery.dataViewer Conjunto de datos de BigQuery Cuenta de servicio del panel La función bigquery.dataViewer permite que la cuenta de servicio utilizada por la aplicación del panel lea los registros de actividad de administrador exportados.

La política de Cloud IAM vinculada al recurso de la organización para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

La política de Cloud IAM vinculada al conjunto de datos de BigQuery configurado como el receptor de destino para esta situación tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/bigquery.dataViewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}