AWS 存储桶策略错误:策略具有无效操作

2023-12-24

我有一个非常基本的目标:将我的存储桶中的所有内容共享给特定用户列表,只读。这曾经与名为 s3cmd 的工具一起使用。我需要做的就是将用户(通过电子邮件标识)添加到Access Control List with Read Permission,并且他们可以顺利地列出或下载数据。

但最近,这个突然不行了。系统只是拒绝任何访问我的存储桶的尝试。

然后我开始考虑编辑存储桶策略。这是我的政策草案,由政策生成器生成(敏感信息已匿名):

    {
      "Id": "Policy123456789",
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "Stmt1512705836469",
          "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:ListObjects"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::mybucketname",
          "Principal": {
            "AWS": [
              "arn:aws:iam::anotheruserid:user/admin"
            ]
          }
        }
      ]
    }

当我点击save,我得到一个“政策的操作无效“错误。然后我尝试删除”列表对象“所以政策就变成了

    {
      "Id": "Policy123456789",
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "Stmt1512705836469",
          "Action": [
            "s3:GetObject",
            "s3:ListBucket"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::mybucketname",
          "Principal": {
            "AWS": [
              "arn:aws:iam::anotheruserid:user/admin"
            ]
          }
        }
      ]
    }

并收到另一条错误消息“操作不适用于语句中的任何资源".

这两个错误对我来说没有意义。如果我错了,请纠正我。如果我的方向不对,请帮助我。

顺便说一句:我尝试按照教程进行操作http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html但没有成功。通过使用以下存储桶策略:

    {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Sid": "Example permissions",
             "Effect": "Allow",
             "Principal": {
                "AWS": "arn:aws:iam::AccountB-ID:root"
             },
             "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
             ],
             "Resource": [
                "arn:aws:s3:::examplebucket"
             ]
          }
       ]
    }

使用 Account 的 aws cli 执行时收到错误消息“aws s3 ls s3://examplebucket".
错误消息是“调用ListObjects操作时发生错误(AccessDenied):访问被拒绝".

这让我很困惑。如果我添加列表对象,我得到了一个"invalid" error.
如果我删除“列表对象”,另一个用户无法读取我的存储桶内容。

我应该怎么办?


我怀疑政策编辑器在执行操作时变得更加聪明在桶上相对于桶内.

Also, ListObjects看起来很不高兴,所以把它去掉。

此策略允许列出存储桶的内容并检索对象:

{
    "Id": "Policy1",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket",
                "arn:aws:s3:::my-bucket/*"
            ],
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/user-name"
            }
        }
    ]
}

ListBucket对 Bucket 进行操作。

GetObject运行于contents一个桶的。

它可以在策略中编写为两个单独的语句(一个关于存储桶,一个关于存储桶的内容),但按上面的方式编写通常更容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS 存储桶策略错误:策略具有无效操作 的相关文章

