我想创建一个策略,以便用户只能创建名为“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"
]
}
}
}
以下是全局条件键的链接:
答案 0 :(得分:1)
标签不能与密钥对相关联。
我尝试了一些条件,但我无法将操作限制为特定的Keyname。
因此,看起来您不能基于密钥名称限制KeyPair创建。
一些替代方案: