AWS IAM:如何使用全局条件键创建条件

时间:2018-05-08 00:45:38

标签: amazon-web-services amazon-iam

我想创建一个策略,以便用户只能创建名为“test-key-pair *”的EC2密钥对,而不是任何其他名称的密钥对。但看起来没有这样的方式。

事实上,当我使用EC2:CreateKeyPair操作创建策略时,它会显示“您选择的操作支持所有资源。”。但我确实想设置一些限制。所以我点击“请求条件”,它显示了一些“全局条件键”的列表,例如aws:TagKeys。 我为EC2创建了以下条件:CreateKeyPair。我的理解是在这种情况下,当用户创建密钥对时,只有当他设置标签密钥CostCenter和标签密钥部门时,他才能创建密钥对,否则,他不能。

但是,这种情况根本不起作用。用户可以创建密钥对而无需设置任何标记密钥。所以我不知道如何使用“全局条件键”。我知道如何用户服务相关的条件。 另外,我不了解像密钥对这样的资源,为什么我不允许使用如下的限制资源:test-key-pair *,

"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": "ec2:CreateKeyPair",
        "Resource": "*",
        "Condition": {
            "ForAllValues:StringEquals": {
                "aws:TagKeys": [
                    "CostCenter",
                    "Department"
                ]
            }
        }
    }

以下是全局条件键的链接:

https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys

1 个答案:

答案 0 :(得分:1)

标签不能与密钥对相关联。

我尝试了一些条件,但我无法将操作限制为特定的Keyname。

因此,看起来您不能基于密钥名称限制KeyPair创建。

一些替代方案:

  • 使用AWS Service Catalog使用规则
  • 配置资源
  • 创建某种形式的“前端”,代表他们创建密钥对,遵循某些规则(可能是应用,可以使用Lambda)