我正在阅读AWS博客上的文章,该文章涉及按区域限制权限-https://aws.amazon.com/blogs/security/easier-way-to-control-access-to-aws-regions-using-iam-policies/。
我具有以下设置-帐户A和帐户B。
帐户A在多个区域中具有DynamoDB全局表的集合。 帐户B基本上在帐户A中扮演角色,以获得对这些DynamoDB表的访问。
为了具有基于区域的分隔,我在crossAcountTrustedRole-格式的accountA中具有IAM角色。流程如下:accountB在us-east-1中运行时,它将承担名为crossAccountTrustedRole-us-east-1的角色,并访问数据。
现在,在承担角色策略文档中,我将受信任实体设为整个帐户本身。我不想专门将其范围缩小为一个角色。我需要安全性,以使地区us-west-2中的accountB不能在accountA中承担名称crossAccountTrustedRole-us-east-1的角色。阅读该文章使我认为现在从技术上讲可以做到这一点。我当时在想我可以编写一个IAM策略,以限制authenticRole API调用,使请求的区域与传入请求的区域相同。
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": "*",
"Condition": {"StringEquals": {"aws:RequestedRegion": "eu-central-1"}
}
这可能吗?还是以前有人给过这个镜头?
答案 0 :(得分:0)
我当时想我可以写一份IAM政策来限制 假设API调用使请求的区域为同一区域 作为传入请求。
否,您不能基于区域将IAM策略应用于用户/组-IAM用户没有区域。您可以将基于区域的IAM策略应用于资源。 Lambda,S3,EC2等资源。
区域条件的目的是防止或控制在何处创建/管理资源。您可以阻止用户在美国创建资源,阻止用户在欧洲删除资源,等等。