amazon-web-services - AWS 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"
]
}
}
}
这是全局条件键的链接:
解决方案
标签不能与密钥对关联。
我尝试了一些条件,但无法将操作限制为特定的键名。
因此,您似乎无法根据密钥名称限制密钥对的创建。
一些替代方案:
- 使用AWS Service Catalog通过规则预置资源
- 创建某种形式的“前端”,代表他们创建密钥对,遵循某些规则(可以是应用程序,可以使用 Lambda)
推荐阅读
- cassandra - Datastax CE Cassandra 迁移到 Apache Cassandra
- java - 使用 Logback 时出错
- php - 为什么这个 if 语句返回 true?
- angular - Angular CLI - 由于 rxjs 依赖,无法更新 @angular/core
- java - 跟踪失败错误 [solr.tracker.AbstractTracker] [SolrTrackerScheduler_Worker-10]
- c# - UWP C#中第一个项目的组合框绑定
- xml - 输出验证错误:从 Edifact D96A INVOIC 映射到 CDM 时,缺少根元素
- docker - 包含 docker-compose 文件的目录
- python - 如何在谷歌合作实验室上传数据集?
- html - 目录重定向到 HTML 文档不起作用