gpt4 book ai didi

c# - 如何使用 .NET 为 CloudFront 公开的 Amazon S3 生成签名 URL

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:15 24 4
gpt4 key购买 nike

我想要实现的是生成一个指向来自 S3 存储桶的 CloudFront 分配的 singedURL。

我已成功签署直接指向 S3 存储桶的 URL,如以下 AWS 规范所述 - Generate a Presigned Object URL Using AWS SDK for .NET并且效果很好。

但我真正需要的是生成签名的 CloudFront URL。

我假设我的 Distribution 已正确配置,因为我可以使用 ( https://d298o8yem5c56d.cloudfront.net/123.pdf ) 访问它,假设 Restrict Viewer Access: 在 Behaviors 设置中设置为 No。将其切换为Yes后,如果没有 signedURL 就无法再访问它。

我尝试使用 AWS 开发人员指南中的示例代码:Create a URL Signature Using C# and the .NET Framework

URL已生成,但我得到的是以下错误消息:

<Error>
<Code>AccessDenied</Code>
<Message>Access denied</Message>
</Error>

任何想法我应该检查什么?

最佳答案

最后,我使用 AWS 开发人员指南中的示例代码解决了这个问题:Create a URL Signature Using C# and the .NET Framework

这个问题似乎与 PrivateKey.xml 有关

请记住将 PrivateKey.xml 替换为您的私钥(可以从 AWS 根账户设置生成/下载)。下一步必须将其从 PEM 转换为 XML(.NET 要求)

从 PEM 转换为 XML 的好方法是使用 - online converter

关于c# - 如何使用 .NET 为 CloudFront 公开的 Amazon S3 生成签名 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54803307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com