我已经尝试过了,但在IAM策略模拟器上失败了
从AWS文档中获取此策略。
{
"Version": "2012-10-17",
"Statement":[{
"Effect":"Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress",
"ec2:RevokeSecurityGroupEgress"],
"Resource": "arn:aws:ec2:us-east-1:Account-Number:security-group/*",
"Condition": {
"StringEquals": {
"ec2:Vpc": "arn:aws:ec2:us-east-1:Account-Number:vpc/vpc-id"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:DescribeSecurityGroups",
"Resource": "*"
}
]
}
我已经通过IAM策略模拟器成功测试了引用的IAM策略-尽管策略模拟器可能非常挑剔/棘手,我也花了几次尝试才把它做好,以下是需要注意的:
- 显然,您需要将策略中的帐号和vpc id替换为AWS帐户中的实际值-大概您已经这样做了
- 由于您已经为特定的资源
arn:aws:ec2:us-east-1:Account-Number:security-group/*
创建了策略,因此需要确保在模拟设置中也输入与Resource
值相同的亚马逊资源名称(ARN) - 类似地,由于您创建了一个具有特定条件的策略,模拟器要求在模拟设置中输入
ec2:Vpc
条件键的值-您需要确保在此处输入完整的ARN作为值,而不仅仅是VPC id本身,即类似arn:aws:ec2:us-east-1:Account-Number:vpc/vpc-12345678
而不仅仅是vpc-12345678
感谢您的回复。我想我在模拟器上做错了什么,因为我在CLI上运行了一个命令,它确实按此策略的预期工作。我试着更新这个问题,但由于我是这个论坛的新手,我必须等8个小时才能回答我自己的问题。