我想实现额外创建的服务帐户只能订阅某个特定的 pubsub 订阅。
而且,当使用此服务帐户列出所有订阅时,它也应该只看到“专用”订阅。
我已经在订阅上创建了一个必须测试 Pub/Sub 管理员角色的权限
然后我用
检查清单from google.oauth2 import service_account
from google.cloud import pubsub_v1
project_id = "project101"
credentials = service_account.Credentials.from_service_account_file(
'./myServiceAccount.json')
project_path = f"projects/{project_id}"
with pubsub_v1.SubscriberClient(credentials=credentials) as subscriber:
for subscription in subscriber.list_subscriptions(
request={"project": project_path}
):
print(subscription.name)
但结果是 403。
如你所见,我需要这个来进行 splunk,但我不想打开太多。
要列出 Pub/Sub 订阅需要权限
projects.subscriptions.list
。
该许可必须在项目级别或更高级别的资源处授予。具有该权限的主体将能够列出所有订阅。您不能将它们限制为少数几个。
您可以在此处查看可用权限以及可以应用这些权限的位置: