我们正在使用cloudfront来提供s3资源,但它受到限制。 在c#中,使用" AmazonCloudFrontUrlSigner.SignUrlCanned"创建预先指定的URL。它只询问使用根凭据生成的云端私钥,并且不会要求IAM用户凭据。
在分发行为中,我可以看到有一个选项来指定" Trusted Signers"但无法理解它的使用位置。任何有关这方面的信息都会很棒。还有一种方法可以使用IAM用户凭据生成预签名的云端URL吗?
答案 0 :(得分:4)
CloudFront不支持使用IAM凭据生成签名URL,也不支持使用其他AWS服务通用的签名算法。
然而,该过程已完整记录。 CloudFront有自己的方法来代表您的用户访问S3中的私有对象 - 原始访问身份 - 并且当使用与可信签署者关联的密钥对生成的签名URL或签名cookie时,将透明地使用此机制。
有关机制和配置演练的说明,请参阅Serving Private Content through CloudFront。
答案 1 :(得分:0)
Cloudfront确实使用IAM生成签名的URL。在分发中,有Trusted Signers
的配置,您可以在其中添加其他帐户ID,以允许这些帐户生成签名的URL。这意味着受信任的签名者可以使用自己生成的密钥对来签名分发的URL。
您为CloudFront发行版配置的任何受信任的签名者都需要为其帐户设置自己的CloudFront密钥对,以便签署对CloudFront私人内容Reference
的请求此密钥对与帐户相关联,并且在任何时间点最多只能有一个活动密钥对