Funciones de IAM para funciones de trabajo relacionadas con la auditoría

En este tema, se describe cómo configurar los permisos de la administración de identidades y accesos para un conjunto de situaciones de auditoría de muestra. Además, se proporciona una guía sobre qué funciones de IAM otorgar a las funciones prácticas relacionadas con la auditoría en tu empresa para cada situación. Los ejemplos en este tema se dirigen, en principal, a los administradores de seguridad, auditores y empleados que administran las tareas de auditoría para una organización.

Para obtener más información sobre los registros de auditoría de Google Cloud, consulta registros de auditoría de Cloud. Si quieres obtener información sobre los registros de auditoría que genera IAM, consulta Registro de auditoría de IAM para cuentas de servicio.

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 Sensitive Data Protection antes de que sean accesibles para visualizarlos.

En la tabla a continuación, se explican las funciones de IAM que se deben otorgar al director de Tecnología, al equipo de seguridad y a la cuenta de servicio, además del nivel de recursos en el que se otorgan las funciones.

Función Recurso Principal 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 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 Principal 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 Sensitive Data Protection brinda la capacidad 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 de Cloud Storage.

Rol Recurso Principal Descripción
storage.objectViewer Bucket 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 permisos 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 permisos vinculada al bucket que está 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 Sensitive Data Protection. 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 de desarrollo.

La tabla a continuación explica las funciones de IAM que se deben otorgar al equipo de seguridad, a los desarrolladores y a la cuenta de servicio, además del nivel de recursos en el que se otorgan las funciones.

Función Recurso Principal 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 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 Principal 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 que usa la aplicación del panel lea los registros de actividad de administrador exportados.

La política de permisos 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 permisos 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 permisos vinculada al conjunto de datos de BigQuery que está 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 un grupo de Google para estos auditores externos y agrega el auditor actual al grupo. Este grupo se supervisa y, en general, se le otorga acceso a la aplicación del panel.

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

Los datos se ocultan mediante Sensitive Data Protection antes de que se pueda acceder a ellos para visualizarlos a través de la aplicación del panel.

En la siguiente tabla, se explican las funciones de registro de IAM que un administrador de la organización puede otorgar a la cuenta de servicio que el panel usa, además del nivel de recursos en el que se otorga la función.

Función Recurso Principal 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 que usa la aplicación del panel lea los registros de actividad de administrador exportados.

La política de permisos 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 permisos vinculada al conjunto de datos de BigQuery que está 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"
    ]
  }]
}