S3 Bucket Policy允许在不完全公开的情况下进行Flash简报?

时间:2018-04-16 15:21:16

标签: amazon-web-services amazon-s3 alexa alexa-flash-briefing

所有Flash简报请求都来自Alexa设备(可能通过亚马逊服务),所以应该有一种方法来识别和允许这些,而不会使S3存储桶完全公开。

这很可能是使用ConditionsPrincipals实现的,但我们必须知道请求的详细信息。

有没有人实现这个目标? 要么 当Flash简报技能试图检索JSON(或RSS)文件时,是否有人有样本请求?

以下示例代码允许进行Flash简报,但会使存储桶完全公开,允许任何人耗尽资源:

{
"Version": "2008-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::numbers:role/my-role-to-update"
        },
        "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl"
        ],
        "Resource": "arn:aws:s3:::my-bucket"
    },
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": [
            "s3:GetObject",
            "s3:GetObjectAcl"
        ],
        "Resource": "arn:aws:s3:::my-bucket"
    }
 ]
}

1 个答案:

答案 0 :(得分:0)

我不熟悉专门提供Flash简报,但这听起来像是使用Amazon S3 pre-signed URLs的机会。

基本上,对象是私有的。然后,当应用程序希望提供对Amazon S3对象的临时访问时,它可以生成有时间限制的预签名URL 。然后,您的应用程序可以提供此URL,该URL将在到期之前正常工作。此后,它不会返回对象。