Roles de IAM para funciones de tareas relacionadas con auditorías

En este artículo se describe cómo configurar permisos de gestión de identidades y accesos en un conjunto de ejemplos de casos de auditoría. En función del caso, te aconsejamos sobre qué roles de IAM debes asignar a cada función relacionada con la auditoría que se desempeñe en la empresa. Los ejemplos de este tema están dirigidos principalmente a los administradores de seguridad, los auditores y los empleados que gestionan las tareas de auditoría de una organización.

Para obtener información sobre los registros de auditoría de Trusted Cloud by S3NS, consulta Registros de auditoría de Cloud. Para obtener información sobre los registros de auditoría que genera IAM, consulta Registros de auditoría de gestión de identidades y accesos de cuentas de servicio.

Situación: monitorización operativa

En este caso, una organización tiene un equipo de seguridad central que puede revisar los registros que pueden contener información sensible tanto en Cloud Logging como cuando se almacenan a largo plazo.

Los datos de auditoría históricos se almacenan en Cloud Storage. La organización usa una aplicación para proporcionar acceso al historial de datos de auditoría. La aplicación usa una cuenta de servicio para acceder a los datos de registro. Debido a la sensibilidad de algunos de los datos de los registros de auditoría, se ocultan con Protección de Datos Sensibles antes de que se pueda acceder a ellos.

En la tabla que se incluye más adelante, se explican los roles de gestión de identidades y accesos que se deben conceder al director de tecnología, al equipo de seguridad y a la cuenta de servicio, así como el nivel de recurso correspondiente.

Rol Recurso Principal Descripción
resourcemanager.organizationAdmin Organización Director de tecnología El rol resourcemanager.organizationAdmin permite al director de tecnología asignar permisos al equipo de seguridad y a la cuenta de servicio.
logging.viewer Organización Equipo de seguridad El rol logging.viewer permite al equipo de administradores de seguridad ver los registros de actividad de administración.
logging.privateLogViewer Organización Equipo de seguridad El rol logging.privateLogViewer permite ver los registros de acceso a los datos.

Una vez que se han exportado las entradas de registro, el acceso a las copias exportadas se controla por completo mediante los permisos y roles de IAM en cualquiera de los destinos: Cloud Storage, BigQuery o Pub/Sub. En este caso, Cloud Storage es el destino del almacenamiento a largo plazo de los registros de auditoría.

Rol Recurso Principal Descripción
logging.viewer Organización Cuenta de servicio El rol logging.viewer permite que la cuenta de servicio lea los registros de actividad de administrador en Cloud Logging.

Los datos de los registros de acceso a datos se consideran información personal identificable (IPI) para esta organización. Al integrar la aplicación con Protección de Datos Sensibles, se puede ocultar información personal identificable sensible al consultar los registros de acceso a datos, tanto si están en los registros de acceso a datos como si están en el archivo histórico de Cloud Storage.

Rol Recurso Principal Descripción
storage.objectViewer Segmento Cuenta de servicio El rol storage.objectViewer permite que la cuenta de servicio lea los registros de actividad de administrador exportados.

La política de permiso vinculada al recurso de la organización en este caso tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/cto@example.com"
      ]
    },
    {
      "role": "roles/logging.viewer",
      "members": [
        "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/security-team",
        "serviceAccount:prod-logviewer@admin-resources.s3ns-system.iam.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/logging.privateLogViewer",
      "members": [
        "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/security-team"
      ]
    }
  ]
}

La política de permiso vinculada al bucket configurado como receptor de destino en este caso tendrá un aspecto similar al siguiente:

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

Situación: equipos de desarrollo que monitorizan sus registros de auditoría

En este caso, los desarrolladores de la organización deben consultar los registros de auditoría generados durante el desarrollo de sus aplicaciones. No pueden revisar los registros de producción a menos que se hayan redactado con Protección de Datos Sensibles. Los desarrolladores tienen a su disposición una aplicación de panel de control que les 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 producción como en el entorno de desarrollo.

