Установить права доступа для объекта 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 для корзины, чтобы получить доступ ко всему содержимому корзины.