我试图根据在实例上使用密钥对名称来限制修改实例的能力。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances",
"ec2:TerminateInstances"
],
"Condition": {
"StringEquals": {
"arn:aws:ec2:us-east-1:ACCTNUMBER:key-pair": “keyPairName"
}
},
"Resource": "arn:aws:ec2:us-east-1:ACCTNUMBER:instance/*",
"Effect": "Allow"
}
]
}
但由于某种原因,这不起作用。有人可以提供一个如何做到这一点的简单示例吗?或者更好,这甚至可能吗?
答案 0 :(得分:0)
为aws策略提供密钥对的语法如下:
library(data.table)
setDT(d)
d[, i := seq_len(.N)]
d[, led_zero := shift(SALE_PRICE, type = "lead") == 0]
d_duped = d[(led_zero)][, i := i + 1.5]
d_out = rbind(d, d_duped)
d_out[order(i)]
# WEEK PRICE QUANTITY SALE_PRICE i led_zero
# 1: 4992 3.49 1908.750 0.00 1.0 FALSE
# 2: 4999 2.50 5681.000 2.50 2.0 FALSE
# 3: 5001 3.00 3187.000 3.00 3.0 TRUE
# 4: 5002 3.49 1455.000 0.00 4.0 FALSE
# 5: 5001 3.00 3187.000 3.00 4.5 TRUE
# 6: 5008 2.69 2263.500 2.69 5.0 TRUE
# 7: 5011 3.49 1515.500 0.00 6.0 FALSE
# 8: 5008 2.69 2263.500 2.69 6.5 TRUE
# 9: 5013 2.69 3297.000 2.69 7.0 TRUE
# 10: 5015 3.49 1059.500 0.00 8.0 FALSE
# 11: 5013 2.69 3297.000 2.69 8.5 TRUE
# 12: 5023 2.50 6056.000 2.50 9.0 FALSE
# 13: 5024 3.00 1954.500 3.00 10.0 TRUE
# 14: 5026 3.49 1163.833 0.00 11.0 FALSE
# 15: 5024 3.00 1954.500 3.00 11.5 TRUE
# 16: 5037 2.50 6797.000 2.50 12.0 FALSE
# 17: 5038 3.00 2109.000 3.00 13.0 FALSE
# 18: 5040 2.50 4521.000 2.50 14.0 FALSE
# 19: 5041 3.33 2469.000 3.33 15.0 NA
尝试更改您的策略以使用以下语法,也许它可以解决问题。 有关arn语法的更多信息可以在以下链接中找到 - http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
此外,尝试使用策略生成器并验证策略,这也有助于这些情况。 祝你好运。
答案 1 :(得分:0)
经过更多研究后更新。根据Yodan建议,我看了一下策略生成器。
简答:不可能。使用策略生成器,我获得了ec2资源的可能条件密钥的列表。 Condition Keys in Policy Generator
能够拥有密钥对条件会很好。