Как добавить доступ к определенной учетной записи службы, указав c Google Storage Bucket через Python? - PullRequest
0 голосов
/ 22 апреля 2020

Я делаю автоматизацию, когда хранилища должны создаваться автоматически. Он создается, если его не существует, и применяет правильные политики 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 и официальные документы и не вижу пути.

Я создаю корзину client.create_bucket(bucket_name) на основе официальной библиотеки python и примеров оттуда

1 Ответ

2 голосов
/ 22 апреля 2020

Я думаю, вы должны использовать google-cloud-storage

Вот пример кода:


    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))
...