我通过运行以下命令(作为组织管理员)创建接收器:
gcloud logging sinks create vpc_flow_sink storage.googleapis.com/<storage_bucket_name> --include-children --organization=<organization_id> --log-filter="resource.type="gce_subnetwork" AND logName:"logs/compute.googleapis.com%2Fvpc_flows""
命令执行成功并输出以下文本:
Created [https://logging.googleapis.com/v2/organizations/<organization_id>/sinks/<sink_name>].
Please remember to grant serviceAccount:o<organization_id>[email protected] the Storage Object Creator role on the bucket.
但是,当我真正去给存储桶申请权限时,我找不到这个账户(无论是在项目内还是在组织内)。当我运行时,这些帐户也不会出现:
gcloud organizations get-iam-policy <organization_id>
当我描述接收器时,服务帐户存在于 writerIdentity 字段中:
gcloud beta logging sinks describe vpc_flow_sink --organization <organization_id>
...
writerIdentity: serviceAccount:o<organization_id>[email protected]
...
作为参考,为了尝试调试此问题,我附加了以下角色:组织角色管理员、日志记录管理员、所有者、项目所有者、组织管理员、存储管理员。
我真的不知道该怎么办,我该如何向该帐户授予存储桶角色?
向导出目的地申请权限时,请勿复制:
serviceAccount:o<organization_id>[email protected]
但只需使用
serviceAccount:
之后的所有内容
o<organization_id>[email protected]
...
Google 随后将识别该服务帐户。但是,我仍然无法通过
gcloud organizations get-iam-policy <organization_id>
检测到它