生成带前缀的签名 URL

问题描述 投票:0回答:1

我想为 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 获取签名密钥来使用,而不必为后端生成和管理不同的签名请求密钥?

node.js google-cloud-platform google-cloud-storage
1个回答
0
投票
签名 URL 是在服务帐户密钥的帮助下创建的,服务帐户密钥实际上是 RSA 私钥。生成签名 URL 需要服务帐户密钥文件。如果您使用 Google Cloud SDK 中的应用程序默认凭据,则无法使用此凭据。”

生成签名网址需要直接或间接访问私钥。您需要私钥来签署某些内容。最终用户凭据仅具有刷新令牌,因此无法使用它们进行签名 - 但是,您可以模拟服务帐户。请参阅:(

https://cloud.google.com/iam/docs/service-account-impersonation)这对于您的用例来说可能不切实际,因为您必须授予用户访问权限才能使用该服务帐户(让他们访问服务帐户有权访问的所有资源)。

应用程序默认凭证 (ADC) 支持从元数据服务(Compute Engine、Cloud Run、Cloud Functions 等)获取令牌。这意味着私钥不可用于签署数据。您可以在

此处查看更多信息,作者:John Hanley

还为此提出了一个功能请求

允许从默认凭据对 URL 进行签名,该功能仍然处于开放状态,可以在那里跟踪进一步的进展。

© www.soinside.com 2019 - 2024. All rights reserved.