代码之家  ›  专栏  ›  技术社区  ›  GDP Danny

如何修改Bucket策略以允许根凭据/IAM用户

  •  0
  • GDP Danny  · 技术社区  · 5 年前

    根据以下文件: Restricting Access to a Specific HTTP Referrer ,我已授予对给定域集的访问权限,并按照指示拒绝访问除这些域以外的任何站点。 除了尝试使用根凭据或任何IAM用户执行任何操作外,这一切都很好。

    它接着说:

    此示例防止所有用户(包括根用户) 执行所有Amazon S3操作,包括管理bucket策略。 考虑添加第三个Sid以授予根用户s3:*操作。

    如果删除了Sid#2,它会起作用,但如果是根用户或IAM记录,我看不出有任何方法可以消除这种情况。

    问题是如何“添加第三个sid”。

    很明显,我是AWS许可的新手。我尝试了很多方法来指定这个神奇的“第三个sid”,但很明显我做得不对。我尝试了许多文档的变体,如下面的,但没有运气,也不清楚在策略中在何处/如何授予Root权限。

              {
                    "Sid": "Allow Root All Access",
                    "Effect": "Allow",
                    "Principal": {
                         "AWS":"arn:aws:iam::123456789012:root"
                         "AWS": "123456789012",
                         "CanonicalUser": "57bb2cb8as978f89sreuruapouduasp8udc5ba524fe20eb22853f19088600a67"
                    },
                    "Action": "s3:*",
                    "Resource": "arn:aws:s3:::our-bucket/*"
              }
    

    从示例中实施的策略,确实有效(太好)

    {
         "Version": "2012-10-17",
         "Id": "http referer policy example",
         "Statement": [
              {
                    "Sid": "Allow get requests originating from Our Site.",
                    "Effect": "Allow",
                    "Principal": "*",
                    "Action": "s3:*",
                    "Resource": "arn:aws:s3:::our-bucket/*",
                    "Condition": {
                         "StringLike": {
                              "aws:Referer": [
                                    "http://www.oursite.com/*",
                                    "https://www.oursite.com/*"
                              ]
                         }
                    }
              },
              {
                    "Sid": "Explicit deny to ensure requests are allowed only from specific referer.",
                    "Effect": "Deny",
                    "Principal": "*",
                    "Action": "s3:*",
                    "Resource": "arn:aws:s3:::our-bucket/*",
                    "Condition": {
                         "StringNotLike": {
                              "aws:Referer": [
                                    "*oursite.com/*"
                              ]
                         }
                    }
              }
         ]
    }
    

    提前感谢任何能够提供帮助的人!

    0 回复  |  直到 5 年前
        1
  •  0
  •   Soubhik Mondal    5 年前

    而不是-

    { 
      "Sid":"Allow Root All Access",
      "Effect":"Allow",
      "Principal":{ 
        "AWS":"123456789012",
        "CanonicalUser":"..."
      },
      "Action":"s3:*",
      "Resource":"arn:aws:s3:::our-bucket/*"
    }
    

    请尝试-

    { 
      "Sid":"Allow Root All Access",
      "Effect":"Allow",
      "Principal":{ 
        "AWS":"arn:aws:iam::123456789012:root"
      },
      "Action":"s3:*",
      "Resource":"arn:aws:s3:::our-bucket/*"
    }
    

    我从这里得到了这个格式 link .