我们正在与 AWS 实施基于 SAML 的联合以访问 S3 存储桶。
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html
这种方法存在安全漏洞。如果我们做 STS:AssumeRole,任何人都可以调试,获得 SAML Assertion 并使用它来生成他自己的 Temporary Access Keys。因此,我们将密钥生成过程移至服务器端(使用 STS Java SDK)以在服务器端获取密钥。无论如何,我们无法通过 IP 检查限制 STS 调用,因此 STS 调用只能从我们的服务器(或 DP)有效。
我如何编写 IAM 策略以确保除了注册 IP 之外没有人可以从任何地方调用任何安全令牌服务 (sts:*)?我应该将此政策附加到哪个实体?(角色?)
我在 IAM 尝试了所有可能的策略组合,但没有任何成果。而且我不能完全限制 STS 服务(我可以针对特定地区做,但全球 STS 服务将始终处于活动状态)
我只是不明白为什么亚马逊会让 STS 对任何人开放。
提前致谢...