[英]Grant access to third party lambda function to write into my Redshift
[英]allowing a third party application to write to your aws bucket
我有一个问题,我不确定我是否知道答案。 我有一个名为staging
的存储桶,我想授予第三方开发人员(正在构建 webapp)的访问权限,以允许将文件上传到该存储桶中。
这样做的正确方法是什么? 当然,不会泄露我的 aws 秘密?
如果有人能为此指出正确的方向,那就太好了。
您可以使用Staging
S3 存储桶中的Resource Based Policies
来实现它。
将基于资源的策略添加到暂存存储桶,以允许访问开发账户的 IAM 用户/角色。
{ "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor0", "Effect": "Allow", "Principal": { "AWS": "<ARN of IAM User/Role from Dev Account>" }, "Action": [ "s3:GetObject", "s3:PutObject" ] "Resource": "arn:aws:s3:::staging-bucket/*" }] }
接下来,在 Dev 帐户中添加一个 IAM 策略,允许访问 Staging 帐户中的 S3 存储桶。
{ "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ] "Resource": "arn:aws:s3:::staging-bucket/*" }] }
如果您谈论的是第三方应用程序正在上传内容; 一种选择是您可以通过 apigateway 公开 API 以将内容上传到存储桶。 请记住从存储桶权限中删除公共访问权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.