gpt4 book ai didi

amazon-web-services - CloudFormation 嵌套模板能否在没有预签名 URL 的情况下访问私有(private) S3 对象?

转载 作者:行者123 更新时间:2023-12-04 08:01:20 25 4
gpt4 key购买 nike

在 Cloudformation 中,嵌套模板必须向 S3 对象提供 https://URL。似乎不支持 s3://URL。

Stack Template Parameter

除了使用预签名 URL 之外,嵌套堆栈是否有任何方法可以处理没有公共(public)读取 ACL 的 S3 对象?

请注意,从这个相关问题中也可以看出,预签名 URL 在某一点上也不是一个可行的选项,但该问题已得到解决。但是,预签名 URL 的最长 1 周过期时间仍然令人反感,因为嵌套堆栈的 URL 可能需要重新生成以供将来更新。

How can I specify a signed S3 URL as template in CloudFormation?

最佳答案

简单的回答是,必须指定一个策略或 ACL,允许“匿名”Web 请求获取定义嵌套堆栈的模板。

但是,我发现了一个可以阻止真正“公共(public)”访问的小技巧。 CloudFormation 似乎从 10.0.0.0/8 内的某个 IP 地址进行 HTTP GET。 (至少就我而言,我认为 YMMV 因为 AWS 实际上并没有在我发现的任何地方保证这一点。)

因此,您可以在策略中添加一个限制访问该私有(private)范围的条件,从而有效地阻止整个 Internet 读取您的模板。

合适的存储桶策略如下所示:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-cloudformation-bucket-name/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "10.0.0.0/8"
}
}
}
]
}

关于amazon-web-services - CloudFormation 嵌套模板能否在没有预签名 URL 的情况下访问私有(private) S3 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51219037/

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