我试图了解 gcloud 如何管理需要服务帐户才能访问它们的 API,例如使用您的用户(不是 svcacc)凭据访问语音 API 将导致“403 您的应用程序已使用来自 Google Cloud 的最终用户凭据进行身份验证Speech.googleapis.com 不支持的 SDK 或 Google Cloud Shell”。
然而,当我运行gcloud ml speech recognize gs://cloud-samples-tests/speech/brooklyn.flac --language-code=en-US
它时,它工作得很好——尽管我没有按照快速入门 [1] 中的描述设置任何专用的 svcacc 密钥,甚至为了确保安全,甚至禁用了项目中的所有服务帐户。
再说一次,
gcloud ml speech recognize gs://cloud-samples-tests/speech/brooklyn.flac --language-code=en-US
- 作品curl -s -H "Content-Type: application/json" -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) https://speech.googleapis.com/v1/speech:recognize -d @sync-request.json
根据 [2] 失败,上面出现 403 错误
问题:gcloud 如何在我不提供专用服务帐户的情况下工作?
[1] https://cloud.google.com/speech-to-text/docs/quickstart-gcloud