【问题标题】:AWS IAM: How to restrict PowerUser permissionsAWS IAM:如何限制 PowerUser 权限
【发布时间】:2018-12-06 23:18:39
【问题描述】:

假设我有一个附加到 AWS 的托管策略 PowerUserAccess 的角色:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "NotAction": [
                "iam:*",
                "organizations:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:DeleteServiceLinkedRole",
                "iam:ListRoles",
                "organizations:DescribeOrganization"
            ],
            "Resource": "*"
        }
     ]
}

这意味着它将允许所有内容,但不允许 "iam:*" 和 "organizations:*" 但它对 iam 和组织有一些限制权限。

我想附加一个额外的自定义策略来限制角色的 cloudtrail 权限,以便只允许少数 cloudtrail 列表/读取访问权限。那么我应该如何执行这个政策呢? 我应该按如下方式创建第二个策略吗?

{
  "Version": "2012-10-17",
  "Statement": [
    {
    "Effect": "Deny",
     "Action": [
      "cloudtrail:*",
      ],
      "Resource": [
         "*"
      ]
    },
    {
    "Effect": "Allow",
    "Action": [
      "cloudtrail:<a few read actions>",
      "cloudtrail:<a few list actioms>"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    显式拒绝胜过所有其他策略,因此上述将拒绝所有 cloudtrail 访问。

    您只需要拒绝您不希望用户拥有的政策。

    AWS 决策树可以在here找到

    【讨论】:

    • 谢谢克里斯,你的意思是拒绝具有最高优先级,所以在第二个策略中我只需要拒绝我想要的东西。会试试的,
    • 对。一旦您输入拒绝,其他任何事情都不重要 - 拒绝生效。由于如果未指定任何内容,则也假定为拒绝,因此您只需要允许您想要启用的调用。
    【解决方案2】:

    如果您的用户拥有PowerUserAccess,那么您需要为他们提供其他政策,如上所示。

    第二个策略中的Deny 将覆盖PowerUserAccess 中的Allow。

    或者,您可以创建一个新策略,而不是使用PowerUserAccess,从而为他们提供您想要的权限(有效地将两者结合起来)。

    【讨论】:

    • 感谢 John,我必须将它们保存在 PowerUser 中,因为这不是我能确定的 :-)
    猜你喜欢
    • 2021-08-13
    • 2022-08-18
    • 1970-01-01
    • 2019-04-18
    • 2021-01-03
    • 1970-01-01
    • 2021-11-26
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多