Sat*_*rma 5 amazon-web-services amazon-vpc amazon-iam
我正在尝试将用户限制为单个 VPC。我经历了控制对 Amazon VPC 资源的访问并提出了以下策略,但它不起作用。有人可以指出其中的错误吗?
我应该提到,在我在模拟设置中的条件键下设置 VPC ARN 后,IAM 策略模拟器似乎认为该策略很好。
(我已在我的策略中用实际值替换了区域、帐户和 vpc-id。)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:*Vpc*",
"ec2:*Subnet*",
"ec2:*Gateway*",
"ec2:*Vpn*",
"ec2:*Route*",
"ec2:*Address*",
"ec2:*SecurityGroup*",
"ec2:*NetworkAcl*",
"ec2:*DhcpOptions*",
"ec2:RunInstances",
"ec2:StopInstances",
"ec2:StartInstances",
"ec2:TerminateInstances",
"ec2:Describe*"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-id"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
您很可能需要按照示例5.在控制对 Amazon VPC 资源的访问中将实例启动到特定 VPC 中的方式重新编写IAM 策略:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:region:account:subnet/*",
"Condition": {
"StringEquals": {
"ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-1a2b3c4d"
}
}
},
...
]
}
Run Code Online (Sandbox Code Playgroud)
也就是说,可用资源(及其粒度)特定于每个 API 操作,因此对于当前示例,RunInstances适用于特定子网中的 EC2 资源,而这又是 VPC 的一部分;因此,您需要定位子网,但可以通过如上所述的IAM 策略条件ec2:Vpc通过其属性进一步限制可能的子网集。
| 归档时间: |
|
| 查看次数: |
17290 次 |
| 最近记录: |