无法将组织日志导出到 GCP 中的自定义项目
Can't export Organization logs to custom project in GCP
我正在尝试将 Google Cloud Organization 的日志从 另一个项目 导出到 _Default 日志存储桶。现在看来是不可能的。没有任何线索或错误告诉我原因。
到目前为止我尝试过的是:
- 导出到 pub/sub 主题
- 导出到自定义 GCS 存储桶
- 从另一个项目导出到 _Default 日志记录桶。 // 这就是我想要处理的情况。
- 从另一个项目导出到自定义日志记录桶。
在所有这些情况下都观察到相同的行为:根本没有导出日志。
我正在使用 Terraform 完成此任务,配置中的一切似乎都很好。
我还为服务帐户编写者身份提供了正确的 IAM 权限:
org-logs-role = {
members = [
google_logging_organization_sink.organization_sink.writer_identity
],
role_id = "roles/logging.bucketWriter"
}
接收器代码为:
resource "google_logging_organization_sink" "organization_sink" {
name = "gbl-snk-${var.project}-${var.environment}-3-gcp"
destination = "logging.googleapis.com/projects/${var.project}/locations/global/buckets/_Default"
org_id = local.organization_id
include_children = true
filter = "protoPayload.serviceName=\"admin.googleapis.com\" OR protoPayload.serviceName=\"cloudidentity.googleapis.com\" OR protoPayload.serviceName=\"login.googleapis.com\" OR protoPayload.serviceName=\"iam.googleapis.com\""
}
列出接收器时,它显示在组织中,但没有日志到达 _Default 存储桶(我隐藏了项目的真实名称)
gcloud logging sinks list --organization={organization_id}
NAME DESTINATION FILTER
gbl-snk-{project}-global-3-gcp logging.googleapis.com/projects/{project}/locations/global/buckets/_Default protoPayload.serviceName="admin.googleapis.com" OR protoPayload.serviceName="cloudidentity.googleapis.com" OR protoPayload.serviceName="login.googleapis.com" OR protoPayload.serviceName="iam.googleapis.com"
我做错了什么?我可以在组织的日志记录控制台中看到日志,但它们没有到达 {project} _Default 存储桶。
P.S.: 我尝试 copy/paste (以防万一)此代码(当然更改存储桶名称和 org.id ) 并且发生同样的情况。没有错误,但目标存储桶中没有日志。
https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/logging_organization_sink
我想查看的日志类型是来自指定过滤器的 CreateUser 或 DeleteUser 等事件。
欢迎任何帮助。
我想声明他的(在我看来)不是以下内容的副本:
因为一切正常,不会出现任何错误。
我猜这是一个写权限问题。你能执行这个命令吗
gcloud logging describe gbl-snk-{project}-global-3-gcp --organization={organization_id}
在结果中,获取 writerIdentity
服务帐户值。转到您的目标项目,在 IAM 页面中将其授予 Logs Writer 或 Logs Bucket Writer(查看差异 here)。
到时候应该效果会更好。
在 Terraform 中,您可以像那样获取作者身份
google_logging_organization_sink.organization_sink.writer_identity
我正在尝试将 Google Cloud Organization 的日志从 另一个项目 导出到 _Default 日志存储桶。现在看来是不可能的。没有任何线索或错误告诉我原因。 到目前为止我尝试过的是:
- 导出到 pub/sub 主题
- 导出到自定义 GCS 存储桶
- 从另一个项目导出到 _Default 日志记录桶。 // 这就是我想要处理的情况。
- 从另一个项目导出到自定义日志记录桶。
在所有这些情况下都观察到相同的行为:根本没有导出日志。
我正在使用 Terraform 完成此任务,配置中的一切似乎都很好。 我还为服务帐户编写者身份提供了正确的 IAM 权限:
org-logs-role = {
members = [
google_logging_organization_sink.organization_sink.writer_identity
],
role_id = "roles/logging.bucketWriter"
}
接收器代码为:
resource "google_logging_organization_sink" "organization_sink" {
name = "gbl-snk-${var.project}-${var.environment}-3-gcp"
destination = "logging.googleapis.com/projects/${var.project}/locations/global/buckets/_Default"
org_id = local.organization_id
include_children = true
filter = "protoPayload.serviceName=\"admin.googleapis.com\" OR protoPayload.serviceName=\"cloudidentity.googleapis.com\" OR protoPayload.serviceName=\"login.googleapis.com\" OR protoPayload.serviceName=\"iam.googleapis.com\""
}
列出接收器时,它显示在组织中,但没有日志到达 _Default 存储桶(我隐藏了项目的真实名称)
gcloud logging sinks list --organization={organization_id}
NAME DESTINATION FILTER
gbl-snk-{project}-global-3-gcp logging.googleapis.com/projects/{project}/locations/global/buckets/_Default protoPayload.serviceName="admin.googleapis.com" OR protoPayload.serviceName="cloudidentity.googleapis.com" OR protoPayload.serviceName="login.googleapis.com" OR protoPayload.serviceName="iam.googleapis.com"
我做错了什么?我可以在组织的日志记录控制台中看到日志,但它们没有到达 {project} _Default 存储桶。
P.S.: 我尝试 copy/paste (以防万一)此代码(当然更改存储桶名称和 org.id ) 并且发生同样的情况。没有错误,但目标存储桶中没有日志。 https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/logging_organization_sink
我想查看的日志类型是来自指定过滤器的 CreateUser 或 DeleteUser 等事件。
欢迎任何帮助。
我想声明他的(在我看来)不是以下内容的副本:
因为一切正常,不会出现任何错误。
我猜这是一个写权限问题。你能执行这个命令吗
gcloud logging describe gbl-snk-{project}-global-3-gcp --organization={organization_id}
在结果中,获取 writerIdentity
服务帐户值。转到您的目标项目,在 IAM 页面中将其授予 Logs Writer 或 Logs Bucket Writer(查看差异 here)。
到时候应该效果会更好。
在 Terraform 中,您可以像那样获取作者身份
google_logging_organization_sink.organization_sink.writer_identity