当前,我们正在将应用程序文档存储到我们自己的文件共享中。我们还将这些文档发送到接口合作伙伴应用程序(共享文件路径),并且它们使用标准I / O操作读取其应用程序中的文件内容。我们已决定将文件从自己的文件共享移至AWS S3。我们已决定使用AWS Lambda服务来将文档读写到AWS S3。
问题陈述。 我们需要两种类型的访问权限,一种具有完全的读/写访问权限,另一种仅具有只读访问权限。我们要使用两种方法Get和Post公开单个WEB API URL。我们如何在这种架构中实现身份验证和授权。
我们不想授予对接口合作伙伴的完全访问权限,因为这样做存在安全风险,并且他们无权在我们的应用程序存储桶中获得完全访问权限。
答案 0 :(得分:0)
您可以使用角色创建一个IAM用户,并根据需要对其进行限制。
https://aws.amazon.com/blogs/security/how-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/ https://docs.aws.amazon.com/AmazonS3/latest/dev/walkthrough1.html
{
"Id": "bucketPolicy",
"Statement": [
{
"Action": "s3:*",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::78343:user/alloweduser"
]
},
"Resource": [
"arn:aws:s3:::test",
"arn:aws:s3:::test/*"
]
}
],
"Version": "2012-10-17"
}