[Обновлено]
Почему gsutil не использует учетные данные Gcloud, как следует при работе в док-контейнере в Cloud Shell?
Согласно [1] gsutil должен использовать учетные данные gcloudкогда они доступны:
После настройки учетных данных с помощью gcloud auth эти учетные данные будут использоваться независимо от того, есть ли у пользователя какие-либо файлы конфигурации boto (которые расположены в ~ / .boto, если не указано иное).путь указывается в переменной окружения BOTO_CONFIG).Однако gsutil будет по-прежнему искать учетные данные в файле конфигурации boto, если требуется тип учетных данных, отличных от GCS, который не хранится в хранилище учетных данных gcloud (например, учетные данные HMAC для учетной записи S3).
Кажется, что это нормально работает в установках gcloud, но не в образах докеров.Процесс, который я использовал в Cloud Shell:
docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login
docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gcloud compute instances list --project my_project
... (works ok)
docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gsutil ls gs://bucket/
ServiceException: 401 Anonymous caller does not have storage.objects.list access to bucket.
С уважением
Кевин
[1] https://cloud.google.com/storage/docs/gsutil/addlhelp/CredentialTypesSupportingVariousUseCases