未经身份验证的cognito角色用户的Amazon S3存储桶权限

 mobiledu2502853397 发布于 2022-12-14 20:47

我在Amazon Cognito Identity pool下设置了未经身份验证的角色.我的目标是我的移动应用程序的访客用户能够将调试日志(小文本文件)上传到我的S3存储桶,以便我可以解决问题.我注意到如果我不修改我的S3存储桶权限,我会从S3获得"拒绝访问".如果我添加允许"Everyone"具有"上传/删除"权限,则文件上载成功.我担心的是,有人会将大文件上传到我的存储桶并导致安全问题.上面我需要的推荐配置是什么?我是S3和Cognito的新手.

我正在使用适用于iOS的Amazon AWS SDK,但我认为这个问题是平台中立的.

编辑:我的政策如下:

    {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:GetUser",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:DeleteObject",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": ["arn:aws:s3:::import-to-ec2-*", "arn:aws:s3:::/*"]
    }
  ]
}

Bob Kinney.. 5

您不需要修改S3存储桶权限,而是需要修改与身份池关联的IAM角色。请尝试以下操作:

    访问IAM控制台。

    查找与您的身份池关联的角色。

    将类似于以下内容的策略附加到您的角色中: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": ["arn:aws:s3:::MYBUCKET/*"] } ] }

    MYBUCKET用您的存储桶名称替换

    使用iOS SDK和Cognito从应用程序正常访问存储桶

您可能需要考虑进一步限制权限,包括${cognito-identity.amazonaws.com:sub}对用户进行分区,但是以上策略将使您入门。

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有