amazon-web-services - 为 S3 上传创建新的 IAM 策略时需要哪些权限?
问题描述
我正在开发一个颤振应用程序,我可以在其中将图像上传到 Amazon S3。为此,我需要得到一个IAM Access Keys
和它的Access Key ID
和一个Secret access key
。
所以我创建了IAM User
一个新策略并尝试创建一个新策略,它只允许
- 上传文件
- 读取文件
我不需要它来创建/删除存储桶等。
它没有用。我注意到当我提供时full s3 access
我可以毫无问题地上传,所以我可能在创建策略时错过了一些权限。以下是我的权限。
这是JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "*"
}
]
}
更新
以下是我的 s3 存储桶设置
**Properties**
Events 0 Active notifications
Versioning Suspended
MFA delete Disabled
Logging Disabled
Static web hosting Disabled
Tags 0 Tags
Requester pays Disabled
Object lock Disabled
Transfer acceleration Disabled
**Permissions**
Owner xxxxxx
Block public access Disabled
Bucket policy No
Access control list 1 Grantees
CORS configuration No
**Management**
Lifecycle Disabled
Cross-region replication Disabled
Analytics Disabled
Inventory Disabled
Metrics Disabled
解决方案
我认为您只需要s3:PutObjectAcl
添加"s3:PutObject", "s3:GetObject", "s3:DeleteObject"
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:PutObjectAcl"
],
"Resource": "*"
}
]
}
推荐阅读
- admob - 我可以在所有应用活动中使用一个 adunit ID 吗?
- r - 如何将 R 模型应用于一组栅格和矢量预测层
- laravel - Laravel - 如何更新复选框字段值
- ios - 使用 Firebase 实现 Apple 登录时在开发人员站点中注册新服务 ID 错误
- javascript - 移相器在哪里引用补间的“useFrames”?
- python - MongoDB 值到 Python 中的 Dict
- authentication - IBM Data Cap 中的用户访问权限
- mysql - AWS Lambda 在代码中间停止执行
- python - 我试图运行一个简单的 gTTS 语音消息,但是在制作 mp3 文件时,当我尝试运行它时我什么也听不见
- javascript - Ajax 未在选项卡关闭时执行