我想提供一个AWS S3存储桶和一个IAM用户(仅具有编程访问权限),因此我可以仅为该用户提供文件上传特权。用户将收到AWS访问密钥ID和秘密访问密钥,以在简单的Node.js或Python控制台应用程序中使用。 要实现此目标需要多少最小步骤?
*.cnf
我有一个简单的node.js应用程序,它将给定文件上传到存储桶:
{
"Version": "2012-10-17",
"Id": "Policy1234567",
"Statement": [
{
"Sid": "Stmt1234567",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890:user/someuser"
},
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::some-bucket-name/*"
}
]
}
答案 0 :(得分:2)
您也可以为IAM用户创建自定义策略,只允许PUTObject进入特定存储桶。
示例:
{
"Version": "2012-10-17",
"Id": "Policy1234567",
"Statement": [
{
"Sid": "Stmt1234567",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::some-bucket-name/*"
}
]
}
如果存储区和IAM用户位于同一帐户中,那么如果IAM用户具有上述策略,则不需要存储区策略。
您肯定需要基于以下链接的身份策略:
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html