负有审核相关工作职责的 IAM 角色

本主题介绍了如何为一组示例审核场景配置 Identity and Access Management 权限。旨在说明公司应针对每种场景为审核相关职能人员授予哪些 IAM 角色。本主题中的示例主要针对安全管理员、审核员和为组织管理审核任务的员工。

如需了解 Google Cloud 的审核日志,请参阅 Cloud Audit Logs。如需了解 IAM 生成的审核日志,请参阅服务账号的 IAM 审核日志记录

场景:运营监控

在此场景中,组织有一个中央安全团队,该团队可以审核 Cloud Logging 中以及在长期存储中存储时可能包含敏感信息的日志。

历史审核数据存储在 Cloud Storage 中。组织使用应用来提供历史审核数据访问权限。该应用使用服务账号来访问日志数据。由于部分审核日志数据的敏感度,系统会在使该数据可供查看之前使用敏感数据保护对其进行隐去处理。

下表说明了需要授予首席技术官、安全团队和服务账号的 IAM 角色,以及授予这些角色所在的资源级别。

角色 资源 主账号 说明
resourcemanager.organizationAdmin 组织 首席技术官 resourcemanager.organizationAdmin 角色使 CTO 能够为安全团队和服务账号分配权限。
logging.viewer 组织 安全团队 logging.viewer 角色可让安全管理团队查看管理员活动日志。
logging.privateLogViewer 组织 安全团队 logging.privateLogViewer 角色可让成员查看数据访问日志。

导出日志条目后,对已导出副本的访问完全由下列任何目标位置上的 IAM 权限和角色控制:Cloud Storage、BigQuery 或 Pub/Sub。在此场景中,Cloud Storage 是长期存储审核日志的目标位置。

角色 资源 主账号 说明
logging.viewer 组织 服务账号 logging.viewer 角色允许服务账号读取 Cloud Logging 中的管理员活动日志。

数据访问日志中的数据被视为该组织的个人身份信息 (PII)。通过将应用与敏感数据保护集成,您可以在查看数据访问日志时隐去敏感的个人身份信息数据,无论这些数据是在数据访问日志中还是在 Cloud Storage 的历史归档中。

角色 资源 主账号 说明
storage.objectViewer 存储桶 服务账号 storage.objectViewer 角色允许服务账号读取导出的管理员活动日志。

此场景中绑定到组织资源的允许政策如下所示:

{
  "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"
      ]
    }
  ]
}

此场景中配置为目标接收器的存储桶上绑定的允许政策如下所示:

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

场景:开发团队监控他们的审核日志

在此场景中,组织的开发者需要查看在开发其应用时生成的审核日志。除非使用敏感数据保护对生产日志进行了隐去处理,否则他们不得查看这些日志。开发者可以使用信息中心应用提供对导出的生产数据的“只能查看”权限。组织的安全团队可以访问生产环境和开发环境中的所有日志。

下表说明了需要授予安全团队、开发者和服务账号的 IAM 角色,以及授予这些角色所在的资源级别。

角色 资源 主账号 说明
logging.viewer 组织 安全团队 logging.viewer 角色可让安全管理团队查看管理员活动日志。
logging.privateLogViewer 组织 安全团队 logging.privateLogViewer 角色可让成员查看数据访问日志。
logging.viewer 文件夹 开发团队 logging.viewer 角色可让开发者团队查看由开发者项目(包含在所有开发者项目所在的文件夹中)生成的管理员活动日志。
logging.privateLogViewer 文件夹 开发团队 logging.privateLogViewer 角色可让成员查看数据访问日志。

对已导出副本的访问完全由下列任何目标位置上的 IAM 权限和角色控制:Cloud Storage、BigQuery 或 Pub/Sub。在此场景中,BigQuery 是存储审核日志的目标位置。

角色 资源 主账号 说明
bigquery.dataViewer BigQuery 数据集 信息中心服务账号 bigquery.dataViewer 角色允许仪表板应用使用的服务账号读取导出的管理活动日志。

此场景中绑定到开发团队的文件夹资源的允许政策如下所示:

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

此场景中绑定到组织资源的允许政策如下所示:

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

此场景中配置为目标接收器的 BigQuery 数据集上绑定的允许政策如下所示:

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

场景:外部审核人员

在此场景,组织的审核日志将汇总并导出到中央接收器位置。第三方审核人员每年会被授予几次查看组织审核日志的权限。审核人员无权查看管理员活动日志中的 PII 数据。为了符合此项要求,可使用信息中心来提供对 BigQuery 中存储的历史日志的访问权限,并根据请求提供对 Cloud Logging 管理员活动日志的访问权限。

组织可为这些外部审核人员创建一个 Google 群组,并将当前审核人员添加到该群组中。该群组会受到监控,并且通常会被授予访问信息中心应用的权限。

在正常访问期间,审核人员所在的 Google 群组仅会被授予查看 BigQuery 中存储的历史日志的权限。如果发现任何异常情况,该群组会被授予相应权限,可通过信息中心的高级访问模式查看实际的 Cloud Logging 管理员活动日志。在每个审核期结束时,该群组的访问权限即被撤消。

系统会在通过信息中心应用使数据可供查看之前使用敏感数据保护对其进行隐去处理。

下表说明了组织管理员可向信息中心使用的服务账号授予的 IAM 日志记录角色,以及授予这些角色所在的资源级别。

角色 资源 主账号 说明
logging.viewer 组织 信息中心服务账号 logging.viewer 角色允许服务账号读取 Cloud Logging 中的管理员活动日志。
bigquery.dataViewer BigQuery 数据集 信息中心服务账号 bigquery.dataViewer 角色允许仪表板应用使用的服务账号读取导出的管理活动日志。

此场景中绑定到组织资源的允许政策如下所示:

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

此场景中配置为目标接收器的 BigQuery 数据集上绑定的允许政策如下所示:

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