amazon-web-services - 拒绝将现有实例升级到某些 ec2 实例类型的 IAM 策略
问题描述
我一直在尝试创建一个 IAM 策略,拒绝用户修改超出特定大小的实例类型。例如,如果用户想要将 t3a.micro 的 ec2 实例修改为 t3a.small,则应该允许他们。但是出于节省成本的原因,他们应该被拒绝修改增加一个实例来假设 *.large 实例类型。
这可能吗?
我一直在尝试为 ec2:ModifyInstanceAttribute 提出一个条件,但似乎无法理解。
这是我的政策,但它只不允许根据当前类型更改实例,而不是目标类型。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "LimitEC2policy",
"Effect": "Deny",
"Action": [
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:ModifyInstanceAttribute"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"ForAnyValue:StringNotLike": {
"ec2:InstanceType": [
"*.nano",
"*.small",
"*.micro",
"*.medium"
]
}
}
}
]
}
解决方案
AWS Support 的回答是这是不可能的,因为 ec2:InstanceType 按当前运行的实例类型进行过滤。因此无法按目标类型进行过滤。
推荐阅读
- flutter - Flutter - AlertDialog 弹出但不显示其内容
- reactjs - 是否有支持 react.js 的编辑 pdf 字段、创建表单和提交的工具?
- asp.net-core - 如何重新启动 Hangfire 服务器,或停止它并启动一个新服务器,以更改它正在处理的队列?
- postgrest - GET 方法错误地使用 volatile PostgREST RPC 函数?
- python - 为什么我不能在设置深度方向的字母后使用 tensorflow 2.3.1 加载模型权重
- jenkins-pipeline - 如何从 Jenkins 访问远程 Windows 文件系统
- java - 更改 Liquibase - 找不到数据库驱动程序:com.mysql.cj.jdbc.Driver
- powerbi - Power BI:需要计算最近 3 个月的 MTD 销售额
- django - 如何更新主键,外键指向什么,没有“ON UPDATE CASCADE”
- reactjs - Formik 不会将值更新为 IonSelect 标签