En la tabla que se incluye más adelante, se explican los roles de gestión de identidades y accesos que se deben conceder al equipo de seguridad, a los desarrolladores y a la cuenta de servicio, así como el nivel de recurso correspondiente.

Rol Recurso Principal Descripción
logging.viewer Organización Equipo de seguridad El rol logging.viewer permite al equipo de administradores de seguridad ver los registros de actividad de administración.
logging.privateLogViewer Organización Equipo de seguridad El rol logging.privateLogViewer permite ver los registros de acceso a los datos.
logging.viewer Carpeta Equipo de desarrollo El rol logging.viewer permite al equipo de desarrollo ver los registros de actividad de administración generados por los proyectos de desarrollo incluidos en una carpeta donde se encuentran todos los proyectos de desarrollo.
logging.privateLogViewer Carpeta Equipo de desarrollo El rol logging.privateLogViewer permite ver los registros de acceso a los datos.

El acceso a las copias exportadas se controla por completo mediante los permisos y roles de gestión de identidades y accesos en cualquiera de los destinos: Cloud Storage, BigQuery o Pub/Sub. En este caso, BigQuery es el destino para almacenar los registros de auditoría.

Rol Recurso Principal Descripción
bigquery.dataViewer Conjunto de datos de BigQuery Cuenta de servicio del panel de control El rol bigquery.dataViewer permite que la cuenta de servicio que usa la aplicación del panel de control lea los registros de actividad de administrador exportados.

En este caso, la política de permiso vinculada al recurso de la carpeta del equipo de desarrollo tendrá un aspecto similar a este:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/developer-team"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/developer-team"
    ]
  }]
}

La política de permiso vinculada al recurso de la organización en este caso tendrá un aspecto similar al siguiente:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/security-team"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/security-team"
    ]
  }]
}

La política de permiso vinculada al conjunto de datos de BigQuery configurado como receptor de destino en este caso tendrá un aspecto similar al siguiente:

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

Situación: auditores externos

En este caso, los registros de auditoría de una organización se agregan y se exportan a una ubicación de sumidero central. Se concede acceso a un auditor externo varias veces al año para que revise los registros de auditoría de la organización. El auditor no tiene autorización para ver datos personales en los registros de actividad de administración. Para cumplir este requisito, hay un panel de control disponible que proporciona acceso a los registros históricos almacenados en BigQuery y, si se solicita, a los registros de actividad de gestión de Cloud Logging.

La organización crea un grupo para estos auditores externos y añade al auditor actual al grupo. Este grupo se monitoriza y suele tener acceso a la aplicación del panel de control.

Durante el acceso normal, el grupo de auditores solo tiene acceso para ver los registros históricos almacenados en BigQuery. Si se detecta alguna anomalía, se concede al grupo permiso para ver los registros de actividad de administrador de Cloud Logging a través del modo de acceso elevado del panel de control. Al final de cada periodo de auditoría, se revoca el acceso del grupo.

Los datos se ocultan con Protección de Datos Sensibles antes de que se pueda acceder a ellos para verlos a través de la aplicación del panel de control.

En la tabla que se incluye más adelante, se explican los roles de registro de IAM que puede asignar un administrador de la organización a la cuenta de servicio que usa el panel de control, así como el nivel de recurso correspondiente.

Rol Recurso Principal Descripción
logging.viewer Organización Cuenta de servicio del panel de control El rol 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 de control El rol bigquery.dataViewer permite que la cuenta de servicio que usa la aplicación del panel de control lea los registros de actividad de administrador exportados.

La política de permiso vinculada al recurso de la organización en este caso tendrá un aspecto similar al siguiente:

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

La política de permiso vinculada al conjunto de datos de BigQuery configurado como receptor de destino en este caso tendrá un aspecto similar al siguiente:

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