AWS IAM:如何使用全局条件键创建条件
Posted
技术标签:
【中文标题】AWS IAM:如何使用全局条件键创建条件【英文标题】:AWS IAM: how to create a condition using global condition keys 【发布时间】:2018-05-08 00:45:38 【问题描述】:我想创建一个策略,以便用户只能创建名称为“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.
【问题讨论】:
能否请您说明(用文字)您希望为 Amazon Athena 中的用户授予/拒绝哪些权限? John Rotenstein:感谢您的回复,我的问题不是关于 Athena,而是关于如何使用条件限制权限以及如何使用 TagKeys。我已经重写了原始帖子以使我的问题更清楚。 【参考方案1】:标签不能与密钥对关联。
我尝试了几个条件,但我无法将操作限制为特定的键名。
因此,您似乎无法根据密钥名称限制密钥对的创建。
一些替代方案:
使用AWS Service Catalog 提供资源,并附有规则 按照特定规则创建某种形式的“前端”,代表他们创建密钥对(可以是应用程序,可以使用 Lambda)【讨论】:
嗨,John Rotenstein,感谢您尝试并回答我。我将尝试 AWS Service Catalog。很高兴知道这一点。以上是关于AWS IAM:如何使用全局条件键创建条件的主要内容,如果未能解决你的问题,请参考以下文章
如何限制 AWS IAM 组访问 AWS Secret Manager?
AWS IAM-如何禁止用户通过控制台进行更改,但允许通过CLI更改API
如何根据 IAM 角色 CloudFormation 模板中的参数提供不同的条件