我想定义从一个项目到另一个项目的 pubsub 日志导出接收器的步骤。作为次要目标,我希望接收器连接组织。到目前为止,我已按照gcloud
帮助页面和身份验证文档中概述的这些步骤进行操作。
首先我创建了一个接收器:
# from project A
gcloud logging sinks create \
<sink_name> \
pubsub.googleapis.com/projects/<project_B>/topics/<topic_name> \
--log-filter <filter>
CLI 成功返回,并就为其创建的服务帐户设置权限提供了一些建议:
Created [https://logging.googleapis.com/v2/projects/<project_A>/sinks/<sink_name>].
Please remember to grant `serviceAccount:<new_user>@logging-<project_A_account_number>.iam.gserviceaccount.com` Pub/Sub Publisher role to the topic.
More information about sinks can be found at https://cloud.google.com/logging/docs/export/configure_export
根据此建议,我为新服务帐户授予了该主题的适当权限。
gcloud projects add-iam-policy-binding <project_B> \
--member serviceAccount:<new_user>@logging-<project_A_account_numbe_id>.iam.gserviceaccount.com \
--role roles/pubsub.publisher
此命令返回没有问题。
尽管一切看起来都很好,但没有日志流过水槽。
以下是一些线索: Logs Viewer 上的 Exports 选项卡报告接收器中的权限错误。项目活动选项卡报告权限问题。
有没有解决方案来完成这项工作?是否可以将其概括为从其他 gcloud 组织将日志发送到该项目中的接收器?