【问题标题】:AWS IAM: Adding "exeption" for identity-based policyAWS IAM:为基于身份的策略添加“例外”
【发布时间】:2020-10-21 15:55:09
【问题描述】:

AWS documentation 之后,我向我的组 admin 附加了一项策略,以强制该组的权限仅适用于启用了 MFA 的用户

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "BlockMostAccessUnlessSignedInWithMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:DeleteVirtualMFADevice",
                "iam:ListVirtualMFADevices",
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice",
                "iam:GetAccountSummary",
                "sts:GetSessionToken"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}

我的问题是我有一个机器人(我们称之为 arn:aws:iam::12345678:user/my-bot),它是 admin 的一部分组并且它没有启用 MFA。到目前为止我想到了这两个选项

  1. 将我的机器人放在不存在 EnforceMFA 策略的不同组中(重复代码)
  2. 不知何故为机器人启用 MFA(虽然我不喜欢那个选项)

有没有一种方法可以在我的 EnforceMFA 策略中添加一个例外/条件,即“对于这个特定用户,不要应用此拒绝”)

提前致谢

【问题讨论】:

    标签: amazon-web-services amazon-iam aws-policies


    【解决方案1】:

    您可以为您的机器人用户创建一个标签并添加另一个条件,标记您的服务帐户以识别它。

    {
       "Condition": {
          "Bool": {
                        "aws:MultiFactorAuthPresent": "false"
                    },
          "StringNotEqual": {
                "iam:ResourceTag/type": "bot"
          }
       }
    }
    
    

    另外创建一个拒绝更改用户标签的策略。

    如果您只想排除特定用户,您可以使用aws:PrincipalArn 全局条件您的策略对除指定用户之外的所有用户应用拒绝:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html

    与 StringNotEqual 结合使用即可!

    【讨论】:

    • 感谢您的回答。你知道我是否可以做类似的事情,但使用用户的 id/name 而不是分配给用户的标签?
    • 我在回答中包含了一个解决方案
    • 抱歉误解了你的问题。再次编辑答案;)
    • 感谢您的留言。我最终要做的是,尽管我仍在测试它是否是一个有效的解决方案:"Condition": { "Bool": { "aws:MultiFactorAuthPresent" : "false" }, "StringNotEquals" : { "aws:username" : "my-bot" } }
    • 也是一种有效的方法。 PrincipalArn 更通用。
    猜你喜欢
    • 1970-01-01
    • 2016-12-17
    • 2016-01-17
    • 2019-08-06
    • 2014-05-02
    • 2019-01-26
    • 2016-05-15
    • 2016-06-05
    • 2019-07-07
    相关资源
    最近更新 更多