Установить права доступа для объекта gs bucket для речевого API

Я хочу переписать длинный аудиофайл в текст.

Поэтому я создал ведро и установил его как частное использование

gsutil acl set private gs://bucket

затем я установил доступ только для загрузки из определенного аккаунта

gsutil acl ch -u myaccount@provider.com:WRITE gs://bucket

затем я установил разрешение на чтение для служебной учетной записи в ведро

gsutil acl ch -u projectname@projectname-a.iam.gserviceaccount.com:R gs://bucket/

Затем я отправил запрос с помощью программы Python, но он возвращает 403 но если я установлю объект как публичный, он вернется 200 Но я не хочу устанавливать разрешение как публичное для файлов.

Есть ли что-нибудь еще, что я могу сделать?

Обязательно ли делать аудиофайл общедоступным для генерации текста?

Я следовал этому, чтобы установить разрешения учетной записи службы: /questions/6732728/google-speech-api-vozvraschaet-403-permissiondenied/6732733#6732733

1 ответ

Предоставление пользователю разрешения на чтение в сегменте через ACL не позволяет загружать содержимое внутри, а просто перечисляет содержимое. Вы можете установить разрешение на чтение ACL для самого объекта:

gsutil acl ch -u projectname@projectname-a.iam.gserviceaccount.com:R gs://bucket/file.xxx

или вы можете назначить политику IAM Storage Object Viewer для корзины, чтобы получить доступ ко всему содержимому корзины.

Другие вопросы по тегам