亚马逊云前线。可信签名者的使用

Ven*_*kat 2 amazon-web-services amazon-cloudfront aws-sdk

我们正在使用 cloudfront 来提供 s3 资源并且它受到限制。在 c# 中,在使用“AmazonCloudFrontUrlSigner.SignUrlCanned”创建预签名 url 时,它只要求使用根凭证生成的 cloudfront 私钥,而不要求 IAM 用户凭证。

在分发行为中,我可以看到有一个选项可以指定“受信任的签名者”,但无法理解它的使用位置。任何有关这方面的信息都会很棒。还有一种方法可以使用 IAM 用户凭证生成预先签名的 Cloudfront url 吗?

Mic*_*bot 5

CloudFront 不支持使用 IAM 凭证生成签名 URL,也不支持使用其他 AWS 服务通用的签名算法。

但是,该过程已被完整记录。CloudFront 有自己的方法来代表您的用户访问 S3 中的私有对象 - 源访问身份 - 并且在提供签名 URL 或签名 cookie 时将透明地使用此机制,使用与受信任签名者关联的密钥对生成。

有关机制和配置演练的说明,请参阅通过 CloudFront 提供私有内容

  • Cloudfront 密钥对是使用根凭据创建的。我仍然不明白我们在哪里使用“可信签名者”。在控制台信息图标中,它显示“选择是否要使用当前 AWS 账户和/或其他 AWS 账户来创建签名 URL 或签名 cookie”。但是在创建签名 url 时,我们只使用了 cloudfront 密钥对私钥,而不是 AWS 帐户 ID。此外,帐户的访问密钥和秘密密钥也没有使用。 (2认同)
  • 密钥对由您使用 AWS 账户的根凭证创建,并由 CloudFront 用于识别您的 AWS 账户。此后,在 CloudFront URL 签名过程中不再使用 AWS 凭证,因为密钥对在首次创建时链接到您的 AWS 账户,并且除非您将其失效,否则将保持链接。将您自己的 AWS 账户设置为可信签署人意味着与您的账户关联的任何 CloudFront 密钥对都可用于签署 CloudFront URL。CloudFront 不像 AWS 的其他部分那样集中在“区域”中,因此除了预置外不使用 IAM。 (2认同)