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



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

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

但是,此条件根本不起作用。 用户可以在不设置任何标签键的情况下创建密钥对。 所以我不知道如何使用"全局条件键"。我确实知道如何用户服务相关条件。 此外,我不明白像密钥对这样的资源,为什么不允许我限制资源使用,例如:测试密钥对*,

"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。

标签不能与密钥对关联。

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

因此,您似乎无法根据密钥名称限制密钥对的创建。

一些替代方案:

  • 使用 AWS 服务目录通过规则预置资源
  • 创建某种形式的"前端",代表他们创建密钥对,遵循某些规则(可以是应用程序,可以使用 Lambda)

相关内容

  • 没有找到相关文章

最新更新