我有一个谷歌云存储桶,我只想使用 Cloud CDN 访问它。
我已经创建了负载均衡器,创建了签名密钥并为其添加了服务帐户,几乎所有权限,如,
Storage Admin
等。Storage Bucket Admin
Storage 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-url
from 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 的存储桶,它会按预期工作
我遵循的过程有问题吗?