我正在尝试创建一个策略,在该策略中,用户考试只能访问区域eu-west-1。我试图找到一个解决方案,但没有找到合适的。政策看起来是这样的:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "user_arn",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "eu-west-1"
}
}
}
]
}
但无论我做什么,它似乎都不起作用。
什么是最好的方法,让用户可以做任何他想做的事,但只能在这个地区?
找到解决方案
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "eu-west-1"
}
}
}
]
}
这应该也能工作,但是您只允许对一个区域的EC2进行完全访问。在下面的例子中;拒绝";在以下定义的一个或多个区域之外的任何ec2动作,但是,您没有授予任何特权(它们应该在单独的策略中分配或使用Allow语句。通常,这在AWS组织中用作SCP,a您可以拒绝操作"*",以强制所有用户仅在指定区域创建资源,并拒绝未经授权的区域中的任何API操作。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": "eu-west-1"
}
}
}
]