我想为 Node.js 中 Google Cloud Storage 存储桶内的目录中的图像创建签名 URL。查看 Node.js 中的 Google Cloud Storage SDK,您可以轻松地为特定文件创建签名 URL。然而,您似乎无法创建带有前缀的签名网址。
查看 Cloud CDN 文档,可以创建带有前缀的签名 URL 。这种方法使用密钥来生成签名的 URL。
但是,我正在使用ADC 为 Cloud Storage SDK 验证我的服务。 我想继续使用 ADC 并避免创建密钥及其相应的服务帐户。
有什么方法可以从 Cloud Storage SDK 获取签名密钥来使用,而不必为后端生成和管理不同的签名请求密钥?
生成签名网址需要直接或间接访问私钥。您需要私钥来签署某些内容。最终用户凭据仅具有刷新令牌,因此无法使用它们进行签名 - 但是,您可以模拟服务帐户。请参阅:(
https://cloud.google.com/iam/docs/service-account-impersonation)这对于您的用例来说可能不切实际,因为您必须授予用户访问权限才能使用该服务帐户(让他们访问服务帐户有权访问的所有资源)。
应用程序默认凭证 (ADC) 支持从元数据服务(Compute Engine、Cloud Run、Cloud Functions 等)获取令牌。这意味着私钥不可用于签署数据。您可以在还为此提出了一个功能请求允许从默认凭据对 URL 进行签名,该功能仍然处于开放状态,可以在那里跟踪进一步的进展。