如何通过Python添加对特定服务帐户、特定Google存储桶的访问?

如何通过Python添加对特定服务帐户、特定Google存储桶的访问?,python,google-cloud-storage,Python,Google Cloud Storage,当存储桶应该自动创建时,我实现了自动化。如果它不存在,它将确定创建,并应用正确的IAM策略 在gsutil中,我可以通过以下方式完成: gsutil acl ch -u john.doe@example.com:WRITE gs://example-bucket gsutil acl ch -u john.doe@example.READ gs://example-bucket 问题是我不明白如何在Python中实现同样的功能。我浏览了GitHub、StackOverflow和官方文档,却看不

当存储桶应该自动创建时,我实现了自动化。如果它不存在,它将确定创建,并应用正确的IAM策略

gsutil
中,我可以通过以下方式完成:

gsutil acl ch -u john.doe@example.com:WRITE gs://example-bucket
gsutil acl ch -u john.doe@example.READ gs://example-bucket
问题是我不明白如何在Python中实现同样的功能。我浏览了GitHub、StackOverflow和官方文档,却看不到方向

我创建了一个bucket
客户端。创建bucket(bucket\u name)
我认为您应该使用

下面是一个示例代码:


    client = storage.Client()
    bucket = client.get_bucket(bucket_name)
    acl = bucket.acl

    # For user
    acl.user("me@example.org").grant_read()
    acl.all_authenticated().grant_write()

    # For service account
    acl.service_account("example@example.iam.gserviceaccount.com").grant_read()

    acl.save()
    print(list(acl))
我认为你应该使用

下面是一个示例代码:


    client = storage.Client()
    bucket = client.get_bucket(bucket_name)
    acl = bucket.acl

    # For user
    acl.user("me@example.org").grant_read()
    acl.all_authenticated().grant_write()

    # For service account
    acl.service_account("example@example.iam.gserviceaccount.com").grant_read()

    acl.save()
    print(list(acl))

也许您需要这样的东西:自动将策略分配给任何新创建的bucket可能您需要这样的东西:自动将策略分配给任何新创建的bucket