Google cloud platform 为什么在尝试列出与数据流作业不同的项目中的存储桶内容时,访问被拒绝?
我有两个不同的项目,Google cloud platform 为什么在尝试列出与数据流作业不同的项目中的存储桶内容时,访问被拒绝?,google-cloud-platform,google-cloud-storage,google-cloud-dataflow,google-cloud-functions,Google Cloud Platform,Google Cloud Storage,Google Cloud Dataflow,Google Cloud Functions,我有两个不同的项目,A和B。在A中,我运行了一个googlecloud函数,它可以触发pubsub主题上的消息,并创建一个数据流作业。此数据流将列出作业并从B中的特定存储桶中读取项目,这就是我的问题开始的地方 我按照这里的说明进行了操作:关于ACL,我可以看到我的项目用户已被添加为OWNER,添加到我尝试读取的bucket中 我收到的错误消息是: 403禁止\n{\n“代码”:403、\n“错误”:[{\n“域”:“全局”、\n“消息”:“调用者没有对bucket bucketName的存储.o
A
和B
。在A
中,我运行了一个googlecloud函数,它可以触发pubsub主题上的消息,并创建一个数据流作业。此数据流将列出作业并从B
中的特定存储桶中读取项目,这就是我的问题开始的地方
我按照这里的说明进行了操作:关于ACL,我可以看到我的项目用户已被添加为OWNER
,添加到我尝试读取的bucket中
我收到的错误消息是:
403禁止\n{\n“代码”:403、\n“错误”:[{\n“域”:“全局”、\n“消息”:“调用者没有对bucket bucketName的存储.objects.list访问权。\”、\n“原因”:“禁止”;\n}]、\n“消息”:“调用者没有对bucket bucketName的存储.objects.list访问权。\”、\n}
当projectA
拥有OWNER
对B
上的bucket的权限时,为什么函数没有列表访问权限。云函数运行时使用的凭据集是否与链接教程中使用的凭据集不同
如果我从cli手动触发它,它将按预期工作,但我猜它可能会使用我的凭据。这里有两件事。您是否列出了云函数中的文件,然后对这些文件启动数据流作业?如果是,请确保触发云功能的用户/服务帐户在bucket上具有正确的权限。如果否,请确保项目A的两个服务帐户(cloudservices和compute engine,在中提到)都具有项目B的所有者权限