amazon-web-services - 必须允许哪些策略操作才能将文件上传到 s3?

标签 amazon-web-services amazon-s3 aws-sdk

当使用 JS SDK 上传到 s3 存储桶时,以下策略有效:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::foo/*"
            ]
        }
    ]
}

但更细粒度和更安全

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::foo/*"
            ]
        }
    ]
}

没有。上传对象是否需要一些额外的操作权限?

最佳答案

您的策略授予对象权限,而不是存储桶。这应该有效:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::foo/"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::foo/*"
            ]
        }
    ]
}

请注意存储桶 (arn:aws:s3:::foo/) 和对象 (arn:aws:s3:::foo/*) 之间的区别.

关于amazon-web-services - 必须允许哪些策略操作才能将文件上传到 s3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41243843/

相关文章:

node.js - 是否可以使用比 AWS Lambda 中提供的更新版本的 aws-sdk?

amazon-s3 - UPSERT 拼花 Pyspark

amazon-web-services - 使用本地机器从 s3 读取数据 - pyspark

javascript - 如何在 FireFox Addon(扩展)中使用 AWS JavaScript SDK

azure - 有没有一种(简单)方法将 AWS Redshift 连接到 Microsoft Azure ML?

javascript - 为什么对象值被插入数组 3 次?

java - 了解运行可用区的 AWS Lambda

amazon-web-services - 如何运行现有的 aws 放大项目

amazon-web-services - AWS 证书管理器会自动部署到我的资源吗?

c# - 如何配置客户端? AWS Elasticsearch 请求 C#