【发布时间】:2019-06-17 14:11:25
【问题描述】:
我在 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 表的访问权限。
为了实现基于区域的分离,我在 accountA 中有 IAM 角色,格式为 crossAccountTrustedRole-。流程是这样的,accountB 在 us-east-1 中操作时,它会承担名称为 crossAccountTrustedRole-us-east-1 的角色并访问数据。
现在在假设角色策略文档中,我将可信实体作为整个帐户本身。我不想专门陷入将其范围缩小为角色的痛苦。我想要安全,这样区域 us-west-2 中的 accountB 不能在 accountA 中担任名称 crossAccountTrustedRole-us-east-1 的角色。阅读那篇文章使我认为现在在技术上是可行的。我在想我可以编写一个 IAM 策略来限制假设角色 API 调用,以使请求的区域与传入请求的区域相同。
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": "*",
"Condition": {"StringEquals": {"aws:RequestedRegion": "eu-central-1"}
}
这可能吗?或者以前有人试过吗?
【问题讨论】:
-
是的,这是可能的。是什么让您对此感到怀疑?
-
IAM 角色没有任何区域化,而是全球性的。所以我不确定这是否适用于这种情况。
标签: amazon-web-services amazon-iam aws-iam