基于密钥对名称在资源上创建条件

时间:2016-03-15 20:37:35

标签: amazon-web-services amazon-iam

我试图根据在实例上使用密钥对名称来限制修改实例的能力。

{
    "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"
        }
    ]
}

但由于某种原因,这不起作用。有人可以提供一个如何做到这一点的简单示例吗?或者更好,这甚至可能吗?

2 个答案:

答案 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

能够拥有密钥对条件会很好。