0
  • 我有一个谷歌云存储桶,我只想使用 Cloud CDN 访问它。

  • 我已经创建了负载均衡器,创建了签名密钥并为其添加了服务帐户,几乎所有权限,如,Storage Admin等。Storage Bucket AdminStorage Legacy Bucket Owner

  • 现在我正在尝试使用带有 Php 的 SignedUrl 访问存储桶内容。它生成签名的URL,但它给出

    403. That’s an error.
    Your client does not have permission to get URL

我什至试过了gcloud compute sign-url。它确实生成了一个签名的 url,但它也给出了同样的错误。

重现步骤:

gcloud sign-urlfrom cmd:

gcloud compute sign-url URL --expires-in=1566561600 --key-file=KEY_FILE --key-name=SIGNING_KEY

whereURL是从负载均衡器生成的 IP,过期时间当然是未来的时间戳,key--file 是从服务帐户生成的 json 密钥文件,--key-name 是来自原始详细信息的签名密钥

我在生成签名 url 的 php 代码中应用了同样的东西,我参考了https://github.com/GoogleCloudPlatform/php-docs-samples

当我不使用 CDN 时,服务帐户似乎工作得很好,如果我访问没有 CDN 的存储桶,它会按预期工作

我遵循的过程有问题吗?

4

1 回答 1

-1

Cloud Storage 有一个内置的 CDN,因此为您的用例使用 Cloud Storage 签名 URL 就足够了。关于使用签名 URL,它们在内部的工作方式大致相同,并且生成 URL 的方式几乎相同。

于 2019-08-21T17:54:48.253 回答