当存储桶设置为公共时,IAM用户只能访问S3存储桶

罗伯特

我一直在尝试测试我的第一个lambda函数,但是只有将存储桶策略设置为public时,我才能成功测试它。我只想向我的IAM用户提供访问权限,但是每当尝试这样做时,我都会收到“访问被拒绝”错误。我确认IAM用户确实具有管理员访问权限。

以下是存储区策略中的相关代码段,其中我将Principal设置为IAM用户的ARN,这会导致“访问被拒绝”错误:

"Principal": {
     "AWS": "arn:aws:iam::12_DIGIT_USER_ID:user/adminuser"
}

如下所示,将Principal设置为public可以使lambda成功运行:

"Principal": {
     "AWS": "*"
}

显然,我想避免使用公共存储桶,每个博客帖子和StackOverflow问题的解决方案似乎都是将存储桶策略设置为类似于上面的第一个代码片段,但是我绝对无法弄清楚为什么它对我不起作用。任何帮助将不胜感激。

坎纳延

问题是您在用户和资源权限之间混淆。

您只需要将Resource设置为Resource权限作为策略,将其分配给与lambda.amazonaws.com具有受信任关系的Role,然后将该Role分配给Lambda函数。

在此处输入图片说明

在此处输入图片说明

希望能帮助到你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为多个IAM用户设置S3策略,以使每个人只能访问其个人存储桶文件夹?

如何正确设置IAM执行角色和存储桶策略,以使Lambda写入公共读取S3存储桶?

使用IAM角色从脚本访问S3存储桶

仅授予特定用户对S3存储桶的访问权限,无公共访问权限

如何仅通过VPN连接限制IAM用户对S3存储桶的访问

即使在S3存储桶策略中指定了IAM用户,访问也会被拒绝

如何在Amazon S3存储桶上设置公共只读访问权限?

防止Sagemaker用户访问s3存储桶

AWS S3存储桶加密-存储桶属性设置与存储桶策略设置

从VPC访问S3存储桶

Amazon S3存储桶策略,允许用户写入存储桶,但仅限该存储桶

我可以从boto3获取有关S3存储桶公共访问存储桶设置的信息吗?

通过 amazon s3 sdk for javascript 访问 IAM 角色 S3 存储桶图像

如何使用boto3为IAM用户授予S3存储桶的完全权限?

如何使用IAM策略AWS仅向S3存储桶的根帐户用户授予访问权限?

如何创建只能访问特定S3存储桶的访问密钥

AWS S3:关闭“存储桶阻止公共访问”时,拒绝访问对象

当对象acl是公共的时,如何将S3存储桶策略设置为(大部分)私有?

即使使用存储桶和/或用户策略,也无法在AWS s3存储桶上进行访问

如何从Amazon S3存储桶撤消公共权限

Amazon S3存储桶策略公共

如何确定公共AWS S3存储桶的区域?

通过IP限制对S3存储桶的访问,而不会影响IAM凭据

使用IAM配置文件创建实例后无法访问s3存储桶

以root用户(=存储桶拥有者)在AWS S3存储桶上放置存储桶策略时拒绝访问

IAM用户策略在Amazon S3存储桶上返回403禁止

使用AWS IAM用户角色凭证的AWS S3存储桶API调用:

是否可以在不提供密钥的情况下访问公共AWS S3存储桶?

如何从另一个AWS帐户访问公共S3存储桶?