随机推荐

  • 按钮 ControlTemplate 和圆角

    我有一个按钮控制模板 我想制作带有圆角的按钮 我该怎么做 我尝试使用 CornerRadius 作为边框中的按钮 但它不起作用 按钮的背景已设置为具有角边框的图像 并且按钮看起来很尴尬 因为我无法设置按钮的角 请尝试以下操作
  • Flexbox的align-self属性没有转换?

    我尝试创建一个吗啡 按钮 它可以在另一个菜单上滑动 这个想法是基于 Codrops变形按钮概念 http tympanus net Development ButtonComponentMorph index5 html 现在已经差不多设置
  • 结构体中变量名前的点是什么意思?

    查看linux内核源代码 我发现了这一点 static struct tty operations serial ops open tiny open close tiny close write tiny write write room
  • Python 中循环链表的帮助

    我正在尝试制作一个循环单链表 我希望能够修改我的代码以获得单一喜欢的列表 但我遇到了一些麻烦 对于我的链接列表 我有 class Link object def init self data next None self data data
  • 在运行时获取 RecyclerView 子视图的高度

    我正在尝试制作一个可扩展的 TextView 当用户按下按钮时它会展开 折叠 TextView 和 ImageButton 位于 CardView 中 该 CardView 添加到 RecyclerView 中 展开 折叠效果很好 但现在我
  • ViewPager2 崩溃

    我正在将高级导航组件与 BottomNavigationView 一起使用 In one tab我有ViewPager2 当我第一次单击该选项卡时 效果很好 尽管第二次 来吧 该选项卡应用程序不断崩溃 下面是崩溃日志 我怎样才能解决这个问题
  • 按下后退按钮时提示用户

    哪个是询问用户单击后退按钮时是否要退出应用程序的好地方 我考虑过onPause and onStop 但是只要应用程序落后于其他应用程序 这些方法就会触发 更新 应用程序还应该询问用户是否尝试通过按钮 在应用程序本身中 退出应用程序 而不是
  • 提取第二层嵌套字典中的所有键

    我想提取 2d 字典第二级中的所有键 但 python 解释器返回 NameError 我的预期结果是 aa bb cc aaa bbb ccc gt gt gt adict defaultdict
  • 在c#中如何检查文件是否正在使用? [复制]

    这个问题在这里已经有答案了 如何检查我正在处理的 Excel 文件 操作其数据 删除它或覆盖它 是否正在被另一个程序使用 以及如何从中释放它 请指导我使用 C 尝试用 用于写作 的标志打开 如果失败 该文件将被其他进程 获取 FileStr
  • 使用 JQuery 发布 JSON 并设置 HTTP 内容类型 - 'application /json'

    我正在使用 jquery 将 Json 数据发布到服务器 但是 当我发出如下的帖子请求时 ajax type POST url uri data jsonStrJson contentType application json succes
  • 从剪贴板(从 Excel 粘贴)获取包含重音字符的 CSV 数据

    SCENARIO 我的用户将从 Excel 复制单元格 从而将其放入剪贴板 我的应用程序将从剪贴板检索这些单元格 问题 我的代码从剪贴板检索 CSV 格式 但是 如果原始 Excel 内容包含像 带变音符号的字符 这样的字符 则检索到的 C
  • 如何将对象传递到 Thymeleaf 中的模式对话框?

    我有一个thymeleaf在表中显示数据库内容 人员 的页面 tr td td td td td td td td tr
  • 使用反射时如何确定方法是否返回动态类型?

    使用反射时 可以检查字段 属性 索引器和参数的 DynamicAttribute 属性 以确定它们是否具有动态类型 但是 这不适用于方法 即使它们返回 动态 但它们没有属性 并且返回类型是 对象 并且也没有属性 Visual Studio
  • MySQL 上的死锁与锁等待超时 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 谁能详细解释一下 MySQL 5 1 上发现的死锁和锁等待错误的区别 难道只是一样吗 什么时候会发生死锁错误 什么时候会发生lockwait超时 A
  • 是否可以将方法参数传递给方法上的注释?

    假设我们有这个带有注释的方法 Cached key search id public static List
  • 函数引用:预期的绑定生命周期参数,找到的具体生命周期[E0271]

    关于这个主题已经有很多线程 但我无法看到讨论的问题是否适用于我的特定问题 我有一个存储 a 的结构name and a callback功能 剥离到问题看起来像这样 pub struct Command lt a gt name a str
  • 如何使用ios图表设置x轴标签

    我最近开始使用 ios 图表库 但无法找到有关如何使用 swift3 更新操作 x 轴的信息 我想要做的是用时间值标记 x 轴 例如2 03 00 2 03 01 2 03 02等 在我在网上找到的教程中 这似乎很容易 其中许多使用一年中的
  • Selenium 支持无头浏览器测试吗?

    我现在正在查看 Selenium Server 我似乎没有注意到支持无头浏览器测试的驱动程序 除非我弄错了 否则它不支持 如果您使用的是 X 您可以创建一个虚拟帧缓冲区来隐藏浏览器窗口 但这并不是真正的无头浏览器 谁能启发我吗 Seleni
  • 在选择时更改 Android ListView 文本的文本颜色

    我不明白我做错了什么 我有一个带有自定义layout xml 文件的ListView 在那里 我定义了一个像这样的 TextView
  • AWS 存储桶策略错误:策略具有无效操作

    我有一个非常基本的目标 将我的存储桶中的所有内容共享给特定用户列表 只读 这曾经与名为 s3cmd 的工具一起使用 我需要做的就是将用户 通过电子邮件标识 添加到Access Control List with Read Permissio